计算机系统结构-5-存储层次.

上传人:我** 文档编号:117866275 上传时间:2019-12-11 格式:PPT 页数:173 大小:1.56MB
返回 下载 相关 举报
计算机系统结构-5-存储层次._第1页
第1页 / 共173页
计算机系统结构-5-存储层次._第2页
第2页 / 共173页
计算机系统结构-5-存储层次._第3页
第3页 / 共173页
计算机系统结构-5-存储层次._第4页
第4页 / 共173页
计算机系统结构-5-存储层次._第5页
第5页 / 共173页
点击查看更多>>
资源描述

《计算机系统结构-5-存储层次.》由会员分享,可在线阅读,更多相关《计算机系统结构-5-存储层次.(173页珍藏版)》请在金锄头文库上搜索。

1、1173 2173 5.2 Cache基本知识 5.3 降低Cache失效率的方法 5.4 减少Cache失效开销 5.1 存储器的层次结构 5.5 减少命中时间 5.6 主存 5.7 虚拟存储器 5.8 进程保护和虚存实例 5.9 Alpha AXP 21064存储层次 第五章 存储层次 3173 5.1.1 从单级存储器到多级存储器 1. 从用户的角度来看,存储器的三个主要指标是: 容量,速度,价格(每位价格) 2. 人们对这三个指标的期望 3. 这三个指标相互矛盾 4. 解决方法 采用多种存储器技术,构成存储层次。 演示 演示 (局部性原理) 5.1 存储器的层次结构 第五章 存储层次

2、4173 5173 6173 5.1.2 存储层次的性能参数 C,H,TA 假设:S 容量 TA 访问时间 C 每位价格 下面仅考虑由M1和M2构成的两级存储层次: M1的参数:S1,TA1,C1 M2的参数:S2,TA2,C2 1. 每位价格C C C1S1C2S2 S1S2 5.1 存储器的层次结构 7173 2. 命中率 H 和失效率 F HN1/(N1N2) N1 访问M1的次数 N2 访问M2的次数 失效率 F1H 5.1 存储器的层次结构 9173 3. 平均访问时间 TA TATA1(1H )TM 或 TATA1F TM TA1 命中时间 TM 失效开销 10173 11173

3、5.1.3 “Cache主存”和“主存辅存”层次 1. 从主存的角度来看 “Cache主存”层次:弥补主存速度的不足 “主存辅存”层次: 弥补主存容量的不足 2. “Cache主存”层次 主存与CPU的速度差距 5.1 存储器的层次结构 “Cache - 主存”层次 3. “主存辅存”层次 15173 存储层次 CPU对第二级的 访问方式 比较项目 目 的 存储管理实现 访问速度的比值 (第一级和第二级) 典型的块(页)大小 失效时CPU是否切换 “Cache 主存”层次 “主存辅存”层次 为了弥补主存速度的不足为了弥补主存容量的不足 主要由专用硬件实现主要由软件实现 几比一几百比一 几十个字

4、节几百到几千个字节 可直接访问均通过第一级 不切换切换到其他进程 “Cache主存”与“主存辅存”层次的区别 5.1 存储器的层次结构 16173 5.1.4 存储层次的四个问题 当把一个块调入高一层(靠近CPU)存储器时, 可以放在哪些位置上? (映象规则) 当所要访问的块在高一层存储器中时,如何 找到该块? (查找算法) 3. 当发生失效时,应替换哪一块? (替换算法) 4. 当进行写访问时,应进行哪些操作? (写策略) 1. 2. 5.1 存储器的层次结构 5.2 Cache基本知识 1存储空间分割与地址计算 18173 5.2.1 映象规则 1. 全相联映象 全相联:主存中的任一块可以

5、被放置到 Cache中的任意一个位置。 举例 对比: 阅览室位置 随便坐 特点: 空间利用率最高,冲突概率最低, 实现最复杂。 2Cache和主存分块 5.2 Cache 基本知识 20173 2. 直接映象 直接映象:主存中的每一块只能被放置到 Cache中唯一的一个位置。 举例 (循环分配) 对比:阅览室位置 只有一个位置可 以坐 特点:空间利用率最低,冲突概率最高, 实现最简单。 对于主存的第i 块,若它映象到Cache的第 j 块,则: ji mod (M ) (M为Cache的块数) 5.2 Cache 基本知识 22173 组相联:主存中的每一块可以被放置到Cache 中唯一的一个

6、组中的任何一个位置。 举例 组相联是直接映象和全相联的一种折衷 设M2m,则当表示为二进制数时,j 实际 上就是i 的低m 位: 3. 组相联映象 m位 ji: 5.2 Cache 基本知识 24173 上述的j 和k 通常称为索引 组的选择常采用位选择算法 若主存第i 块映象到第k 组,则: ki mod(G) (G为Cache的组数) 设G2g,则当表示为二进制数时,k 实 际上就是i 的低 g 位: g 位 ki: 5.2 Cache 基本知识 25173 绝大多数计算机的Cache: n 4 想一想:相联度一定是越大越好? n 路组相联:每组中有n 个块(nM/G ) n 称为相联度。

