原码一位乘法器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、原码一位乘法器
一、引言
在计算机组成原理知识教学过程中,关于二进制乘法运算是一个较难理解的环节,其中又以“定点原码一位乘法算法”是最基础的,针对这一算法设计实验方案,为学员提供实践环境,对深入理解这一问题、以及进一步的学习其他乘法乃至除法算法都十分重要。
二、定点原码一位乘法算法
两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。例如:
[X]原=X0X1X2…Xn,X0为符号
[Y]原=Y0Y1Y2…Yn,Y0为符号
则[X·Y]原=(X0⊕Y0)|(X1X2…Xn)·(Y1Y2…Yn),符号“|”表示把符号和数值邻接起来。
在计算时,符号位和数值位分别进行计算。对于数值位,逐次按乘数每一位(从低位到高位)上的值是1还是0,决定一个相加数或者是被乘数或者是0,并向左偏移一位去加上次计算得到的和(它又被称为部分积,其初值为0),如此进行乘数位数次,最终得到乘积。在此需要注意的是:“相加数向左偏移一位后求和”和“上次计算得到的和向右偏移一位后求和”两种求和的方法是等效的,设计乘法器时采用后一种方法,其目的是寻求部份积与乘数移位方向的一致性。
例如X的值为1101,Y的数值为1011,求X·Y数值的过程如下:
三、定点原码一位乘法器的逻辑结构
根据以上算法,设计定点原码一位乘法器的逻辑结构如下图所示:
其中n位寄存器S1n称为部分积寄存器,初值为0,计算结束时寄存乘积高位;一位寄存器S0用以寄存乘积符号;n+1位寄存器Y0n称为被乘数寄存器;n位寄存器X1n称为乘数寄存器,初值为乘数,计算结束时寄存乘积低位;一位寄存器X0用以寄存乘数符号。
控制信号Scr用于S1n清零,低电平有效;Scp用于S1n的触发,上升沿有效;S0cp用于S 0的触发,上升沿有效,X0cp用于X0的触发,上升沿有效,并且乘法器运行时,要求先产生X 0cp,然后再产生S0cp,所以这两个信号正好应用一个正脉冲的两个边沿;Xcp用于X1n的触发,上升沿有效;Ycp用于Y0n的触发,上升沿有效;Isc用于控制X1n是选择开关组值作输入还是选择移位的部分积作输入。
另外,寄存器X1n的最低位Xn采用“与”运算用于控制输入加法器一端的是被乘数还是0,所以为了防止发生不可预期的连加,Scp和Xcp必须是单稳态边沿触发信号。
应用该电路实现定点原码一位乘法的计算过程如下:
1)利用n+1位开关组使用Ycp初始化被乘数寄存器Y0n
为被乘数Y。
2)利用n+1位开关组使用X0cp、Xcp始化乘数寄存器X
0、X1n为乘数X。
3)使用S0cp令S0保存结果符号。
4)使用Scr把部分积寄存器S1n清零。
5)同时发送Scp、Xcp信号n次后得到计算结果。
6)停止。
开关组K0…Kn和LED组伴随计算的进行分别用以输入被乘数、乘数以及显示部分积的变化情况以及最终结果。
四、定点原码一位乘法器的控制电路
由于以上乘法器电路较复杂,使用过程中所需控制信号较多,操作控制较麻烦的特点,另外设计专门的控制电路为进一步验证其功能带来方便,同时也使这一设计方案自成体系,构成一
个完整的应用系统。
该控制电路的输出自然是乘法器所需控制信号Ycp、Xcp、S0cp、X0cp、Scp、Scr和Isc,考虑到这些控制信号具体应用的时态有所不同,并且有的是边沿有效,有的是电平有效,所以设计单稳态触发按钮B和开关组Kc1、Kc2、Kc3作为控制电路的输入,开关组的不同组合值可以标识计算过程进行的步骤。据此就可以得到如下控制电路的输入与输出信号的真值表。
以上真值表第二步“初始化乘数”的同时,也初始化了部分积,这时部分积寄存器S1n虽然会变成不可预期的结果,但是因其无关性并不至于导致错误。因为第四步“清部分积寄存器”又使它改变为正确的初始化值。
根据以上真值表反映的逻辑关系得到控制电路的如下逻辑电路图:
在该控制电路中,三八译码器使用Kc1、Kc2、Kc3作由高到低的三路输入,输出信号正好用以标识计算过程中的前五个步骤,而当Kc1输入高电平时,不论Kc2、Kc3为何值,都会失效,自然会使乘法器陷入停止态。
另外,判n电路会因为计数器出现n值产生低电平,一方面禁止产生计算时的寄存器移位触发信号Scp和Xcp,从而停止计算;另一方面又禁止“加1计数器”继续计数,使乘法器可靠的停在结果保持态。
五、定点原码一位乘法器的物理实现
根据定点原码一位乘法器的逻辑结构和控制电路,可以选择目前电子市场上常见的74LS18 1、74LS273、74LS74、74LS161、74LS04、74LS37、74LS51、74LS138等集成电路芯片,绘制物理布线图,并借助数字电路实验仪器或面包板连接实验电路,成功地进行4位、8位、12位、……定点原码一位乘法器的功能验证。
六、总结
以上遵循分析、设计、实现的思路,环环相扣地设计了一种定点原码一位乘法器的实现方案,包含了完善的功能,且自成体系,特别是其中关于无关项或无关操作应用、单稳态触发应用、结果保持、运算停止等实现细节上的方法、技巧的描述,对于指导学习或者改进算法开发更高性能的乘法器和其他相关器件都具有积极的指导意义。