河北大学,计算机组成原理,实验报告,CPU乘法器
实验报告
实验题目:乘法器 姓名:闫盼蛟 学号:2009432017
一. 实验目的
理解并掌握乘法器的原理 二. 实验原理
1.有符号数乘法——Booth乘法器 Booth算法是一个更有效的计算有符号数乘法的算法,算法的新颖之处在于减法也可以用于计算乘积。假定2(10)×6(10),或者说0010B×0110B:
Booth发现加法和减法可以得到同样的结果。Booth算法的关键在于把1分类为开始、中间、结束3种。如图:
1的结束 1的中间 1的开始
当然一串0的时候加法减法都不做。因此,总结1的分类情况有4种。如下表:
Booth算法是根据乘数的相邻2位来决定操作,第一步根据相邻2为的4中情况来进行加或减操作,第二步仍然是将积寄存器右移。算法描述如下: (1)根据当前位和其右边的位,做如下操作。
00:0的中间,无任何操作
01:1的结束,将被乘数加到积的左半部分 10:1的开始,积的左半部分减去被乘数 11:1的中间,无任何操作 (2)将积寄存器右移一位。 需要注意的是,因为Booth乘法器实有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移,不像前面的算法逻辑右移就可以了。 三. 实验代码 LIBRARY IEEE;