Cache基本知识实用.PPTx

上传人:莉*** 文档编号:87573883 上传时间:2023-04-16 格式:PPTX 页数:46 大小:352.82KB
返回 下载 相关 举报
Cache基本知识实用.PPTx_第1页
第1页 / 共46页
Cache基本知识实用.PPTx_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《Cache基本知识实用.PPTx》由会员分享,可在线阅读,更多相关《Cache基本知识实用.PPTx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、5.2.1 映象规则1.全相联映象 全相联:全相联:主存中的任一块可以被放置到主存中的任一块可以被放置到 CacheCache中的任意一个位置。中的任意一个位置。举例举例 对比:对比:阅览室位置阅览室位置 随便坐随便坐 特点:特点:空间利用率最高,冲突概率最低,空间利用率最高,冲突概率最低,实现最复杂。实现最复杂。2Cache和主存分块5.2 Cache 基本知识第1页/共46页第2页/共46页2.直接映象 直接映象:直接映象:主存中的每一块只能被放置到主存中的每一块只能被放置到 CacheCache中唯一的一个位置。中唯一的一个位置。举例举例 (循环分配循环分配)对比:对比:阅览室位置阅览室

2、位置 只有一个位置可只有一个位置可 以坐以坐 特点:特点:空间利用率最低,冲突概率最高,空间利用率最低,冲突概率最高,实现最简单。实现最简单。对于主存的第对于主存的第i i 块,若它映象到块,若它映象到CacheCache的第的第 j j 块,则块,则:j ji i mod(mod(M M)(M M为为CacheCache的块数)的块数)5.2 Cache 基本知识第3页/共46页第4页/共46页 组相联:组相联:主存中的每一块可以被放置到主存中的每一块可以被放置到CacheCache 中唯一的一个组中的任何一个位置。中唯一的一个组中的任何一个位置。举例举例 组相联是直接映象和全相联的一种折衷

3、组相联是直接映象和全相联的一种折衷 设设M M2 2m m,则当表示为二进制数时,则当表示为二进制数时,j j 实际实际 上就是上就是i i 的低的低m m 位:位:3.组相联映象m位ji:5.2 Cache 基本知识第5页/共46页第6页/共46页 上述的上述的j j 和和k k 通常称为通常称为索引索引 组的选择常采用位选择算法组的选择常采用位选择算法 若主存第若主存第i i 块映象到第块映象到第k k 组,则组,则:k ki i modmod(G G)(G G为为CacheCache的组数)的组数)设设G G2 2g g,则当表示为二进制数时,则当表示为二进制数时,k k 实实 际上就是

4、际上就是i i 的低的低 g g 位:位:g 位ki:5.2 Cache 基本知识第7页/共46页 绝大多数计算机的绝大多数计算机的Cache:Cache:n n 44 想一想:相联度一定是越大越好?想一想:相联度一定是越大越好?n n 路组相联:路组相联:每组中有每组中有n n 个块个块(n nM M/G G)n n 称为称为相联度。相联度。相联度越高,相联度越高,CacheCache空间的利用率就越高,空间的利用率就越高,块冲突概率就越低,失效率也就越低。块冲突概率就越低,失效率也就越低。全相联全相联直接映象直接映象组相联组相联n n (路数路数)G G (组数组数)M MM M1 11

