《计算机组成原理》课后题答案_清华大学出版_秦磊华_吴非·· 下载本文

(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

X1C0

C4=Y4+X4C3 = Y4+ X4Y3+ X4X3Y2 + X4X3X2Y1+ X4X3X2X1C0 =Y4? X4Y3? X4X3Y2 ? X4X3X2Y1? X4X3X2X1C0 电路图略

?3、12 利用上题结果,设计一个4位运算器。运算器中包括加法器、两个寄存器、输入选择与输出控制电路。要求输入选择电路能接收选择总线或寄存器中得数据,能对两个寄存器中得数以原码与补码两种形式送入加法器,并能对加法器得输出进行直接传送、左移一位与右移一位传送,然 后以将结果送寄存器或总线。

本题略

第四章 存储系统 习 题 四

4.l 解释下列名词:

存储单元:保存数据得基本内存单元。根据保存内容得大小,一般可分位存储单元,字存储单

元等。存储单元一般应具有存储数据与读写数据得功能,每个单元有一个地址,并按地址访问。 存取时间:又称为存储器得访问时间,就是指启动一次存储器得操作(读或写分别对应存与取)

到该操作完成所经历得时间。

存取周期:连续启动两次访问操作之间得最短时间间隔。

存储器带宽:单位时间内存储器所能传输得信息量,常用得单位包括位/秒或字节/秒。 静态存储器:存储体以静态MOS存储元为基本单元组成得存储器称为静态存储器。 动态存储器:存储体以动态存储元为基本单元组成得存储器称为动态存储器。

刷新:动态存储单元中,为使所存信息能长期保存,在电容电荷泄露完之前定时地补充电荷