系统结构复习(1)word版本 下载本文

内容发布更新时间 : 2024/12/23 18:23:39星期一 下面是文章的全部内容请认真阅读。

学习-----好资料

第三章 存储系统

1. 名词解释

低位交叉存储器、虚拟存储器、地址映象、地址变换、页面失效、页面冲突、替换算法、组相联映象、写直达法 [答案]略

2 以页式虚拟存储器为例,说明什么是内部地址变换和外部地址变换?什么时候发生外部地址变换?

[答案] 程序运行时,虚拟存储系统按照地址映象方式把虚拟地址转换成主存物理地址的过程称为地址变换,又称为内部地址变换。如果要访问的指令或数据已经在主存中,则命中主存,否则就发生了页面失效,此时需要进行外部地址变换,即将虚拟地址变换成为辅存物理地址,然后再根据这个辅存物理地址从辅存上将所需指令或数据所在的页面调入主存。可见,当发生页面失效的时候,需要进行外部地址变换。

3 什么是堆栈型替换算法?哪些算法属于堆栈型替换算法?

[答案] 堆栈型替换算法是指如果以任意一个程序的页地址流作两次主存页面数分配,分别分配m个主存页面和n个主存页面,并且有m≤n。如果在任何时刻t,主存页面数集合Bt都满足关系:Bt(m)?Bt(n),则这类算法称为堆栈型替换算法。堆栈型算法的基本思想是:随着分配给程序的主存页面数增加,主存的命中率也提高,至少不下降。LRU、LFU、OPT算法都是堆栈型算法,而RAND和FIFO算法都不是堆栈型算法。

4 Cache存储系统中有哪些常用的地址映象方法?各有什么优缺点? [答案] Cache存储系统有以下几种常用的地址映象方法:

① 全相联地址映象:把主存空间和Cache空间都划分为大小相等的块,块的大小一般是一个主存访问周期内对主存访问的信息量,主存的任意一块可以装入到Cache中的任意一块位置上。优点是块冲突概率最低,缺点是要使用相联存储器,所以检索过程昂贵,需要的硬件成本比较高。而且当Cache较大时,相联存储器的表长也较大,查表速度难以提高。

② 直接地址映象:把主存空间按照Cache的大小划分为若干个区,主存各个区中块号相同的主存块只能够装入到Cache中具有同一块号的特定块位置上。直接映象的优点是硬件实现简单,不需要相联查找,不需要页面替换算法,因而成本较低且地址变换速度快。缺点是块的冲突的概率高,Cache的利用率低。

③ 组相联映象:把主存按照Cache的大小分区,主存中的各区和Cache再按照同样大小划分成数量相等的组,组内按照同样大小划分成块,主存的组与Cache的组之间采用直接映象,组内的块之间采用全相联映象。具有较好的性能价格比,其优缺点介于全相联映象和直接映象的优缺点之间。与全相联映象相比,实现起来更加经济,查表的速度也较快。与直接映象相比,块的冲突概率显著降低。

5 什么是Cache的一致性问题?说明单处理机中Cache一致性问题的产生原因及解决方法。 [答案] 一般情况下,Cache中存放的是主存的部分副本,因此,Cache块应该与相应主存块的内容保持一致。但是在某些情况下,Cache块与相应主存块的内容会不相同,也就是产生了Cache的一致性问题。

在单处理机中,造成Cache一致性问题的原因主要有:

", CPU修改了Cache中的内容,而主存中相应内容却没有改变;

", I/O处理机或I/O设备读入数据到主存,修改了主存的内容,而Cache中对应的内容却没更多精品文档

学习-----好资料

有改变。

在单处理机中,解决Cache一致性问题主要有两种方法: ① 写直达法:又称为全写法、写贯通法,是指当Cache写命中时,必须把数据同时写入Cache和主存中。

② 写回法:是指当Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当这一块将被替换出Cache的时候,才把已修改的Cache块写回到主存。 6 假设二级存储系统两级物理存储器的访问时间的关系为T2=5T1, 在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。

7 要求主存实际频宽为4MB/s,现设主存每个分体的存取周期为2us,宽度为4个字节,采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍,问主存模数m应取多少方能使两者的速度基本匹配?其中m取2的幂。

8 在一个Cache存储系统中,主存储器的访问周期、存储容量和单位价格分别为60ns、64MB和10元/MB,Cache的访问周期、存储容量和单位价格分别为10ns、512KB和100元/MB,Cache的命中率为0.98。

(1)计算这个Cache存储系统的等效访问周期、存储容量和单位价格。 (2)计算这个Cache存储系统的访问效率。

更多精品文档

学习-----好资料

9 一个由Cache和主存构成的二级存储系统,已知主存容量为1M字,Cache容量为32K字。采用组相联地址映象与变换,Cache共分8组,主存和Cache的块的大小为64字。 (1)写出主存和Cache的地址格式,要求说明各字段名称和位数。

(2)如果Cache的存取周期为20ns,命中率为0.95,希望采用Cache后的加速比达到10,那么要求主存的存取周期应该为多少?

主存容量为1M?2?20字,故主存地址有20位。Cache的容量为32K=2?15字,所以Cache 的地址有15位。主存按照Cache的容量分区,所以区号E长度=20-15=5位。

采用组相联映象,Cache共分8组,所以组号G和g为3位。主存和Cache的块的大小为64字,所以块内地址W和w的长度为6位。块号B和b的长度=15-3-6=6位。 (2)已知Cache的存取周期TC=20ns,

命中率H=0.95,设主存的存取周期为TM,有:

更多精品文档

学习-----好资料

得到所要求的主存存取周期为: TM=380ns

10.在页式虚拟存储器中,一个程序由0~4共5个虚页组成,在程序执行过程中,访存虚页地址流为:

0, 1, 0, 4, 3, 0, 2, 3, 1, 3

假设分配给这个程序的主存空间有3个实页,分别采用FIFO、LRU、OPT替换算法进行替换调度。

(1)分别画出3种替换算法对主存3个实页位置的使用情况。 (2)分别计算3种替换算法的主存命中率。

[答案] (1)分别用FIFO、LRU、OPT替换算法对主存3个实页使用过程如下图所示,其中“*”表示准备替换出去的页。

(2)FIFO替换算法的主存命中率:H = 2/10 = 0.20 LRU 替换算法的主存命中率:H = 4/10 = 0.40 OPT 替换算法的主存命中率:H = 5/10 = 0.50

11. 设某程序包含5个虚页,其页地址为4,5,3,2,5,1,3,2,2,5,1,3。当使用LRU法替换时,为获得最高的命中率,至少应分配给该程序几个实页?其可能的最高命中率为多少?

[答案]:由于LRU是堆栈型替换算法,因此,随着分配给该程序的实页数的增加,主存命中率会单调上升。但是在实页数增加到一定的程度后,命中率就不再提高,下面使用堆栈处理法,该程序处理过程如下表所示,其中N为主存页面数。

更多精品文档

学习-----好资料

由上表可以看出,采用LRU替换算法,要达到最高命中率,只需要分配该该程序4个实页,最高命中率为:H=7/12=0.58。

更多精品文档