(2) [x]补=1、100110, [-x]补=0、011010, [y]补=1、100011
部分积 乘数 ynyn+1 说明
??
00?、000000 1、1000110 yn+1=0
+00、011010 yn+1yn=01,加
[-x]补
00、011010 ? →00、0011010 ? 1、100011 右移一位,得P1
00+ ?、000000 yn+1yn=11,加
0
00、001101
→00、000110 10 1、10001 右移一位,得P2
+11、100110 yn+1yn=10,加[x]补
11、101100
? →11、110110 010 1、1000 右移一位,得P3
+00、000000 yn+1yn=00,加0
11、110110
? →11、111011 0010 1、100 右移
一位,得P4
+00、000000 yn+1yn=00,加0
11、111011
→11、111101 10010? 1、10?右移一位,得P5
? ?? +00、011010? yn+1yn=01,加[-x]补
00、010111 →00、001011 110010 1、1 右移一位,得P6
+00、000000 ? yn+1yn=00,加0
00、001011? 110010 ? 最后一步数据不移位
所以 [x·y]补=0、0
3、8用原码不恢复余数法与补码不恢复余数法计算x÷y =? (1) x=0、10101,y=0、11011 (2) x=-0、10101,y=0、11011
解:(1)[y]补=0、11011,[-y]补=1、00101
源码不恢复余数法:
1 被除数/余数 商寄存器 上商位 说明 00、10101 +[-y]补 11、00101 (x-y)比较 11、11010 0 r0<0,商上0 ← 11、10100 0 左移一位
+ 00、11011 余数为负,加y比较 00、01111 1 r1>0,商上1 ← 00、11110 0、1 左移一位
+[-y]补 11、00101 余数为正,减y比
1 较 00、00011 1 r2>0,商上1 ← 00、00110 0、11 左移一位 +[-y]0 余数为正,减y比补 11、00101 较 11、01011 0 r3<0,商上0 1 ← 11、10110 0、110 左移一位
即? ?
← 00、00010??? ? +[-y]补 11、00101??? 余数为正,减y比较
??? 11、00111 ? 0、11010 r5〈0,商上0,只移商
-101
[x]原÷[y]原=[Q]原=0、11010,余数[r]原=1、00111。
补码不恢复余数法:
[y]补=0、11011,[-y]补=1、00101
被除数/余数 商 上商位 说明 00、10101 +[-y]补 11、00101 被除数与除数同号,减除数比较 11、11010 0 余数r0与除数异号,商上0
← 11、10100 0 左移一位,商从上商位移入商寄存器 +[y]衬 00、11011 加除数比较
00、01111 1 余数r1与除数同号,商上1
← 00、11110 0、1 左移一位 +[-y]补 11、00101 减除数
00、00011 1 余数r2与除数同号,商上1
← 00、00110 0、11 左移一位 +[-y]补 11、00101 减除数比较
11、01011 0 余r3与除数异号,商上0
← 11、10110 0、110 左移一位 +[y]衬 00、11011 加除数比较
00、10001 1 余r4与除数同号,商上1
← 11、10110 0、1101 +[-y]补 11、00101?减除数比较
左移一位
11、11011 0、11010?余r3与除数异号,商上0
故[x÷y]衬= 0、11010,余数[r]补=1、0000011011 因未除尽,商为正,因此商不需要校正。
商为正,余数与被除数异号,则应将余数加上除数进行修正才能获得正确得余数,为: (1、11011+0、11011)*0、00001=0、0000010110 (2)[y]补=0、11011,[-y]补=1、00101 源码不恢复余数法:
被除数/余数 商寄存器 上商位 说明 00、10101 +[-y]补 11、00101 (x-y)比较 11、11010 0 r0<0,商上0
← 11、10100 0 左移一位
+ 00、11011 余数为负,加y比
较 00、01111 1 r1>0,商上1 ← 00、11110 0、1 左移一位 +[-y]1 余数为正,减y比补 11、00101 较 00、00011 1 r2>0,商上1 0 ← 00、00110 0、11 左移一位
+[-y]补 11、00101 余数为正,减y比较 1 、01011 11 0 r3<0,商上0
即????← 00、00010? ?? +[-y]补 11、00101? ? ? 余数为正,减y比较
?? 11、00111 ? 0、11010 r5<0,商上0,只移商
—101
[x]原÷[y]原=[Q]原=-0、11010,余数[r]原=1、00111.
补码不恢复余数法:
[y]补=1、01011,[y]补=0、11011,[—y]补=1、00101
被除数/余数 商 上商位 说明 11、01011 +[y]补 00、11011 被除数与除数异号,加除数比较 00、00110 1 余数r0与除数同号,商上1
← 00、01100 1 左移一位,商从上商位移入商寄存器 +[-y]补 11、00101 减除数比较
11、10001 0 余数r1与除数异号,商上0
← 11、00010 1、0 左移一位 +[y]补 00、11011 加除数
11、11101 0 余数r2与除数异号,商上0
← 11、11010 1、00 左移一位
+[y]补 00、11011 加除数比较
00、10101 1 余r3与除数异号,商上1
← 00、01010 1、001 左移一位 +[-y]补 11、00101 减除数比较
11、01111 0 余r4与除数同号,商上0
← 11、10110 1、0010 ?左移一位
+[y]补 00、11011 1?加除数比较
00、10001 1、00101 余r3与除数同号,商上1
故[x÷y]衬= 1、00101,余数[r]补=0、0000010001
因未除尽,商为负,因此商需要校正。[x÷y]衬=1、00101+0、00001=1、00110 商为负,余数与被除数同号,余数不需要处理。
3、9设数得阶码为3位,尾数为6位(不包括符号位)按机器补码浮点运算步骤,完成[x+y]补
(1) x=2×0、100100,y=2(2) x=2
-101
011010
×(—0、011010)
—100
×(—0、100010),y=2×(—0、010110)
解:1、(a)对阶 [x]补=00 [y]补=00
?阶差 △E=Ex-Ey=00001,阶差为1 ??将[y]补尾数右移一位得到00
(b)相加 [x]补+[y]补=00,尾数相加为
(c)结果规格化 由于尾数符号位跟最高有效位相同,需要左规:
规格化结果为:[x]补+[y]补=00 则:[x]补+[y]补=00
?阶差 △E=Ey—Ex=00001,阶差为1 (d)不需舍入,无溢出
2、(a)对阶 [x]补=11011 [y]补=11100 11101010 ??将[x]补尾数右移一位得到11100
(b)相加 [x]补+[y]补=11100 11011001,尾数相加为11011001 (c)结果规格化 由于尾数符号位跟最高有效位不相同,不需要左规:
(d)不需舍入,无溢出
3、10采用IEEE754单精度浮点数格式计算 (1)0、625+(—12、25)
?(2) 0、625 – (— 12、25)
解:(1)0、625=(0、101)2=(0 01111110 0)2
—12、25=(1 100000000)2 对阶 01110=-00000100 尾数计算 ? ? ?
将0、625得尾数右移4位,计算得到: 0、000101+(—1、100010)=-1、011101
=(C13A0000)16
则0、625+(-12、25)=(1 100000000)2
(2)0、625=(0、101)2=(0 01111110 0)2 -12、25=(1 100000000)2 对阶 01110=-00000100 尾数计算 ?
将0、625得尾数右移4位,计算得到:
?0、000101-(—1、100010)=1、100111 ? =(414E0000)16
则0、625+(-12、25)=(0 100000000)2
3、11 用“与或非”门设计一个4位并行进位得加法器。 解:C1=Y1+X1C0= Y1?X1C0 C2=Y2+X2C1 = Y2 + X2Y1 + X2X1C0 = Y2 ? X2Y1 ? X2X1C0 C3=Y3+X3C2 = Y3+ X3Y2 + X3X2Y1+ X3X2X1C0= Y3? X3Y2 ? X3X2Y1? X3X
2
X1C0
C4=Y4+X4C3 = Y4+ X4Y3+ X4X3Y2 + X4X3X2Y1+ X4X3X2X1C0 =Y4? X4Y3? X4X3Y2 ? X4X3X2Y1? X4X3X2X1C0 电路图略
?3、12 利用上题结果,设计一个4位运算器。运算器中包括加法器、两个寄存器、输入选择与输出控制电路。要求输入选择电路能接收选择总线或寄存器中得数据,能对两个寄存器中得数以原码与补码两种形式送入加法器,并能对加法器得输出进行直接传送、左移一位与右移一位传送,然 后以将结果送寄存器或总线。
本题略
第四章 存储系统 习 题 四
4.l 解释下列名词:
存储单元:保存数据得基本内存单元。根据保存内容得大小,一般可分位存储单元,字存储单
元等。存储单元一般应具有存储数据与读写数据得功能,每个单元有一个地址,并按地址访问。 存取时间:又称为存储器得访问时间,就是指启动一次存储器得操作(读或写分别对应存与取)
到该操作完成所经历得时间。
存取周期:连续启动两次访问操作之间得最短时间间隔。
存储器带宽:单位时间内存储器所能传输得信息量,常用得单位包括位/秒或字节/秒。 静态存储器:存储体以静态MOS存储元为基本单元组成得存储器称为静态存储器。 动态存储器:存储体以动态存储元为基本单元组成得存储器称为动态存储器。
刷新:动态存储单元中,为使所存信息能长期保存,在电容电荷泄露完之前定时地补充电荷