精选题(体系结构)_第1页
精选题(体系结构)_第2页
精选题(体系结构)_第3页
精选题(体系结构)_第4页
精选题(体系结构)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例例5.15.1 假设假设CacheCache的命中时间为的命中时间为1 1个时钟周期,失效个时钟周期,失效开销为开销为50 50 个时钟周期,在混合个时钟周期,在混合CacheCache中一次中一次loadload或或storestore操作访问操作访问CacheCache的命中时间都要增加一个的命中时间都要增加一个时钟周期时钟周期( (因为混合因为混合CacheCache只有一个端口,无法同只有一个端口,无法同时满足两个请求。按照前一章中有关流水线的术时满足两个请求。按照前一章中有关流水线的术语,混合语,混合CacheCache会导致结构冲突会导致结构冲突) ),根据表,根据表5 54 4

2、所所列的失效率,试问指令列的失效率,试问指令CacheCache和数据和数据CacheCache容量均容量均为为16KB16KB的分离的分离CacheCache和容量为和容量为32KB32KB的混合的混合CacheCache相相5.2 Cache 基本知识解:解: 如前所述,约如前所述,约75%75%的访存为取指令。因此,的访存为取指令。因此,分离分离CacheCache的总体失效率为:的总体失效率为: (75%(75%0.64%)0.64%)(25%(25%6.47%)6.47%)2.10%2.10% 根据表根据表5 54 4,容量为,容量为32KB32KB的混合的混合CacheCache的

3、失的失效率略低一些,只有效率略低一些,只有1.99%.1.99%.比,哪种比,哪种CacheCache的失效率更低?又假设采用写直达的失效率更低?又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。请问上述两种情况下平均访存时间各起的等待。请问上述两种情况下平均访存时间各是多少?是多少?5.2 Cache 基本知识平均访存时间公式可以分为指令访问和数据平均访存时间公式可以分为指令访问和数据访问两部分:访问两部分:平均访存时间平均访存时间指令所占的百分比指令所占的百分比 ( (指令命中时间指令失效率指令命中时间指令失效率失效开销失效开销)

4、 ) 数据所占的百分比数据所占的百分比 ( (数据命中时间数据失效率数据命中时间数据失效率失效开销失效开销) )所以,两种结构的平均访存时间分别为:所以,两种结构的平均访存时间分别为:平均访存时间平均访存时间分离分离75%75%(1(10.64%0.64%50)50) 25%25%(1(16.47%6.47%50)50) (75%(75%1.32)1.32)(25%(25%4.325)4.325) 0.9900.9901.0591.0592.052.055.2 Cache 基本知识平均访存时间平均访存时间混合混合75%75%(1(11.99%1.99%50)50) 25%25%(1(11 11

5、.99%1.99%50)50) (75%(75%1.995)1.995)(25%(25%2.995)2.995) 1.4961.4960.7490.7492.242.243. 程序执行时间 CPUCPU时间时间(CPU(CPU执行周期数存储器停顿周期数执行周期数存储器停顿周期数) ) 时钟周期时间时钟周期时间 其中,其中, 存储器停顿周期数存储器停顿周期数访存次数访存次数失效率失效率 失效开销失效开销5.2 Cache 基本知识例例5.25.2 我们用一个和我们用一个和Alpha AXPAlpha AXP类似的机器作为类似的机器作为第一个例子。假设第一个例子。假设CacheCache失效开销为

