《体系结构第5章-第2讲课件.ppt》由会员分享,可在线阅读,更多相关《体系结构第5章-第2讲课件.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机体系结构计算机体系结构计算机体系结构计算机体系结构国家精品课程:计算机体系结构国家精品课程:计算机体系结构第五章:存储层次计算机体系结构计算机体系结构计算机体系结构计算机体系结构第五章第五章 存储层次存储层次计算机体系结构计算机体系结构计算机体系结构计算机体系结构5.25.2CacheCache基本知识基本知识基本知识基本知识5.3 5.3 降低降低降低降低CacheCache失效率的方法失效率的方法失效率的方法失效率的方法5.45.4减少减少减少减少CacheCache失效开销失效开销失效开销失效开销5.15.1存储器的层次结构存储器的层次结构存储器的层次结构存储器的层次结构5.55.
2、5减少命中时间减少命中时间减少命中时间减少命中时间5.65.6主存主存主存主存5.75.7虚拟存储器虚拟存储器虚拟存储器虚拟存储器本章内容本章内容计算机体系结构计算机体系结构计算机体系结构计算机体系结构5.2.1 映象规则映象规则1.1.全相联映象全相联映象全相联全相联:主存中的任一块可以被放置到:主存中的任一块可以被放置到CacheCache中的任中的任 意一个位置。意一个位置。对比对比:阅览室位置阅览室位置 随便坐随便坐 特点特点:空间利用率最高,冲突概率最低,空间利用率最高,冲突概率最低,实现最复杂。实现最复杂。5.2 Cache基本知识基本知识计算机体系结构计算机体系结构计算机体系结构
3、计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构设设M2m,则当表示为二进制数时,则当表示为二进制数时,j 实际上就实际上就是是 i 的低的低 m 位:位:m位位ji:对于主存的第对于主存的第i 块,若它映象到块,若它映象到Cache的第的第j块,块,则则:ji mod(M)(M为为Cache的块数)的块数)计算机体系结构计算机体系结构计算机体系结构计算机体系结构u 组相联组相联:主存中的每一块可以被放置到:主存中的每一块可以被放置到Cache中唯一中唯一 的一个组中的任何一个位置。的一个组中的任何一个位置。3.组相联映象组相联映象u 组的选择常采用位选择算法组的选择常采
4、用位选择算法 若主存第若主存第 i 块映象到第块映象到第 k 组,则组,则:ki mod(G)(G为为Cache的组数)的组数)设设G2g,则当表示为二进制数时,则当表示为二进制数时,k 实际上就是实际上就是 i 的低的低 g 位:位:g位位ki:计算机体系结构计算机体系结构计算机体系结构计算机体系结构u 绝大多数计算机的绝大多数计算机的Cache:n 4 想一想:相联度一定是越大越好?想一想:相联度一定是越大越好?u n 路组相联:每组中有路组相联:每组中有n 个块个块(nM/G),n 称为相联称为相联度度 相联度越高,相联度越高,Cache空间的利用率就越高,块冲突概率空间的利用率就越高,
5、块冲突概率 就越低,失效率也就越低。就越低,失效率也就越低。全相联全相联直接映象直接映象组相联组相联n(路数路数)G(组数组数)MM111nM1GM计算机体系结构计算机体系结构计算机体系结构计算机体系结构目录表查找示例目录表查找示例0000010110101111000000000000000001000001111111111111访存地址:访存地址:访存地址:访存地址:000101000101 0101块内地址块内地址块地址块地址256256个字节的个字节的主存空间主存空间64646464个数据块个数据块个数据块个数据块的主存空间的主存空间(块大小(块大小4 4字节)字节)00000000
6、00000010010000008 8个数据块的个数据块的cache:cache:直接映象直接映象0100100000000110110000001001000000001011010000001101100000001111110000006464个数据块的主存空间个数据块的主存空间标识标识数据体数据体2 2tagtagindexindexOffsetOffset3 33 3访存地址:访存地址:XXX XXX 000 000 0000000000000000010000018 8个数据块的个数据块的cache:cache:全相联全相联00001000001000001100001111110
7、01111001111011111011111101111101111111111116464个数据块的主存空间个数据块的主存空间标识标识数据体数据体2 2tagtagOffsetOffset6 6访存地址:访存地址:XXXXXX XXXXXX 计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构所要解决的问题:当新调入一块,而该块能够占用所要解决的问题:当新调入一块,而该块能够占用所要解决的问题:当新调入一块,而该块能够占用所要解决的问题:当新调入一块,而该块能够占用的的的的CacheCache位置已被占满时,替换哪一块?位置已被占
8、满时,替换哪一块?位置已被占满时,替换哪一块?位置已被占满时,替换哪一块?2.FIFO:实现简单实现简单3.LRU:失效率低:失效率低4.LFU:最不常使用法最不常使用法1.随机法:实现简单随机法:实现简单5.2.3 5.2.3 替换算法替换算法计算机体系结构计算机体系结构计算机体系结构计算机体系结构1.“写写”操作所占的比例操作所占的比例 Load指令:指令:26 Store指令:指令:9 “写写”在所有访存操作中所占的比例:在所有访存操作中所占的比例:9/(100269)7 “写写”在访问数据在访问数据Cache操作中所占的比例:操作中所占的比例:9/(269)253.“写写”访问有可能导
9、致访问有可能导致Cache和主存内容的不一致和主存内容的不一致2.“写写”操作必须在确认是否命中后才可进行操作必须在确认是否命中后才可进行5.2.4 5.2.4 写策略写策略计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构6.写缓冲器写缓冲器8.写策略与调块写策略与调块 写回法写回法 按写分配按写分配 写直达法写直达法 不按写分配不按写分配7.“写写”操作时的调块操作时的调块u 按写分配按写分配(写时取写时取):写失效时,先把所写单元所:写失效时,先把所写单元所在在 的块调入的块调入Cache,再行写入。,再行写入。u 不按写分配不按写分配(绕写法绕写法):写失效时,直接写入下一:写失效时,直接写入下一级级 存储器而不调块。存储器而不调块。计算机体系结构计算机体系结构计算机体系结构计算机体系结构谢谢!谢谢!