《计算机系统的体系结构》课后答案_李学干_清华大学出版社 下载本文

(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少? 答:此I/O系统的流量应为各子通道流量之和。即为0.25+O.25+0.5+0.5+0.5=2MB/S

依题意I/O系统流量占主存流量的1/2才算流量平衡。 因此主存流量应达到4MB/S。

第四章课后题

1、设二级虚拟存储器的TA1=10^(-7)s、TA2=10^(-2)s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少?实际上这样高的命中率是很难达到的,那么从存储层次上如何改进? 解:∵e=1/[H+(1-H)r] 且 r=TA2/TA1 ∴H至少达到99.9%

这样的命中率很难达到,可在二级存储器间加一层电子磁盘,降低r,从而降低对H的要求。

2、程序存放在模32单字交叉存储器中,设访存申请队的转移概率λ为25%,求每个存储周期能访问到的平均字数。当模数为16呢?由此你可得到什么结论?

解:B=[ 1-(1-λ)^m] /λ

由λ=0.25,m=32 求得:B=4-4*(3/4)^32=4 同理,m=16时 ,B=4-4*(3/4)^16=3.96

由此可看出,当转移概率λ为25%比较大时,采用模32与模16的每个存储周期能访问的平均字数非常相近。就是说,此时,提高模数m对提高主存实际频宽已不显著。实际上,模数m的进一步增大,会因工程实现上的问题,导致实际性能反而可能比模16的还要低,且价格更高。所以模数m不宜太大。对于λ为25%的情况,可以计算机出m=8时,其B已经接近于3.6了。

3、设主存每个分体的存取周期为2μs,宽度为4个字节。采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍。现要求主存实际频宽为4MB/S,问主存模数m应取多少方能使两者速度基本适配?其中m取2的幂。 解:由题意已知存取周期Tm=2*10^(-6)s,宽度W=4B,B实=0.6Bm=4*2^20B/S, Bm=W*m/Tm=6.99*10^6B/S

m=Bm*Tm/W=6.99*10^6*2*10^-6/4=3.495 所以m取4能满足要求 P.S.

①微秒(百万分之一秒) 1μs=10^-6s

②计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。在二进制中,MB也表示到了百万级的数量级,但1

MB不正好等于1000000字节,而是1048576字节,即 1MB = 2E+20 Bytes = 1048576Bytes。

4、某虚拟存储器共8个页面,每页1024个字,实际主存为4096个字,采用页表法进行地址映象。映象表的内容如下表1所示。 实页号 装入位 3 1 1 1 2 0 3 0 2 1 1 0 0 1 0 0 表1

虚页号 实页号 装入位 0 3 1 1 1 1 2 2 0 3 3 0 4 2 1 5 1 0 6 0 1 7 0 0 表2

(1)列出会发生页面失效的全部虚页号;

解:根据页表法列出表2,当装入位为0时,即为页面失效,再找出相对应的虚页号即可。

会发生页面失效的全部虚页号为:2,3,5,7

(2)按以下虚地址计算主存实地址:0,3728,1023,1024,2055,7800,409

6,6800。

解:虚页号=│_虚地址/页面大小_│

实地址=(实页号*页面大小)+(虚地址-虚页号*页面大小) 虚地址 0 3728 1023 1024 2055 7800 4096 6800 虚页号 0 3 0 1 2 7 4 6 实页号 3 3 3 1 2 0 2 0 装入位 1 0 1 1 0 0 1 1

实地址 3072 3728 4095 1024 2055 632 2048 656

5、一个段页式虚拟存储器。虚地址有2位段号、2位页号、11位页内位移(按字编址),主存容量为32K字。每段可有访问方式保护,其页表和保护位如下表所示。

(1) 此地址空间中共有多少个虚页?

解:2Nv页,而Nv=用户虚页号=段号S+页号P 此地址空间中共有2^Nv=2^(2+2)=16个虚页

6、设某程序包含5个虚页,其页地址为4,5,3,2,5,1,3,2,2,5,1,3。当使用LRU算法替

换时,为获得最高命中率,至少应分配给该程序几个实页?其可能的最高命中率为多少?