第9节 硬件乘法器
硬件乘法器,其基础就是加法器结构,它已经是现代计算机中必不可少的一部分。如下所示,乘法器的模型就是基于“移位和相加”的算法。在该算法中,乘法器中每一个比特位都会产生一个局部乘积。第一个局部乘积由乘法器的LSB产生,第二个乘积由乘法器的第二位产生,以此类推。如果相应的乘数比特位是1,那么局部乘积就是被乘数的值,如果相应的乘数比特位是0,那么局部乘积全为0。每次局部乘积都向左移动一位。
该特例子可以用更普遍的方式来表示,如左下图所示。每个输入,局部乘积数,以及结果都被赋予了一个逻辑名称,而这些名称在电路原理图中就作为了信号名称。在原理图的乘法例子中比较信号名称,就可以找到乘法电路的行为特性。
该特例子可以用更普遍的方式来表示,如左下图所示。每个输入,局部乘积数,以及结果都被赋予了一个逻辑名称,而这些名称在电路原理图中就作为了信号名称。在原理图的乘法例子中比较信号名称,就可以找到乘法电路的行为特性。

在上面的电路中,乘数中的每一位都要和被乘数的每一位相与,并产生其相应的乘积位。这些局部乘积要馈入到全加器的阵列中(合适的时候也可以用半加器),同时加法器向左移位并表示出乘法结果。最后得到的乘积项在CLA电路中相加。注意,某些全加器电路会将信号带入到进位输入端(用于替代邻近位的进位)。这就是一种全加器电路的应用;全加器将其输入端的任何三个比特相加。你可以自己做一些练习来理解怎样用加法器阵列和CLA电路来产生正确的局部乘积的和。在实验项目中,你要搭建出乘法器电路。
随着乘数和被乘数位数的增加,乘法器电路中的加法器位树也要相应的增加。通过研究CLA电路的特性,也可以在乘法器中开发出更快的加法阵列。


