坐那想,想自己去哪,就琢磨西安是B类地区,再往脸跟前摊本组成原理,装出在看无符号数阵列乘法器的样子,一堆堆的全加器简直是繁若星辰烦的我要死,脑子就跑到兵马俑的千军万马去了。
去过兵马俑一回,完全没感觉,更加确定咱不是知识分子的料子,只能当知道分子八卦不止:
《史记·秦始皇本纪》:陵墓一直挖到地下的泉水,用铜加固基座,上面放着棺材……墓室里面放满了奇珍异宝。墓室内的要道机关装着带有利箭的弓弩,盗墓的人一靠近就会被射死。墓室里还注满水银,象征江河湖海;墓顶镶着夜明珠,象征日月星辰;墓里用鱼油燃灯,以求长明不灭……
无量我佛,不说啥了。说阵列乘法器
间接补码阵列乘法器
11011*10101:
间接补码阵列乘法器
间接补码阵列乘法器同理,多求补器而已
设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积x·y=?
解:设最高位为符号位,则输入数据为
[x]原 =01111 [y]原 =
11101
符号位单独运算,x0⊕y0=0⊕1=1
符号位单独考虑,算前求补级后 |x|=1111,|y|=1101
算后经求补级输出并加上乘积符号位1,则原码乘积值为111000011。
换算成二进制数真值是
x×y=(
-11000011)2=(-195)10
十进制数验证:x×y = 15× (-13) = -195相等。
------------------------------------------------------------------------
设x=+15,y=-13,用带求补器的补码阵列乘法器求出乘积x·y=?
解:最高位为符号位,则输入数据用补码表示为
[x]补 =01111 [y]补 =
10011
符号位单独运算,x0⊕y0=0⊕1=1
尾数部分算前求补器输出为: |x|=1111,|y|=1101
算后求补器输出为00111101,加符号位1,得
[x·y]补=100111101
补码二进制数真值是
x·y=-1×28+1×25+1×24+1×23+1×22+1×20=(-195)10
十进制数验证: x×y=(+15)× (-13) = -195相等。
直接补码阵列乘法器
描述四类一般化全加器的真值表
全加器
带权输入
带权输出
0类
3类
X Y Z
-X -Y -Z
C S
-C -S
真
值
表
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
1类
2类
X Y Z
-X -Y -Z
C S
-C -S
真
值
表
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0
0 1
1 1
0 0
1 1
0 0
1 0
1 1
常规1位全加器可假定3输入2输出均正权。而一般化全加器通过把正/负权加到输入/输出端可分4类:
0类:0负权输入+3正权输入 | 1类:1负权输入+2正权输入
2类:2负权输入+2正权输入 | 3类:3负权输入+1正权输入
利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位的二进制补码数,即A=(a4)a3a2a1a0,B=(b4)a3a2a1a0它们具有带负权的符号位a4和b4,并用括号标注。如果我们用括号来标注负的被加项,例如(aibj),那么A和B相乘过程中所包含的操作步骤如下面矩阵所示:
在n位乘n位的一般情况下,该乘法器需要(n-2)2个0类全加器,(n-2)个1类全加器,(2n-3)
个2类全加器,1个3类全加器,总共是n(n-1)个全加器。 故所需的总乘法时间是:
tp=Ta+2(n-1)Tf=2T+(2n-2)2T=(4n-2)T
设[A]补=(01101)2,[B]补=(11011)2,求[A×B]补=?
解:
(0) 1 1 0 1 = + 13
×) (1) 1 0 1 1 = - 5
(0) 1 1 0 1
(0) 1 1 0 1
(0) 0 0 0 0
(0) 1 1 0 1
0 (1)(1)(0)(1)
0 (1) 0 1 1 1 1 1 1
(1) 1 0 1 1 1 1 1 1 = - 65
验证:
-1×27+0×26+1×25+1×24+1×23+1×22+1×21+1×20
=-128+(32+16+8+4+2+1)
=-65
(13)×(-5)=-65