- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章存储层次课件.ppt
Review-减少失效开销 多级Cache技术(Multilevel Caches) 子块放置技术(Sub-block Placement) 请求字处理技术(Critical Word First and Early Restart) 让读优先于写(Giving Priority to Read Misses over Writes) 合并写(Merging Write Buffer) Victim Caches 5.5 通过并行操作减少失效开销或失效率 非阻塞Cache技术 (Nonblocking Caches to Reduce stalls on Cache Misses) 针对乱序执行的处理器 硬件预取技术(Hardware Prefetching of Instructions and Data) 编译器控制的预取技术 (Compiler-Controlled Prefetching) 非阻塞Cache技术 对有些允许乱序执行的机器(采用动态调度方法),CPU无需在Cache失效时等待。即在等待数据Cache失效时,可以继续取指令。 采用非阻塞Cache或非锁定Cache技术,在某一Cache失效时,仍然允许CPU进行其他的命中访问,可以有效地提高CPU性能。 Hit under n-miss HP PA8000 n = 8 失效下命中,Cache控制器复杂度上升,因为这时可能有多个访存同时进行。 Blocking cache vs. Nonblocking Cache 硬件预取 Victim Cache, Pseudo Associative Cache 可以在不影响处理器时钟的频率下,降低失效率,预取技术也能实现这一点 CPU在执行这块代码时,硬件预取下一块代码,因为CPU可能马上就要执行这块代码,这样可以降低或消除Cache的访问失效 当块中有控制指令时,预取失效 预取的指令可以放在Icache中,也可以放在其他地方(存取速度比Memory块的地方 AXP21064失效时,取2块指令块 目标块放在Icache,下一块放在ISB(指令流缓冲)中 如果访问的块在ISB中,取消访存请求,直接从ISB中读,并发出对下一指令块的预取访存请求 Jouppi研究结果:块大小为16字节,容量为4KB的直接映象Cache,1个块的指令流缓冲器,可以捕获15%-25%的失效,4个块 ISB可捕获50%的失效,16块ISB可捕获72%的失效 硬件预取 预取数据 出发点:CPU访问一块数据,可能马上要访问下一块数据 Jouppi研究结果:块大小16字节,4KB直接映象Cache, 1Block DSB-25% 4Block DSB - 43% Palacharla和Kessler 1994年研究 一个具有两个64KB四路组相联(Icache, Dcache)的处理器来说,8Blocks流缓冲器能够捕获其50%-70%的失效 举例:Alpha AXP21064采用指令预取技术,其实际失效率是多少?若不采用指令预取技术,Alpha AXP 21064的指令Cache必须为多大才能保持平均访存时间不变? 假设当指令不在指令Cache中,在预取缓冲区中找到时,需要多花1个时钟周期。 假设预取命中率为25%,命中时间为1个时钟周期,失效开销为50个时钟周期 8KB指令Cache的失效率为1.10%,16KB指令cache的失效率为0.64% 注意:预取是利用存储器的空闲带宽,而不是与正常的存储器操作竞争。 由编译器控制预取 (1/2) 在ISA中增加预取指令,让编译器控制预取 预取的种类 寄存器预取 : 把数据取到R中 Cache预取:只将数据取到Cache中,不放入寄存器 故障问题 两种类型的预取可以是故障性预取,也可以是非故障性预取 所谓故障性预取指在预取时若出现虚地址故障,或违反保护权限,就会有异常发生 非故障性预取,如导致异常就转化为空操作 只有在预取时,CPU可以继续执行的情况下,预取才有意义 Cache在等待预取数据返回的同时,可以正常提供指令和数据,称为非阻塞Cache或非锁定Cache 由编译器控制预取 (2/2) 循环是预取优化的主要目标 失效开销较小时,Compiler简单的展开一两次,调度好预取与执行的重叠 失效开销较大时,编译器将循环体展开多次,以便为较远的循环预取数据 由于发出预取指令需要花费一条指令的开销,因此要避免不必要的预取 重点放在那些可能导致失效的访问 举例:P307 (Hennessy Patterson) 举例:P308 (Hennessy Patterson) Review 降低失效率的基本方法 增大Cache容量 增大块大小 提高相联度 Victim Cach
您可能关注的文档
最近下载
- 图解西次一经.pdf VIP
- 第八届全国职工职业技能大赛(网约配送员)国赛备赛试题库资料-下(多选、判断题汇.pdf
- 培训教材质量功能展开完整版.pptx VIP
- 2023全氟异丁腈混合比检测仪技术规范.docx VIP
- 精品解析:2025高考全国二卷语文(原卷版).pdf VIP
- 2025年平面设计师专业能力测试卷:色彩搭配与视觉传达技巧试题.docx VIP
- TCCEAS 001-2022 建设项目工程总承包计价规范.pdf VIP
- 大塘矿试生产运行方案.doc VIP
- 18项医疗质量安全核心制度(2017.2.16).doc VIP
- 2025年海南省海口市笔试辅警协警预测试题(附答案).docx VIP
文档评论(0)