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

完美WORD格式

补码不恢复余数法:

[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

故[x÷y]衬= 1.00101,余数[r]补=0.0000010001

因未除尽,商为负,因此商需要校正。[x÷y]衬=1.00101+0.00001=1.00110 商为负,余数与被除数同号,余数不需要处理。

3.9设数的阶码为3位,尾数为6位(不包括符号位)按机器补码浮点运算步骤,完成[x+y]补

左移一位 加除数比较

余r3与除数同号,商上1

(1) x=2×0.100100,y=2×(-0.011010) (2) x=2

-101

011010

×(-0.100010),y=2

-100

×(-0.010110)

专业整理 知识分享

完美WORD格式

解:1、(a)对阶 [x]补=00011 00100100 [y]补=00010 11100110

阶差 △E=Ex-Ey=00001,阶差为1

将[y]补尾数右移一位得到00011 11110011

(b)相加 [x]补+[y]补=00011 00010111,尾数相加为00010111 (c)结果规格化 由于尾数符号位跟最高有效位相同,需要左规:

规格化结果为:[x]补+[y]补=00010 00101110 则:[x]补+[y]补=00010 00101110 (d)不需舍入,无溢出

2、(a)对阶 [x]补=11011 11011101 [y]补=11100 11101010

阶差 △E=Ey-Ex=00001,阶差为1

将[x]补尾数右移一位得到11100 11101111

(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 01000000000000000000000)2

-12.25=(1 10000010 10001000000000000000000)2 对阶 01111110-10000010=-00000100 尾数计算

将0.625的尾数右移4位,计算得到: 0.000101+(-1.100010)=-1.011101

=(C13A0000)16

则0.625+(-12.25)=(1 10000010 01110100000000000000000)2

(2)0.625=(0.101)2=(0 01111110 01000000000000000000000)2 -12.25=(1 10000010 10001000000000000000000)2 对阶 01111110-10000010=-00000100 尾数计算

将0.625的尾数右移4位,计算得到: 0.000101-(-1.100010)=1.100111

=(414E0000)16

则0.625+(-12.25)=(0 10000010 10011100000000000000000)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? X3X2X1C0 C4=Y4+X4C3 = Y4+ X4Y3+ X4X3Y2 + X4X3X2Y1+ X4X3X2X1C0

=Y4? X4Y3? X4X3Y2 ? X4X3X2Y1? X4X3X2X1C0 电路图略

专业整理 知识分享

完美WORD格式

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

本题略

第四章 存储系统 习 题 四

4.l 解释下列名词:

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

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

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

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

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

猝发式读:只需给出块的起始地址,然后对固定块长度的数据一个接一个地读出的快速存储器读

方式。即一块数据的读出只需要给出一个地址的数据读取方式。

多模块交叉存储器:由多个存储容量相同,读写速度相同或相近的多个存储模块构成容量更

大的存储器,其中每个存储模块具有各自独立的地址寄存器、地址译码器、驱动电路和读写控制电路,根据存储模块的组织方式不同,又可分为低位交叉和高位交叉两种组织方式。。

高速缓冲存储器:为缓解快速的CPU与慢速主存之间的速度差异,在CPU和主存之间插入的

一至多级速度较快、容量较小的SRAM,起到缓冲作用;使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高。

双端口存储器:指同一个存储器具有两组相互独立端口的存储器,每个端口有各自独立的数 据端口、地址端口以及读/写控制端口、片选端口等,每个端口可独立进行 读写操作。

相联存储器:是一种按内容访问的存储器(Content Addressable Memory:CAM),用于提高

查找信息的速度。在计算机系统中,相联存储器主要用于虚拟存储器中存放段表、页表和快表以及高速缓冲存储器中的查找。

时间局部性:指当程序访问一个存储位置时,有很大的可能性程序会在不久的将来再次访问 同一位置,程序的循环结构和过程调用就很好地体现了时间局部性。 地址映射:指把主存地址空间映射到Cache的地址空间,即把存放在主存中的程序或数据按 照某种规则装入到Cache,并建立两者之间地址的对应关系。

组相联映射:地址映射时,主存数据块只能映射到索引字段所指向的Cache特定组(其中的 行可任选);地址变换时,需查找的范围也只是索引字段所指向的特定Cache

组的所有行。

专业整理 知识分享

完美WORD格式

直接映射:地址映射时,主存数据块只能映射到索引字段所指向的Cache行中保存;地址变 换时,需查找的范围也只涉及索引字段所指向的特定Cache行。

全相联映射:主存地址不划分索引字段,因此地址映射时,主存数据块可以映射到Cache 的任意行中;地址变换时,需查找所有的Cache行。

命中率:指CPU访问存储系统时,命中Cache的次数占总访问次数的比铝。设NC为某程序

运行期间命中Cache的次数,Nm为从主存中访问信息的次数,则 命中率(hit ratio)H定义为:

地址复用:可以从不同的角度来理解该概念。第一种方式是指CPU的地址线在一次存储访问过程中多次使用,每次作为访问地址的不同部分使用;另一种是指地址线在一次存储访问的不同阶段分别作为地址线和数据线使用,即地址总线在存储访问的不同时间段表现出不同的功能。

字扩展:用多位满足一定要求的存储芯片构成容量更大的存储器。 位扩展:用多片存储芯片构成位数更多的存储器。

虚拟存储器:是一种解决主存容量不足的存储管理机制,处于存储系统层次结构中“主存-辅存”存储层次。在这种机制下,通过增加部分软件(如操作系统)和必要的硬件(如地址映射与转换机构、缺页中断结构等),使辅存和主存构成一个有机的整体,就像一个单一的、可供CPU直接访问的大容量主存,程序员使用比主存空间大的逻辑地址空间编程序,作业运行时,主需要将作业当前执行的部分调入内存,而其余部分仍然存放在磁盘中,从而减少对主存的消耗。

页表(慢表):是一张保存虚拟页号和物理页号(也称实页号)之间对应关系的表格。

页表项:页表的表项,每一个表项由有效位和物理页号两部分构成,用于实现虚拟地址与物

理地址之间的转换。

TLB(快表):又称为转换旁路缓冲器(Translation Look- aside Buffer),为了降低虚拟存

储器地址转换的开销,根据局部性原理,将页表的一部分装入MMU或Cache中,从而减少虚拟地址与物理地址之间转换时访问内存的次数。

LRU:LRU(Least Recently Used)算法是将近期内长久未被访问过的行换出。

LFU:LFU(Least Frequently Used)算法将一段时间内被访次数最少的那行数据换出。 存储保护:为了保证计算机系统能正确运行,当多个用户共享主存时,应防止由于一个用户 程序出错而破坏其他用户的程序和系统软件,以及一个用户程序不合法地访问不

是分配给它的主存区域。

Cache一致性:指保存在cache中的数据与保存在主存相关单元的数据相同。

写回法:当CPU对Cache写命中时,只修改Cache的内容不立即写入主存,只当Cache行被替换时才将Cache中的数据写回主存。

写直达法:也称写贯通法或全写法,其基本思想是当Cache写命中时,同时对Cache和主存中

同一数据块进行修改;当cache写未命中时,直接向主存写入新的信息,但此时是否将修改过的主存块调入Cache,写直达法却有两种选择。一种是将数据调入Cache,称为写分配法WA(Write-Allocate)。另一种是不取主存块到Cache,而是直接写主存,称为非写分配法NWA(No-Write-Allocate)。

边界对齐的数据存放:指半字、字、双字都按它们各自地址所指定的空间进行存储,而不是 随意存放。 大端:存储器的低字节地址单元中存放的是数据的最高字节,高字节地址单元中存放的是数

专业整理 知识分享

完美WORD格式

据的最低字节。

RAID:廉价冗余磁盘阵列RAID(Redundant Array of Inexpensive Disk)或独立冗余磁盘

阵列RAID(Redundant Array of Independent Disk),简称磁盘阵列,它将多块独立的普通磁盘按照一定的方式组织与管理,构成一个大容量、高速度、高容错的存储系统。

寻道时间:将磁头定位到指定磁道上所需的时间。

旋转时间:磁头定位到指定磁道后至指定的记录移到磁头下的时间。

4.2 回答下列问题:

1)计算机系统中采用层次化存储体系结构的目的是什么? 层次化存储体系结构如何构成? 答:采用层次化存储体系的目的包括两方面:其一是解决快速的CPU和慢速的主存之间的速度差异;其二是解决主存容量不够大的问题.