6、失效开销为5050个时钟个时钟周期,当不考虑存储器停顿时,所有指令的周期,当不考虑存储器停顿时,所有指令的执行时间都是执行时间都是2.02.0个时钟周期,个时钟周期, CacheCache的失效的失效率为率为2%2%,平均每条指令访存,平均每条指令访存1.331.33次。试分析次。试分析CacheCache对性能的影响。对性能的影响。考虑考虑CacheCache的失效后,性能为:的失效后,性能为:CPU CPU 时间时间有有cachecacheICIC(2.0(2.0(1.33(1.332%2%50)50) 时钟周期时间时钟周期时间 ICIC3.333.33时钟周期时间时钟周期时间CPU CP

7、U 时间时间ICIC( (CPICPIexeexe ) ) 时钟周期时间时钟周期时间存储器停顿周期数存储器停顿周期数指令数指令数解:解:5.2 Cache 基本知识实际实际CPI CPI :3.333.333.33/2.0 = 1.67(3.33/2.0 = 1.67(倍倍) ) CPU CPU时间也增加为原来的时间也增加为原来的1.671.67倍。但若不采用倍。但若不采用Cache,Cache,则:则: CPICPI2.0+502.0+501.331.3368.568.55.2 Cache 基本知识 考虑两种不同组织结构的考虑两种不同组织结构的CacheCache:直接映象:直接映象Cach

8、eCache和两路组相联和两路组相联CacheCache,试问它们对,试问它们对CPUCPU的性的性能有何影响?先求平均访存时间,然后再计算能有何影响?先求平均访存时间,然后再计算CPUCPU性能。分析时请用以下假设:性能。分析时请用以下假设: 理想理想Cache(Cache(命中率为命中率为100100) )情况下的情况下的CPICPI 为为2.02.0,时钟周期为,时钟周期为2ns2ns,平均每条指令,平均每条指令 访存访存1.31.3次。次。 两种两种CacheCache容量均为容量均为64KB64KB,块大小都是,块大小都是3232 字节。字节。例例5.35.35.2 Cache 基本

9、知识 图图5.105.10说明,在组相联说明,在组相联CacheCache中,我们必须增中,我们必须增 加一个多路选择器,用于根据标识匹配结果加一个多路选择器,用于根据标识匹配结果 从相应组的块中选择所需的数据。因为从相应组的块中选择所需的数据。因为CPU CPU 的速度直接与的速度直接与CacheCache命中的速度紧密相关命中的速度紧密相关, ,所所 以对于组相联以对于组相联CacheCache,由于多路选择器的存,由于多路选择器的存 在而使在而使CPUCPU的时钟周期增加到原来的的时钟周期增加到原来的1.101.10倍。倍。 这两种结构这两种结构CacheCache的失效开销都是的失效开

10、销都是70ns70ns。在。在 实际应用中,应取整为整数个时钟周期。实际应用中,应取整为整数个时钟周期。 命中时间为命中时间为1 1个时钟周期,个时钟周期,64KB64KB直接映象直接映象 CacheCache的失效率为的失效率为1.4%1.4%,相同容量的两路组,相同容量的两路组 相联相联CacheCache的失效率为的失效率为1.0%1.0%。5.2 Cache 基本知识由由: :平均访存时间命中时间失效率平均访存时间命中时间失效率失效开销失效开销得得: :平均访存时间平均访存时间1 1路路2.02.0(0.014(0.01470)70)2.98ns2.98ns平均访存时间平均访存时间2

11、2路路2.02.01.101.10(0.010(0.01070)70)2.90ns2.90ns由由: :CPU CPU 时间时间ICIC( (CPICPIexeexe每条指令的平均存储器每条指令的平均存储器 停顿周期数停顿周期数) )时钟周期时间时钟周期时间 IC IC ( (CPICPIexeexe时钟周期时间时钟周期时间 每条指令的平均存储器停顿时间每条指令的平均存储器停顿时间) )解:解:5.2 Cache 基本知识CPUCPU时间时间1 1路路ICIC(2.0(2.02 2(1.3(1.30.0140.01470)70) 5.275.27ICICCPUCPU时间时间2 2路路ICIC(

12、2.0(2.02 21.101.10 (1.3(1.30.0100.01070)70) 5.315.31ICIC得:得:5.315.31ICICCPUCPU时间时间1 1路路 1.011.015.275.27ICICCPUCPU时间时间2 2路路5.2 Cache 基本知识5.2.4 写策略1. “写”操作所占的比例 LoadLoad指令:指令:2626 StoreStore指令:指令:9 9 “写写”在所有访存操作中所占的比例:在所有访存操作中所占的比例: 9 9/(100/(10026269 9)7)7 “ “写写”在访问在访问CacheCache操作中所占的比例:操作中所占的比例: 9

13、9/(26/(269 9)25)253“写”访问有可能导致Cache和主存内容的不一致2. “写”操作必须在确认是命中后才可进行5.2 Cache 基本知识例例3.53.5 假设某指令序列中假设某指令序列中2020的指令是的指令是LoadLoad指令,指令,并且紧跟在并且紧跟在LoadLoad指令之后的半数指令需要使用到载指令之后的半数指令需要使用到载入的结果,如果这种数据相关将产生一个时钟周期入的结果,如果这种数据相关将产生一个时钟周期的延迟。理想流水线(没有任何延迟,的延迟。理想流水线(没有任何延迟,CPICPI为为1 1)的)的指令执行速度要比这种真实流水线的快多少?指令执行速度要比这种

14、真实流水线的快多少?解解:我们可以利用我们可以利用CPICPI作为衡量标准。对于真实的流作为衡量标准。对于真实的流水线而言,由于水线而言,由于LoadLoad指令之后的半数指令需要暂停,指令之后的半数指令需要暂停,所以这些被暂停指令的所以这些被暂停指令的CPICPI是是2 2。又知。又知LoadLoad指令占全指令占全部指令的部指令的2020,所以真实流水线的实际,所以真实流水线的实际CPICPI为:为:(0.9(0.91+0.11+0.12)=1.12)=1.1,这表示理想流水线的指令执,这表示理想流水线的指令执行速度是其执行速度的行速度是其执行速度的1.11.1倍倍。 3.3 流水线中的相关 并行查找的实现方法:并行查找的实现方法:5.2 Cache 基本知识举例:举例: 路组相联并行标识比较路组相联并行标识比较 (比较器的个数及位数)(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论