当前位置:文档之家› 第三章 运算方法和运算部件(3-3,4,5)..

第三章 运算方法和运算部件(3-3,4,5)..


运算部件
数据校验码
计算机学院
3.3 二进制乘法运算
一、定点数一位乘法 1、定点原码一位乘法
用原码实现乘法运算十分方便,在定点运算中,完成两个
原码表示得数相乘时,乘积得符号由两数得符号位按位相 加(异或)得到,而乘积得数值部分则是两个数得绝对值 之积。可以表示为:
被除数 乘 数 乘 积
计算机学院
3.3 二进制乘法运算
上述乘法运算的递推算法可用流程图来表示:(P74图3.6)
开始
Pi=0, i=0
N
Yn=1 Pi+0 Pi+X
Y
Pi,Y右移一位,i=i+1
N
i=n? Y 结束
计算机学院
3.3 二进制乘法运算
实现原码一位乘法的逻辑电路图(P73图3.5)。
计算机学院
3.3 二进制乘法运算
计算机学院
3.3 二进制乘法运算
令Pi表示第i次的部分积,则上式可写成如下递推公式:
P0=0, P1=2-1(YnX+P0), P2=2-1(Yn-1X+P1), Pi=2-1(Yn-i+1X+Zi-1), Pn=X*Y=2-1(Y1X+Pn-1) 此处的P0,P1…Pn-1为部分积,Pn为最终的乘积P。
[X]原=Xs.X1X2……Xn [Y]原=Ys.Y1Y2……Yn [Z]原=(Xs⊕Ys).(0.X1X2….Xn)(0.Y1Y2….Yn)
计算机学院
3.3 二进制乘法运算
符号法则:同号相乘为正(0),异号相乘为负(1),
(XsYs=00,01,10,11), 所以积得符号可按“异或” 运算得到。
机器方法 0.1101 × 0.1011 0.0000 1101 0.0001 101 0.0000 00 + 0.0110 1 0.1000 1111
计算机学院
3.3 二进制乘法运算
机器运算与手工运算方法区别在于:
(1) 机器一次只能进行两个数相加,所以P1+P2+P3+P4必 须分步进行:P1+P2; (P1+P2)+P3; [(P1+P2)+P3]+P4。 (2) 每做完一次加运算,把部分积右移一位(相当于把被加 数右移,而不是左移),移出得数码不参加运算,故机器 的位数可以固定。 由此可以分析出机器乘法运算得基本规律。

i 1
所以
n n 1 1 1 n 1 1 X X 0 X i 2 i X 0 X 0 X i 2 i X 0 X i 2 (i1) 2 2 2 i 1 2 2 i 1 i 0
计算机学院
3.3 二进制乘法运算
1 [ X ]补=X 0 . X 1 X 2 ........X n 写成补码形式,得: 2
数值部分运算法则:与普通十进制小数乘法相似。
计算机学院
3.3 二进制乘法运算
例,X=0.1101,Y=0.1011,求X*Y=?
手工方法 0.1101(X) ×0.1011(Y) 1101……P1 1101……..P2 0000………P3 + 1101………..P4 10001111……P
2、定点补码一位乘法 原码乘法的主要问题是符号位不能参加运算。补码乘法可以实现 符号位直接参加运算。 (1) 补码与真值的转换关系 设 [X]补=X0.X1X2……..Xn 当 X>=0时,X0=0(符号位为0)
n
[ X ]补=0. X 1 X 2 X n X i 2 i X
本课程着重计算机系统组成与结构方面的教学和研究。 计算机结构定义为系统程序员所能见到的计算机硬件特性; 计算机组成是指计算机硬件的具体实现。
计算机学院
第三章 运算方法和运算部件
数据的表示方法和转换 带符号数的表示方法及加减运算 二进制乘法运算
二进制除法运算
浮点数的运算方法
一般而言,设被乘数X,乘数Y都是小于1的n位定点正数:

X=0. X1 X2………. Xn Y=0. Y1Y2………. Yn 其乘积为: X*Y=X(0. Y1Y2……Yn) =X(Y12-1+Y22-2+…….+Yn2-n) =2-1(Y1X+2-1(Y2X+2-1(……+2-1(Yn-1X+2-1(YnX+0))……)))
n
计算机学院
3.3 二进制乘法运算
(2) 补码的右移 正数右移一位,相当于乘1/2,负数用补码表示,右移一位 也相当于乘1/2。因此在补码运算的机器中,一个数不论其 正负,连同符号位向右移一位,符号位保持不变,就等于 n 乘1/2。 X i 2 i 设[X]补=X0.X1X2…..Xn,因为 X X 0
i 1
尾数部分为真值X
计算机学院
3.3 二进制乘法运算
当X<0时, X0=1(符号位为1)
[X]补=1.X1X2…….Xn=2+X 所以真值X为: X=1.X1X2…..Xn-2 =-1+0.X1X2……Xn
1 X i 2 i
i 1
n
i X X X 2 所以, i 0 i 1
y=1
y=1 y=0 y=1
0000 初始化值 + 1101 1101 110 1………..P1 + 1101 10011 1 1001 11………P2 + 0000 1001 11 100 111……..P3 + 1101 10001 111 1000 1111……P4=P
计算机学院
3.3 二进制乘法运算
《计算机组成与结构》
——本科生课程教学
计算机学院(许先斌) xbxu@
计算机组成与结构
本课程主要讲授计算机系统的硬件和软件构成方法,包括
硬件系统中运算器、控制器、存储器、输入设备和输出设 备和总线系统的构成原理等;并与当代先进的计算机技术 相结合。是计算机科学与技术本科专业核心课程。
计算机学院
3.3 二进制乘法运算
原码机器乘法规律:
当所乘得乘数为1时,则上次所得的部分积(最初为0)加 被乘数右移一位,而得新的次一部分积;若所乘的乘数为0 时,则上次所得的部分积加0右移一位后就是新的次一部分 积。如此反复,直到乘数各位都乘完为止。
计算机学院
3.3 二进制乘法运算
例,X=0.1101,Y=0.1011,求X*Y=?机器算法如下:
相关主题