存储系统的分级结构由Cache、主存和辅助存储器三级结构构成。

其理论基础是时间局部性原理和空间局部性原理,Cache—主存存储层次解决了主存速度不快的问题;而主存-辅存存储层次解决了主存容量不足的问题。 2)为什么在存储器芯片中设置片选输入端? 答:由于存储芯片的容量及字长与目标存储器的容量及字长之间可能存在差异,应用存储芯片组织一定容量与字长的存储器时,一般可采用位扩展、字扩展、字位同时扩展等方法来组织。这样就会使用多个存储芯片,从而要设置片选输入端来选择正确的存储芯片来进行操作。 3)动态MOS存储器为什么要刷新?如何刷新?

答:动态存储单元中,信息以电荷形式存储在T1或T2管的栅极电容中。由于电容容量小,所存电荷会在一段时间后逐渐泄漏(一般为ms级),为使所存信息能长期保存,需要在电容电荷泄露完之前定时地补充电荷,这一过程称为刷新。 刷新的方法:

①刷新方式:集中刷新、分散刷新和异步刷新。前者存在CPU死时间;分散刷新由于刷新次数过多,降低了存储器的速度;异步刷新是前两者的折中。

②刷新按行进行,因此设计刷新电路时需要知道动态存储器的内部行、列结构。 ③刷新地址由刷新地址计数提供。

4)试述多体交叉存储器的设计思想和实现方法。

答:多体交叉存储器由多个存储模块构成,这些模块的容量和存取速度相同,具有各自独立的地址寄存器、地址译码器、驱动电路和读写控制电路。根据对多各模块编址方式的不同,又可分为高位多体交叉和低位多体交叉两种方式。

(1)高位交叉:按存储器地址的高位地址划分模块,同一存储体内的地址是连续的。当多个目标同时访问存储器时(如CPU和DMA设备同时访问存储器),如果访问的地方范围处于不同的存储芯片,则提供并行访问。

(2)低位交叉:按存储器地址的低位地址划分模块,同一存储体内的地址不相邻,相邻地址处在不同存储体中。CPU可同时启动多个存储体,并进行并行访问。 5)为什么说Cache对程序员是透明的? 答:因为在程序员看来,数据是在内存和辅存之间进行交换的,程序员感觉不到中间层cache 的存在。

6)直接映射方式下为什么不需要使用替换算法?

答:因为在直接映射方式中,一个内存块只能固定的映射到cache中的特定行,当有新的主存块调入时, cache特定行中的内容必须调出,因此不需要替换算法去选择替换掉哪一块。 7)为什么要考虑Cache的一致性?

专业整理 知识分享