- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机体系结构第五章-2讲述
一. 三种类型的不命中(3C)
1. 强制性不命中(强制性失效,Compulsory miss)
当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效。 (也称为冷启动失效或首次访问失效。)
2. 容量不命中(容量失效,Capacity miss) 如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效。;3. 冲突不命中(冲突失效,Conflict miss) 在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。这就是发生了冲突失效。(碰撞失效,干扰失效)
三种失效所占的比例: 表5.5;减少三种失效的方法
强制性失效:增加块大小,预取
(本身很少)
容量失效:增加容量
(抖动现象)
冲突失效:提高相联度
(理想情况:全相联)
许多降低失效率的方法会增加命中时间或失效开销
;二. 增加Cache块大小
当Cache的容量一定时,块的大小对命中率的影响非常大。下图表示随着Cache块由小到大的变化,命中率H上升和下降的规律。;措施:适当增加块的大小,但不能增大到使不命中率上升的程度。
各种块大小情况下Cache的不命中率;;三. 提高相联度
1. 相联度(n值)
在组相联映像中,如果每组中有n个块,则称该映像规则为n路组相联。 n的不同取值构成了一系列不同相联度的组相联。;当n=1时,为直接映像。
当n=M(Cache的块数)时,为全相联映像。; 2. 相联度越高(即n值越大), Cache空间的利用率就越高,块冲突概率就越低,因而Cache的不命中率就越低。
同时,提高相联度则可能以增加命中时间为代价。;例: 假定提高相联度会按下列比例增大处理器时钟周期:
时钟周期2路 =1.10×时钟周期1路
时钟周期4路 =1.12×时钟周期1路
时钟周期8路 =1.14×时钟周期1路
假定命中时间为一个时钟周期,直接映象情况下失效开销为50个时钟周期,而且假设不必将失效开销取整。使用表5.5中的失效率,试问当Cache容量一定时,各种相联度下的平均访存时间为多少?(是否相联度越大平均访存时间越短);解 在各种相联度的情况下,平均访存时间分别为:
平均访存时间8路 = 命中时间8路 + 失效率8路×失效开销8路
= 1.14 +失效率8路 ×50
平均访存时间4路 = 1.12 +失效率4路 ×50
平均访存时间2路 = 1.10 +失效率2路 ×50
平均访存时间1路 = 1.00 +失效率1路 ×50
把一定容量Cache相应的失效率代入上式,即可得平均访存时间。
例如,1 KB的直接映象Cache的平均访存时间为:
平均访存时间1路 = 1.00+0.133×50=7.65
128 KB的8路组相联Cache的平均访存时间为:
平均访存时间8路=1.14+0.006×50=1.44;Cache
容量
(KB);四. 增加Cache容量
Cache的容量是影响命中率的主要因素,在地址映象方式确定后,Cache的容量越大,命中率也就越高。根据模拟测试的结果,在一般情况下,命中率H和Cache容量S的关系可近似地表示为:;5.4 减少Cache不命中开销;局部不命中率与全局不命中率
局部不命中率=该级Cache的不命中次数/到达该级Cache的访问次数
例如:上述式子中的不命中率L2
全局不命中率=该级Cache的不命中次数/CPU发出的访存的总次数
第二级Cache的全局不命中率为:
全局不命中率L2=不命中率L1×不命中率L2
评价第二级Cache时,应使用全局不命中率这个指标。它指出了在CPU发出的访存中,究竟有多大比例是穿过各级Cache,最终到达存储器的。; 例.假设在1000次访存中,第一级Cache不命中40次, 第二级Cache不命中20次。试问:在这种情况下,该Cache系统的局部不命中率和全局不命中率各是多少?
解:
第一级Cache的不命中率(全局和局部)是40/1000,即4%;
第二级Cache的局部不命中率是20/40,即50%;
第二级Cache的全局不命中率是20/1000,即2%。 ;对于第二级Cache,我
文档评论(0)