【摘要】基于计算机组成原理课程实践环节的建设,以提高学生实践技能为目的,总结教学经验,应用数字电路设计方法与技巧,考虑可行性,设计一种定点原码一位乘法器的实现方案,包含初始化数据,启动、停止运算,显示运算过程等功能,用以指导教学实践。
【关键词】乘法器、定点原码一位乘法、计算机组成原理、计算机组成与结构
一、引言
在计算机组成原理知识教学过程中,关于二进制乘法运算是一个较难理解的环节,其中又以“定点原码一位乘法算法”是最基础的,针对这一算法设计实验方案,为学员提供实践环境,对深入理解这一问题、以及进一步的学习其他乘法乃至除法算法都十分重要。
二、定点原码一位乘法算法
两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。例如:
[X]原=X0X1X2…Xn,X0为符号
[Y]原=Y0Y1Y2…Yn,Y0为符号
则[X·Y]原=(X0⊕Y0)|(X1X2…Xn)·(Y1Y2…Yn),符号“|”表示把符号和数值邻接起来。
在计算时,符号位和数值位分别进行计算。对于数值位,逐次按乘数每一位(从低位到高位)上的值是1还是0,决定一个相加数或者是被乘数或者是0,并向左偏移一位去加上次计算得到的和(它又被称为部分积,其初值为0),如此进行乘数位数次,最终得到乘积。在此需要注意的是:“相加数向左偏移一位后求和”和“上次计算得到的和向右偏移一位后求和”两种求和的方法是等效的,设计乘法器时采用后一种方法,其目的是寻求部份积与乘数移位方向的一致性。
例如