7、 相联度越高,Cache空间的利用率就越高, 块冲突概率就越低,失效率也就越低。 全相联 直接映象 组相联 n (路数)G (组数) M M1 1 1nM1GM 5.2 Cache 基本知识 26173 5.2.2 查找方法 1. 如何确定Cache中是否有所要访问的块? 若有的话如何确定其位置? 答案 5.2 Cache 基本知识 目录表的结构 只需查找候选位置所对应的目录表项 并行查找与顺序查找 30173 提高性能的重要思想:主候选位置(MRU块) 前瞻执行 31173 并行查找的实现方法: 5.2 Cache 基本知识 举例: 路组相联并行标识比较 (比较器的个数及位数) l 相联存储

8、器 l 单体多字存储器比较器 路组相联Cache的查找过程 直接映象Cache的查找过程 35173 5.2.3 替换算法 所要解决的问题:当新调入一块,而Cache 又已被占满时,替换哪一块? 2. FIFO 3. LRU 优点:失效率低 LRU和随机法的失效率的比较 1. 随机法 优点:实现简单 5.2 Cache 基本知识 36173 37173 5.2.4 写策略 1. “写”操作所占的比例 Load指令:26 Store指令:9 “写”在所有访存操作中所占的比例: 9/(100269)7 “写”在访问Cache操作中所占的比例: 9/(269)25 3“写”访问有可能导致Cache和

9、主存内容的不一致 2. “写”操作必须在确认是命中后才可进行 5.2 Cache 基本知识 38173 4两种写策略 写直达法 执行“写”操作时,不仅写入Cache,而且 也写入下一级存储器。 写回法 执行“写”操作时,只写入Cache。仅当 Cache中相应的块被替换时,才写回主存。 (设置“污染位”) 5.2 Cache 基本知识 39173 5两种写策略的比较 写回法的优点:速度快,所使用的存储器频 带较低; 写直达法的优点:易于实现,一致性好。 40173 6. 写缓冲器 8. 写策略与调块 写回法 按写分配 写直达法 不按写分配 7. “写”操作时的调块 按写分配(写时取) 写失效时

10、,先把所写单元所在的块调入 Cache,再行写入。 不按写分配(绕写法) 写失效时,直接写入下一级存储器而不调块。 5.2 Cache 基本知识 41173 5.2.5 Cache的结构 例子:DEC的Alpha AXP21064中的内部数据 Cache。 1. 简介 容量:8KB 块大小:32B 块数:256 采用不按写分配 映象方法:直接映象 “写”策略:写直达 写缓冲器大小:4个块 5.2 Cache 基本知识 2. 结构图 3. 工作过程 “读”访问命中 “写”访问命中 45173 5. 混合Cache与分离Cache (1) 优缺点 (2) 失效率的比较 5.2 Cache 基本知识

11、 失效情况下的操作 46173 16 KB 容 量 1 KB 2 KB 4 KB 8 KB 32 KB 指令 Cache 3.06% 失 效 率 的 比 较 64 KB 128 KB 数据 Cache混合 Cache 2.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% 47173 (3) 分离Cache平均失效率的计算: 访问指令Cache的百分比指令Cache的

12、失效率 访问数据Cache的百分比数据Cache的失效率 5.2.6 Cache性能分析 2. 平均访问时间 平均访问时间命中时间失效率失效开销 1. 失效率 48173 例5.1 假设Cache的命中时间为1个时钟周期,失效 开销为50 个时钟周期,在混合Cache中一次load 或store操作访问Cache的命中时间都要增加一个 时钟周期(因为混合Cache只有一个端口,无法同 时满足两个请求。按照前一章中有关流水线的术 语,混合Cache会导致结构冲突),根据表54所 列的失效率,试问指令Cache和数据Cache容量均 为16KB的分离Cache和容量为32KB的混合Cache相 5

13、.2 Cache 基本知识 49173 解: 如前所述,约75%的访存为取指令。因此, 分离Cache的总体失效率为: (75%0.64%)(25%6.47%)2.10% 根据表54,容量为32KB的混合Cache的失 效率略低一些,只有1.99%. 比,哪种Cache的失效率更低?又假设采用写直达 策略,且有一个写缓冲器,并且忽略写缓冲器引 起的等待。请问上述两种情况下平均访存时间各 是多少? 5.2 Cache 基本知识 50173 平均访存时间公式可以分为指令访问和数据 访问两部分: 平均访存时间指令所占的百分比 (指令命中时间指令失效率失效开销) 数据所占的百分比 (数据命中时间数据失

14、效率失效开销) 所以,两种结构的平均访存时间分别为: 平均访存时间分离75%(10.64%50) 25%(16.47%50) (75%1.32)(25%4.325) 0.9901.0592.05 5.2 Cache 基本知识 51173 平均访存时间混合75%(11.99%50) 25%(111.99%50) (75%1.995)(25%2.995) 1.4960.7492.24 3. 程序执行时间 CPU时间(CPU执行周期数存储器停顿周期数) 时钟周期时间 其中, 存储器停顿周期数访存次数失效率 失效开销 5.2 Cache 基本知识 52173 CPU时间ICCPIexe每条指令的平均存储 器停顿周期数时钟周期时间 CPU时间ICCPIexe访存次数/指令数 失效率失效开销

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号