计算机组成原理答案(第二版) 联系客服

发布时间 : 星期六 文章计算机组成原理答案(第二版)更新完毕开始阅读99ad80b70e22590102020740be1e650e53eacf70

+5VG1G2AMREQY7A15A14A13A12A0G2BABC74138......Y2Y1Y0...WE...WE.........CSWECPUD0D7RAM0...CSRAM1RAM7......CSR/W...

(2)地址空间分配图: RAM0:0000H—1FFFH RAM1:2000H-3FFFH RAM2:4000H—5FFFH RAM3:6000H—7FFFH RAM4:8000H-9FFFH RAM5:A000H-BFFFH RAM6:C000H-DFFFH RAM7:E000H-FFFFH

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址得存储芯片(RAM5)都有与其相同得数据,则根本得故障原因为:该存储芯片得片选输入端很可能总就是处于低电平。假设芯片与译码器本身都就是好得,可能得情况有:

1)该片得—CS端与—WE端错连或短路;

2)该片得—CS端与CPU得-MREQ端错连或短路; 3)该片得—CS端与地线错连或短路。

(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1\此时存储器只能寻址A13=1得地址空间(奇数片),A13=0得另一半地址空间(偶数片)将永远访问不到。若对A13=0得地址空间(偶数片)进行访问,只能错误地访问到A13=1得对应空间(奇数片)中去.

17、 写出1100、1101、1110、1111对应得汉明码。

解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示

k

校验位位数k=3位,(2>=n+k+1)

设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1 校验位在汉明码中分别处于第1、2、4位 c1=b4⊕b3⊕b1 c2=b4⊕b2⊕b1 c3=b3⊕b2⊕b1

当有效信息为1100时,c3c2c1=011,汉明码为1110100。 当有效信息为1101时,c3c2c1=100,汉明码为0011101。 当有效信息为1110时,c3c2c1=101,汉明码为1011110.

当有效信息为1111时,c3c2c1=010,汉明码为0110111。

18、 已知收到得汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码就是否出错?第几位出错?

解:假设接收到得汉明码为:c1'c2'b4’c3’b3’b2'b1'

纠错过程如下:

P1=c1'⊕b4’⊕b3’⊕b1' P2=c2’⊕b4’⊕b2’⊕b1’ P3=c3'⊕b3’⊕b2’⊕b1'

如果收到得汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100

如果收到得汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110

如果收到得汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010

如果收到得汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001

22、 某机字长16位,常规得存储空间为64K字,若想不改用其她高速得存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。

解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:

启动存储体0启动存储体1启动存储体2启动存储体3启动存储体4启动存储体5启动存储体6启动存储体7单体访存周期

18、 什么就是“程序访问得局部性”?存储系统中哪一级采用了程序访问得局部性原理? 解:程序运行得局部性原理指:在一小段时间内,最近被访问过得程序与数据很可能再次被访问;在空间上,这些被访问得程序与数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行得可能性大 (大约 5:1 )。存储系统中Cache—主存层次采用了

程序访问得局部性原理。

25、 Cache做在CPU芯片内有什么好处?将指令Cache与数据Cache分开又有什么好处?

答:Cache做在CPU芯片内主要有下面几个好处:

1)可提高外部总线得利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。

2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存得信息传输,增强了系统得整体效率。

3)可提高存取速度.因为Cache与CPU之间得数据通路大大缩短,故存取速度得以提高.

将指令Cache与数据Cache分开有如下好处:

1)可支持超前控制与流水线控制,有利于这类控制方式下指令预取操作得完成。 2)指令Cache可用ROM实现,以提高指令存取得可靠性。

3)数据Cache对不同数据类型得支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位). 补充:

Cache结构改进得第三个措施就是分级实现,如二级缓存结构,即在片内Cache(L1)与主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大得缺点,又可在主存与片内缓存间起到平滑速度差得作用,加速片内缓存得调入调出速度.

30、 一个组相连映射得CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存与高速存储器得地址各为几位?画出主存地址格式。

13

解:cache组数:64/4=16 ,Cache容量为:64*128=2字,cache地址13位

主存共分4096/16=256区,每区16块

19

主存容量为:4096*128=2字,主存地址19位,地址格式如下: 主存字块标记(8位) 组地址(4位) 字块内地址(7位) 第 六 章

12、 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024所对应得机器数。要求如下: (1)阶码与尾数均为原码。 (2)阶码与尾数均为补码。

(3)阶码为移码,尾数为补码。 解:据题意画出该浮点数得格式: 阶符1位 阶码4位 数符1位 尾数10位 -1 将十进制数转换为二进制:x1= 51/128= 0、0110011B= 2 * 0、110 011B

-5

x2= —27/1024= —0、0000011011B = 2*

(-0、11011B)

则以上各数得浮点规格化数为:

(1)[x1]浮=1,0001;0、110 011 000 0 [x2]浮=1,0101;1、110 110 000 0 (2)[x1]浮=1,1111;0、110 011 000 0

[x2]浮=1,1011;1、001 010 000 0 (3)[x1]浮=0,1111;0、110 011 000 0

[x2]浮=0,1011;1、001 010 000 0

16.设机器数字长为16位,写出下列各种情况下它能表示得数得范围。设机器数采用一位符号位,答案均用十进制表示. (1)无符号数;

(2)原码表示得定点小数。 (3)补码表示得定点小数。 (4)补码表示得定点整数。 (5)原码表示得定点整数。

(6)浮点数得格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数与负数得表示范围. (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应得正数与负数得真值范围。

16

解:(1)无符号整数:0 -- 2 — 1,即:0—- 65535;

-16

无符号小数:0 —- 1 — 2 ,即:0 —— 0、99998;

-15-15

(2)原码定点小数:—1 + 2—-1 - 2 ,即:-0、99997 —— 0、99997

—15

(3)补码定点小数:- 1-—1 — 2 ,即:-1—-0、99997

1515

(4)补码定点整数:—2——2 - 1 ,即:-32768—-32767

1515

(5)原码定点整数:-2 + 1——2 - 1,即:-32767——32767

(6)据题意画出该浮点数格式,当阶码与尾数均采用原码,非规格化数表示时:

-9-31

最大负数= 1,11 111;1、000 000 001 ,即 -2?2

-931

最小负数= 0,11 111;1、111 111 111,即 -(1—2)?2

—931 -9—31

则负数表示范围为:—(1—2)?2—— —2?2

—931

最大正数= 0,11 111;0、111 111 111,即 (1—2)?2

-9-31

最小正数= 1,11 111;0、000 000 001,即 2?2

-9-31 —931

则正数表示范围为:2?2——(1—2)?2

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则

-1-32

最大负数=1,00 000;1、011 111 111,即 —2?2

31

最小负数=0,11 111;1、000 000 000,即 -1?2

31 -1—32

则负数表示范围为:—1?2—— —2?2

—931

最大正数=0,11 111;0、111 111 111,即 (1-2)?2

—1-32

最小正数=1,00 000;0、100 000 000,即 2?2

-1—32 -931

则正数表示范围为:2?2——(1-2)?2

17、 设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果就是否正确。

[x1]原=0、001 1010;[y1]补=0、101 0100;[z1]反=1、010 1111; [x2]原=1、110 1000;[y2]补=1、110 1000;[z2]反=1、110 1000; [x3]原=1、001 1001;[y3]补=1、001 1001;[z3]反=1、001 1001。 解:算术左移一位:

[x1]原=0、011 0100;正确

[x2]原=1、101 0000;溢出(丢1)出错 [x3]原=1、011 0010;正确

[y1]补=0、010 1000;溢出(丢1)出错