3.并行主存与存储

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.并行主存与存储

3.1 什么是存储系统?对于一个由两个存储器M1和M2构成的存储系统,设M1的命中率

为h ,两个存储器的容量分别为S1和S2,访问速度分别为T1和T2,每千字节的价格分别为C1和C2。

(1)在什么情况下,整个存储系统的每千字节的平均价格接近于C2? (2)写出这个存储系统的等效访问时间Ta 的表达式。

(3)假设存储系统的访问效率e=T1/Ta ,两个存储器的速度比r=T2/T1。试以速度比r 和命中率h 来表示访问效率e 。

(4)写出r=5,20,100时,访问效率e 和命中率h 的关系式。

(5)如果r=100,为了使访问效率e>0.95,要求命中率h 是多少?

(6)对于(4)所要求的命中率实际上很难达到。假设实际的命中率只能达到0.96。现采用一种缓冲技术来解决这个问题。当访问M1不命中时,把包括被访问数据在内的一个数据块都从M2取到M1中,并假设被取到M1中的每个数据平均可以被重复访问5次。请设计缓冲深度(即每次从M2取到M1中的数据块的大小)。 【参考答案】

解:存储系统是指多个性能各不相同的存储器用硬件或软件方法连接成一个系统。这个系统对应用程序员透明。在应用程序员看来,它是一个存储器,其速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。

(1)当S2>>S1

(2)Ta=h·(3)e=T1/Ta=T1/(h·T1+(1-h)·T2) =1/(h+ (1-h)·T2/T1) =1/(h+ (1-h)·r) (4)r=5,

e=1/(5-4h); r=20, e=1/(20-19h); r=100, e=1/(100-99h)。 (5)由e=1/(h+ (1-h)·r)= 1/(h+ (1-h)·100)>0.95 得 h>94/94.05=99.958%

(6)h=0.96 设缓冲深度为A ,则n=5·A 由 h’=99.95%=(h+n -1)/n 求得A=16

3.2 由3个访问速度、存储容量和每位价格都不相同的存储器构成一个存储系统,其中M1靠近CPU 。回答下列问题:

(1表达式。

(2)在什么条件下,整个存储系统的每位平均价格接近于C3? 【参考答案】

解:设S1C2>C3

H1为在M1中访问的命中率 H2为在M2中访问的命中率 则(1)

S=S3(利用地址映象和地址变换)

T=H1·T1+(1-H1)·T23

=H1·T1+(1-H1)·(H2·T2+(1-H2)·T3)

当H1→1,H2→1时,T≈T1

C=(C1·S1+C2·S2+C3·S3)/(S1+S2+S3)

(2)当S3>>S2>>S1

C=(C1·S1/S3+C2·S2/S3+C3)/(S1/S3+S2/S3+1)

≈C3

3.3要求设计一个由Cache和主存构成的两级存储系统,已知Cache的容量有三种选择:64KB、128KB和256KB,它们的命中率分别为0.7、0.9和0.98。主存容量为4MB。设两个存储器的访问时间分别为t1和t2,每字节的价格分别为c1和c2。如果c1=20c2时,t2=10t1。

(1)在t1=20ns的条件下,分别计算三种Cache的等效访问时间。

(2)如果c2=0.2美元/KB,分别计算三种Cache每字节的平均价格。

(3)根据三种Cache的等效访问时间和每字节的平均价格排列次序。

(4)根据等效访问时间和平均价格的乘积,选择最优的设计。

【参考答案】

解:已知c1=20c2,t2=10t1,s2=4MB,t1=20ns,C2=0.2美元/KB

(1) 1) h=0.7,t2=10t1=200ns

Ta=h×t1+(1-h)×t2=0.7×20+0.3×200=74ns

2) h=0.9,t2=200ns

Tb=h×t1 +(1-h)×t2=0.9×20+0.1×200=38ns

3) h=0.98,t2=200ns

Tc=h×t1 +(1-h)×t2=0.98×20+0.02×200=23.6ns

(2) 1) s1=64KB,c1=20c2=4美元/KB

Ca=(c1×s1+c2×s2)/(s1+s2)

=(4×64+0.2×4K)/(64+4K)≈0.26美元/KB

2) s1=128KB,c1=20c2=4美元/KB

Cb=(4×128+0.2×4K)/(128+4K)≈0.32美元/KB

3) s1=256KB,c1=20c2=4美元/KB

Cc=(4×256+0.2×4K)/(256+4K)≈0.43美元/KB

(3) Ta>Tb>Tc

Ca

(4) Ta×Ca=74ns×0.26美元/KB=19.24

Tb×Cb=38ns×0.32美元/KB=12.16

Tc×Cc=23.6ns×0.43美元/KB=10.148

∵Tc×Cc最小

∴第3种设计最优

3.4一个二级虚拟存储系统,CPU访问主存M1和辅存M2的平均时间分别为1us和1ms。经实测,此虚拟存储器平均访问时间为100us。试定性提出使虚拟存储器平均访问时间能从100us下降到10us的几种方法,并分析这些方法在硬件和软件上的代价。

【参考答案】

解:已知T1=1us, T2=1ms, T=100us

由T=H·T1+(1-H)·T2

得H=(T-T2) / (T1-T2)=(100-1000)/(1-1000)=0.901

分析:(1)在H= 0.901的情况下,提高主存速度,极限情况使T1=0,此时,

T=H·T1+(1-H)·T2=(1-0.901)·1ms≈99us>>10us,

说明此法不行

(2)提高H。设T=10us, 则

H=(T-T2) / (T1-T2)=(10-1000)/(1-1000)=0.991

为此,须从改进替换算法和调度策略,调整页面大小,提高主存容量等多方面综合采取

相关文档
最新文档