计算机组成原理课程习题答案秦磊华 联系客服

发布时间 : 星期五 文章计算机组成原理课程习题答案秦磊华更新完毕开始阅读

第四章 存储系统 习 题 四

4.l 解释下列名词:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

组的所有行。

直接映射:地址映射时,主存数据块只能映射到索引字段所指向的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)。

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

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的一致性? 答:正常情况下,cache中的数据是主存数据的副本,当两者不一致时可能导致程序结果不正确,因此,必须考虑并设法保证Cache的一致性。 8)替换算法有哪几种?各有何优缺点? 答:① 先进先出算法(FIFO)

基本思想:按照数据块进入Cache的先后决定替换的顺序,即在需要进行替换时,选择最先 被调入Cache中的块作为替换块。这种方法要求为每块记录它们进入Cache的先 后次序。

优点:FIFO算法系统开销较小。

缺点:是不考虑程序访问的局部性,可能会把一些需要经常使用的块(如循环程序块)也作 为最早进入Cache的块而替换掉,因此,可能导致Cache的命中率不高。

② 近期最少使用(LRU)算法

基本思想:将近期内长久未被访问过的行换出。为此,每行设置一个计数器,cache每命中

一次,命中行计数器清零,其它各行计数器增1,因此它是未访问次数计数器。当需要替换时,比较各特定行的计数值,将计数值最大的行换出。

优点:这种算法显然保护了刚调入Cache的新数据,符合cache工作原理,因而使cache有较高

的命中率。LRU算法硬件实现简单 ③ 最不经常使用(LFU)算法

基本思想:将一段时间内被访次数最少的那行数据换出。为此,每行设置一个计数器,新新 调入行的数据从0开始计数,每访问一次被访行的计数器增1。当需要替换时,对 这些特定行的计数值进行比较,将计数值最小的行换出。

缺点:一段期间访问情况不能严格反映近期访问情况。例如特定行中的A、B两行,A行在期

间的前期多次被访问而后期未被访问,但累积计数值很大,B行是前期不常用而后期却正被频繁访问,但可能由于累积计数小于A行而被LFU算法换出了。 ④ 随机替换算法

基本思想:需要进行替换时,从特定的行位置中随机地选取一行进行替换。 优点:硬件实现最容易,而且速度也比前几种策略快。

缺点:随意换出的数据很可能马上又要用,从而降低命中率和cache工作效率。但这个负面

效应随着cache容量增大会减少,模拟研究表明随机替换策略的功效只是稍逊于LFU和LRU。

9)不同RAID级各有哪些技术特点? 答:RAID0具有如下技术特点:

① 无数据冗余、无数据校验功能,因此它不具备数据的容错能力,数据的可靠性不高; ② 从RAID0的数据分布看,其本质上是多磁盘体交叉存储(类似于主存的多体交叉存储),多个磁盘可并行工作,存储系统的访问速度高。 ③ 条带的大小影响RAI0的性能与应用

a)条带大小对数据传输率的影响:小条带可将数据分配到更多的磁盘上,通过更多磁盘的并

行工作可提高存储系统的数据传输率。

b)条带对I/O请求响应速度的影响:在面向事物处理的应用中,可能同时存在上百个I/O

请求。此时,用户对I/O请求的响应时间比较关注。通过选者小而适中的条带,使得一次事务请求所传送的数据刚好集中在一个条带中,就能大大减少每个I/O请求的响应时间。

④ 磁盘利用率高,由于RAID 0中没有冗于数据,所有的磁盘存储空间都可保存工作数据。RAID0主要应用于对访问速度要求高,但对数据的可靠性要求不高的场合。

RAID 1具有如下技术特点:

① 每个磁盘都有一个镜象磁盘,图4.60中备份磁盘i就是磁盘i的备份盘;

② 读请求时,可由包含该数据的两个磁盘中的任一个提供;写请求时,需同时更新两个磁盘中相应的数据块;

③ 当一个磁盘被损坏时,数据仍可从另一磁盘获取。因此具有很高的安全性; ④ 存储系统中磁盘的利用率只有50%; ⑤ 无数据校验功能;

⑥ 对大批读请求来说,RAID 1可以从对应的盘中并行读出。但对于写,其效率并不高。 由于RAID1的读性能优于写性能,因此,RAID1主要应用于对数据的可用性要求高,且读操作所占比重较高的场合。