5、11 1n nM M1 1G GM M5.2 Cache 基本知识第8页/共46页5.2.2 查找方法1.如何确定Cache中是否有所要访问的块?若有的话如何确定其位置?若有的话如何确定其位置?答案答案5.2 Cache 基本知识第9页/共46页 目录表的结构目录表的结构第10页/共46页 只需查找只需查找候选位置候选位置所对应的目录表项所对应的目录表项第11页/共46页 并行查找与顺序查找并行查找与顺序查找第12页/共46页 提高性能的提高性能的重要思想:重要思想:主候选位置主候选位置(MRU(MRU块块)前瞻执行前瞻执行第13页/共46页 并行查找的实现方法:并行查找的实现方法:5.2 C

6、ache 基本知识举例:举例:路组相联并行标识比较路组相联并行标识比较 (比较器的个数及位数)(比较器的个数及位数)l 相联存储器相联存储器l 单体多字存储器比较器单体多字存储器比较器 第14页/共46页第15页/共46页 路路组组相联相联CacheCache的查找过程的查找过程第16页/共46页 直接映象直接映象CacheCache的查找过程的查找过程第17页/共46页5.2.3 替换算法 所要解决的问题:当新调入一块,而所要解决的问题:当新调入一块,而CacheCache又已被占满时,替换哪一块?又已被占满时,替换哪一块?2.FIFO3.LRU 优点:优点:失效率低失效率低 LRULRU和

7、随机法的失效率的比较和随机法的失效率的比较1.随机法 优点:优点:实现简单实现简单5.2 Cache 基本知识第18页/共46页第19页/共46页5.2.4 写策略1.“写”操作所占的比例 LoadLoad指令:指令:2626 StoreStore指令:指令:9 9 “写写”在所有访存操作中所占的比例:在所有访存操作中所占的比例:9 9/(100/(10026269 9)7)7 “写写”在访问在访问CacheCache操作中所占的比例:操作中所占的比例:9 9/(26/(269 9)25)253“写”访问有可能导致Cache和主存内容的不一致2.“写”操作必须在确认是命中后才可进行5.2 Ca

8、che 基本知识第20页/共46页4两种写策略 写直达法写直达法 执行执行“写写”操作时,不仅写入操作时,不仅写入CacheCache,而且,而且 也写入下一级存储器。也写入下一级存储器。写回法写回法 执行执行“写写”操作时,只写入操作时,只写入CacheCache。仅当。仅当 CacheCache中相应的块被替换时,才写回主存。中相应的块被替换时,才写回主存。(设置设置“污染位污染位”)5.2 Cache 基本知识第21页/共46页5 5两种写策略的比较两种写策略的比较 写回法的写回法的优点:优点:速度快,所使用的存储器频速度快,所使用的存储器频 带较低;带较低;写直达法的写直达法的优点:优

9、点:易于实现,一致性好。易于实现,一致性好。第22页/共46页6.写缓冲器8.写策略与调块 写回法写回法 按写分配按写分配 写直达法写直达法 不按写分配不按写分配7.“写”操作时的调块 按写分配按写分配(写时取写时取)写失效时,先把所写单元所在的块调入写失效时,先把所写单元所在的块调入 CacheCache,再行写入。,再行写入。不按写分配不按写分配(绕写法绕写法)写失效时,直接写入下一级存储器而不调块。写失效时,直接写入下一级存储器而不调块。5.2 Cache 基本知识第23页/共46页5.2.5 Cache的结构例子:例子:DECDEC的的Alpha AXP21064Alpha AXP21

10、064中的内部数据中的内部数据 CacheCache。1.简介 容量:容量:8KB8KB 块大小:块大小:32B32B 块数:块数:256256 采用采用不按写分配不按写分配 映象方法:映象方法:直接映象直接映象 “写写”策略:策略:写直达写直达 写缓冲器大小:写缓冲器大小:4 4个块个块5.2 Cache 基本知识第24页/共46页2.结构图第25页/共46页3.工作过程 “读读”访问访问命中命中第26页/共46页 “写写”访问访问命中命中第27页/共46页5.混合Cache与分离Cache (1)(1)优缺点优缺点 (2)(2)失效率的比较失效率的比较 5.2 Cache 基本知识 失效情

11、况下的操作失效情况下的操作第28页/共46页16 KB16 KB容量1 KB1 KB2 KB2 KB4 KB4 KB8 KB8 KB32 KB32 KB指令 Cache3.06%失 效 率 的 比 较64 KB64 KB128 KB128 KB数据 Cache混合 Cache2.26%1.78%1.10%0.64%0.39%0.15%0.02%24.61%20.57%15.94%10.19%6.47%4.82%3.77%2.88%13.34%9.78%7.24%4.57%2.87%1.99%1.36%0.95%第29页/共46页(3)(3)分离分离CacheCache平均失效率的计算:平均失效

12、率的计算:访问指令访问指令CacheCache的百分比的百分比指令指令CacheCache的失效率的失效率访问数据访问数据CacheCache的百分比的百分比数据数据CacheCache的失效率的失效率5.2.6 Cache性能分析2.平均访问时间 平均访问时间命中时间失效率平均访问时间命中时间失效率失效开销失效开销1.失效率第30页/共46页例5.15.1 假设假设CacheCache的命中时间为的命中时间为1 1个时钟周期,失效个时钟周期,失效开销为开销为50 50 个时钟周期,在混合个时钟周期,在混合CacheCache中一次中一次loadload或或storestore操作访问操作访问

13、CacheCache的命中时间都要增加一个的命中时间都要增加一个时钟周期时钟周期(因为混合因为混合CacheCache只有一个端口,无法同只有一个端口,无法同时满足两个请求。按照前一章中有关流水线的术时满足两个请求。按照前一章中有关流水线的术语,混合语,混合CacheCache会导致结构冲突会导致结构冲突),根据表,根据表5 54 4所所列的失效率,试问指令列的失效率,试问指令CacheCache和数据和数据CacheCache容量均容量均为为16KB16KB的分离的分离CacheCache和容量为和容量为32KB32KB的混合的混合CacheCache相相5.2 Cache 基本知识第31页

14、/共46页解:如前所述,约如前所述,约75%75%的访存为取指令。因此,的访存为取指令。因此,分离分离CacheCache的总体失效率为:的总体失效率为:(75%0.64%)(75%0.64%)(25%6.47%)(25%6.47%)2.10%2.10%根据表根据表5 54 4,容量为,容量为32KB32KB的混合的混合CacheCache的失的失效率略低一些,只有效率略低一些,只有1.99%.1.99%.比,哪种比,哪种CacheCache的失效率更低?又假设采用写直达的失效率更低?又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。

15、请问上述两种情况下平均访存时间各起的等待。请问上述两种情况下平均访存时间各是多少?是多少?5.2 Cache 基本知识第32页/共46页平均访存时间公式可以分为指令访问和数据平均访存时间公式可以分为指令访问和数据访问两部分:访问两部分:平均访存时间平均访存时间指令所占的百分比指令所占的百分比 (指令命中时间指令失效率指令命中时间指令失效率失效开销失效开销)数据所占的百分比数据所占的百分比 (数据命中时间数据失效率数据命中时间数据失效率失效开销失效开销)所以,两种结构的平均访存时间分别为:所以,两种结构的平均访存时间分别为:平均访存时间平均访存时间分离分离75%(175%(10.64%50)0.

16、64%50)25%(125%(16.47%50)6.47%50)(75%1.32)(75%1.32)(25%4.325)(25%4.325)0.9900.9901.0591.0592.052.055.2 Cache 基本知识第33页/共46页平均访存时间平均访存时间混合混合75%(175%(11.99%50)1.99%50)25%(125%(11 11.99%50)1.99%50)(75%1.995)(75%1.995)(25%2.995)(25%2.995)1.4961.4960.7490.7492.242.243.程序执行时间 CPUCPU时间时间(CPU(CPU执行周期数存储器停顿周期数

17、执行周期数存储器停顿周期数)时钟周期时间时钟周期时间 其中,其中,存储器停顿周期数存储器停顿周期数访存次数访存次数失效率失效率 失效开销失效开销5.2 Cache 基本知识第34页/共46页CPUCPU时间时间ICICCPIexeCPIexe每条指令的平均存储每条指令的平均存储 器停顿周期数器停顿周期数时钟周期时间时钟周期时间CPUCPU时间时间ICICCPIexeCPIexe访存次数访存次数/指令数指令数 失效率失效率失效开销失效开销时钟周期时间时钟周期时间5.2 Cache 基本知识第35页/共46页例5.25.2 我们用一个和我们用一个和Alpha AXPAlpha AXP类似的机器作为

18、类似的机器作为第一个例子。假设第一个例子。假设CacheCache失效开销为失效开销为5050个时钟个时钟周期,当不考虑存储器停顿时,所有指令的周期,当不考虑存储器停顿时,所有指令的执行时间都是执行时间都是2.02.0个时钟周期,个时钟周期,CacheCache的失效的失效率为率为2%2%,平均每条指令访存,平均每条指令访存1.331.33次。试分析次。试分析CacheCache对性能的影响。对性能的影响。第36页/共46页考虑考虑CacheCache的失效后,性能为:的失效后,性能为:CPU CPU 时间时间有有cachecacheICIC(2.0(2.0(1.332%50)(1.332%5

19、0)时钟周期时间时钟周期时间 ICIC3.333.33时钟周期时间时钟周期时间CPU CPU 时间时间ICIC(CPICPIexeexe )时钟周期时间时钟周期时间存储器停顿周期数存储器停顿周期数指令数指令数解:5.2 Cache 基本知识实际实际CPI CPI:3.333.333.33/2.0=1.67(3.33/2.0=1.67(倍倍)第37页/共46页 CPU CPU时间也增加为原来的时间也增加为原来的1.671.67倍。但若不采用倍。但若不采用Cache,Cache,则:则:CPICPI2.0+501.332.0+501.3368.568.55.2 Cache 基本知识第38页/共46

20、页 考虑两种不同组织结构的考虑两种不同组织结构的CacheCache:直接映象:直接映象CacheCache和两路组相联和两路组相联CacheCache,试问它们对,试问它们对CPUCPU的性的性能有何影响?先求平均访存时间,然后再计算能有何影响?先求平均访存时间,然后再计算CPUCPU性能。分析时请用以下假设:性能。分析时请用以下假设:理想理想Cache(Cache(命中率为命中率为100100)情况下的情况下的CPICPI 为为2.02.0,时钟周期为,时钟周期为2ns2ns,平均每条指令,平均每条指令 访存访存1.31.3次。次。两种两种CacheCache容量均为容量均为64KB64K

21、B,块大小都是,块大小都是3232 字节。字节。例5.35.35.2 Cache 基本知识第39页/共46页 图图5.105.10说明,在组相联说明,在组相联CacheCache中,我们必须增中,我们必须增 加一个多路选择器,用于根据标识匹配结果加一个多路选择器,用于根据标识匹配结果 从相应组的块中选择所需的数据。因为从相应组的块中选择所需的数据。因为CPU CPU 的速度直接与的速度直接与CacheCache命中的速度紧密相关命中的速度紧密相关,所所 以对于组相联以对于组相联CacheCache,由于多路选择器的存,由于多路选择器的存 在而使在而使CPUCPU的时钟周期增加到原来的的时钟周期

22、增加到原来的1.101.10倍。倍。这两种结构这两种结构CacheCache的失效开销都是的失效开销都是70ns70ns。在。在 实际应用中,应取整为整数个时钟周期。实际应用中,应取整为整数个时钟周期。命中时间为命中时间为1 1个时钟周期,个时钟周期,64KB64KB直接映象直接映象 CacheCache的失效率为的失效率为1.4%1.4%,相同容量的两路组,相同容量的两路组 相联相联CacheCache的失效率为的失效率为1.0%1.0%。5.2 Cache 基本知识第40页/共46页第41页/共46页由由:平均访存时间命中时间失效率平均访存时间命中时间失效率失效开销失效开销得得:平均访存时

23、间平均访存时间1 1路路2.02.0(0.01470)(0.01470)2.98ns2.98ns平均访存时间平均访存时间2 2路路2.01.102.01.10(0.01070)(0.01070)2.90ns2.90ns由由:CPU CPU 时间时间ICIC(CPICPIexeexe每条指令的平均存储器每条指令的平均存储器 停顿周期数停顿周期数)时钟周期时间时钟周期时间 IC IC(CPICPIexeexe时钟周期时间时钟周期时间 每条指令的平均存储器停顿时间每条指令的平均存储器停顿时间)解:5.2 Cache 基本知识第42页/共46页CPUCPU时间时间1 1路路IC(2.02IC(2.02

24、(1.30.01470)(1.30.01470)5.27IC5.27ICCPUCPU时间时间2 2路路IC(2.021.10IC(2.021.10 (1.30.01070)(1.30.01070)5.31IC5.31IC得:得:5.31IC5.31ICCPUCPU时间时间1 1路路 1.011.015.27IC5.27ICCPUCPU时间时间2 2路路5.2 Cache 基本知识第43页/共46页平均访存时间命中时间失效率平均访存时间命中时间失效率失效开销失效开销可以从三个方面改进可以从三个方面改进CacheCache的性能:的性能:(1)(1)降低失效率降低失效率(2)(2)减少失效开销减少失效开销(3)(3)减少减少CacheCache命中时间命中时间下面介绍下面介绍1515种种CacheCache优化技术优化技术5.2.7 改进Cache性能5.2 Cache 基本知识第44页/共46页第45页/共46页谢谢您的观看!第46页/共46页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