第四章 高速缓冲存储器.ppt_第1页
第四章 高速缓冲存储器.ppt_第2页
第四章 高速缓冲存储器.ppt_第3页
第四章 高速缓冲存储器.ppt_第4页
第四章 高速缓冲存储器.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1,第四章高速缓冲存储器,2,3,Cache-主存层次层次化存储系统实现的依据是:程序访问的局部性原理。局部性的实质是:根据程序的最近情况,可以较精确地预测出最近的将来将要用到哪些指令和数据。时间局部性:最近访问过的代码可能是不久将被访问的代码。空间局部性:地址相邻的代码可能会被一起访问,4,依据程序访问的局部性原理,可将频繁访问的指令和数据存放在速度较快、容量较小而价格较高的高层存储器中,而将不频繁访问的指令和数据存放在速度较慢、价格较低而容量较大的低层存储器中,以使存储器系统具有较高的平均访存速度。Cache和主存都划分成相同大小的块。当CPU按主存地址访问信息时,首先查看该信息是否在cache中,若命中则从cache中读取,若没有命中,则从主存中读取该信息,并将包含该信息的整个数据块从主存调入Cache中。这时,如果Cache已满,则要采用某种Cache替换算法把不常用的一块调出,以便腾出空间来存放新调入的块。,5,存储层次设计的四个问题Q1:信息块可以放在高层的哪里?(Blockplacement)全相联、组相联、直接映射Q2:如果信息块在高层,那么如何找到它?(Blockidentification)标记/信息块Q3:在失效时,应该替换掉哪个信息块?(Blockreplacement)随机、LRU、FIFOQ4:在写操作时,会发生什么情况(Writestrategy)回写(WriteBack)或直写(WriteThrough)(使用写缓冲器,6,7,8,9,Cache性能CPUtime=(CPUexecutionclockcycles+Memorystallclockcycles)clockcycletimeMemorystallclockcycles=(ReadsReadmissrateReadmisspenalty+WritesWritemissrateWritemisspenalty)Memorystallclockcycles=MemoryaccessesMissrateMisspenalty,10,Cache性能(续)CPUtime=InstructionCount(CPIexecution+MemaccessesperinstructionMissrateMisspenalty)ClockcycletimeMissesperinstruction=MemoryaccessesperinstructionMissrateCPUtime=IC(CPIexecution+MissesperinstructionMisspenalty)ClockcycletimeMemorystallcyclesperinstruction=Missesperinstruction(TotalmisslatencyOverlappedmisslatency)AverageMemoryaccesstime=Hittime+MissrateMisspenalty,11,改进Cache性能AverageMemoryaccesstime=Hittime+MissrateMisspenalty1.降低失效率2.降低失效损失,或者3.减少在cache中命中的时间,12,降低失效对失效进行分类:3CsCompulsory第一次访问一个不在cache中的数据块,该块必须被调入。也称为coldstartmisseso或firstreferencemisses。(即使Cache无穷大,也会失效)Capacity在程序执行中,cache不能存放其所需的所有数据块,就会先放弃一些块然后再找回,这就出现了capacitymisses。(有限大小的全相联Cache也会出现的失效)Conflict如果采用组相联或直接映射的策略,除了义务失效和容量失效,还会因为有太多块要同时映射到同一组中,就会先放弃一些块然后再找回,这就出现了conflictmisses。也称为collisionmisses或interferencemisses。(有限大小的N路组相联Cache中出现的失效),13,14,15,如何能减少失效?3Cs:Compulsory,Capacity,Conflict在所有情况,假设总的cache大小不变:在下列情况,会发生什么变化:1)改变块大小:3Cs中哪些失效会受到明显影响?2)改变相联度:3Cs中哪些失效会受到明显影响?3)改变编译器:3Cs中哪些失效会受到明显影响?,16,1.通过增大块大小来减少失效,17,2.通过增大相联度来减少失效8路组相联实际上在减少Missrate方面与全相效果接近。2:1Cache规律:MissRateDMcachesizeN=MissRate2-waycachesizeN/2小心:执行时间是唯一最终度量标准!是否时钟周期时间会增加?Hill1988的研究表明2-waycache的命中时间比1-way外部cache的时间会+10%,比内部cache的时间会+2%通过增加Cache容量来减少失效。,18,19,20,4.通过伪相联减少失效如何结合直接映射的快速命中时间和两路组相联cache的低冲突失效的优势?分解cache:在失效时,检查cache的另一半看是否有所需信息,如果有称为伪命中(pseudo-hit)(慢命中),缺点:如果命中需要1或2个周期,那么CPU难以流水适用于不与处理器直接连接的cache(二级cache)用于MIPSR1000和UltraSPARC的二级cache。,21,5.通过硬件预取指令和数据减少失效例如,指令预取Alpha21064在失效时取2个信息块额外的块放置在流缓冲器(streambuffer)中失效时,检测流缓冲器对于数据块也可使用上述策略Jouppi1990对于4KBcache,1个数据流缓冲器可以减少25%的损失;4个流缓冲器,减少43%PalacharlaintkeySIZE;/*After:1arrayofstuctures*/structmergeintval;intkey;structmergemerged_arraySIZE;减少val和key之间的冲突改进空间局部性,25,总结CPUtime=ICCPIExecution+MemoryaccessesInstructionMissrateMisspenaltyClockcycletime3Cs:Compulsory,Capaci

温馨提示

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

评论

0/150

提交评论