1、第五章存储层次Computer Architecture5.1.1 从单级存储器到多级存储器1. 从用户的角度来看,存储器的三个主要指标是:容量,速度,价格 (每位价格 )5.1 存储器的层次结构Computer Architecture2. 人们对这三个指标的期望 :5.1 存储器的层次结构Computer Architecture(1)速度快 价格高(2)容量大 价格低(3)容量大 速度慢5.1 存储器的层次结构3. 这三个指标相互矛盾 :Computer Architecture4. 解决方法:采用多种存储器技术,构成 存储层次目标: 高速度、低价格(成本)、大容量5.1 存储器的层次结
2、构Computer Architecture达到目标的依据: 指令和数据访问的局部性原理5.1 存储器的层次结构Computer Architecture5.1.2 存储层次的性能参数 C, S, TA设: S 容量TA 访问时间C 每位价格下面仅考虑由 M1 和 M2 构成的两级存储层次:M1 的参数: S1, TA1, C1M2 的参数: S2, TA2, C21. 每位价格 C C 如果 S1 S2, C C2C1S1 C2S2S1 S25.1 存储器的层次结构Computer Architecture2. 命中率 H 和失效率 F命中率 H : CPU访问存储系统时,在 M1 中找到所
3、需信息的概率。H N1 / (N1 N2)N1 访问 M1 的次数N2 访问 M2 的次数失效率 F : CPU访问存储系统时,在 M1 中找不到所需信息的概率。F 1 H5.1 存储器的层次结构Computer Architecture3. 平均访问时间 TA对大部分系统: TM TA2 TB5.1 存储器的层次结构Computer Architecture由于TA H TA1 (1 H )(TA1+TM )于是TA TA1 (1 H )TM或 TA TA1 F TMTA1 命中时间TM 失效开销5.1 存储器的层次结构Computer Architecture5.1.3 “Cache 主存
4、 ” 和 “主存辅存 ” 层次5.1 存储器的层次结构Computer Architecture一般来说: “Cache 主存 ”层次: 弥补主存速度的不足“主存辅存 ” 层次: 弥补主存容量的不足1. “Cache 主存 ” 层次5.1 存储器的层次结构主存与 CPU 的速度差距Computer Architecture5.1 存储器的层次结构Computer Architecture“Cache - 主存 ”层次的实现: 主要借助于辅助硬件。5.1 存储器的层次结构Computer Architecture2. “主存辅存 ”层次“主存辅存 ”层次的实现: 主要借助于辅助软硬件。5.1 存
5、储器的层次结构Computer Architecture存储层次CPU对第二级的访问方式比较项目目 的存储管理实现访问速度的比值(第一级和第二级 )典型的块 (页 )大小失效时 CPU是否切换“Cache 主存 ”层次 “主存辅存 ”层次为了弥补主存速度的不足 为了弥补主存容量的不足主要由专用硬件实现 主要由软件实现几比一 几百比一几十个字节 几百到几千个字节可直接访问 均通过第一级不切换 切换到其他进程两者的比较 -“Cache 主存 ”与 “主存辅存 ”5.1 存储器的层次结构Computer Architecture5.2 Cache基本知识Computer Architecture5.
6、2 Cache基本知识Computer Architecture5.1.4 存储层次的四个问题当 把一个块调入高一层 (靠近 CPU)存储器时,可以放在哪些位置上 ? (映象规则 )当所要访问的块在高一层存储器中时,如何找到该块 ? (查找算法 )3. 当发生失效时,应替换哪一块? (替换算法 )4. 当进行写访问时,应进行哪些操作 ? (写策略 )1. 2.5.1 存储器的层次结构Computer Architecture5.2.1 映象规则1. 全相联映象全相联: 主存中的任一块可以被放置到Cache中的任意一个位置。特点: 空间利用率最高,冲突概率最低,实现最复杂。5.2 Cache基本
7、知识Computer Architecture实际: Cache常包含几百个块,主存常包含几百万个块。5.2 Cache基本知识Computer Architecture2. 直接映象:直接映象: 主存中的每一块只能被放置到Cache中唯一的一个位置。 特点: 空间利用率最低,冲突概率最高,实现最简单。例如: 对于主存的第 i 块,若它映象到 Cache的第 j 块,则 :j i mod (M ) ( M 为 Cache的块数)5.2 Cache基本知识Computer Architecture(循环分配 )5.2 Cache基本知识Computer Architecture组相联: 主存中的
8、每一块可以被放置到 Cache中唯一的一个组中的任何一个位置。 设 M 2m, 则当表示为二进制数时, j 实际上就是 i 的低 m 位:3. 组相联映象:m位ji:5.2 Cache基本知识Computer Architecture5.2 Cache基本知识Computer Architecture组相联是直接映象和全相联的一种折衷5.2 Cache基本知识Computer Architecture 上述的 j ( 直接映象 ) 和 k ( 组相联 ) 通 常称为 索引组的选择常采用位选择算法若主存第 i 块映象到第 k 组,则 : k i mod( G) ( G 为 Cache的组数)设
9、G 2 g, 则当表示为二进制数时, k 实际上就是 i 的低 g 位。g 位k主存块地址 i:5.2 Cache基本知识Computer Architecture相联度一定是越大越好? 绝大多数计算机的 Cache: n 4 n 路组相联:每组中有 n 个块 ( n M /G )n 称为 相联度 。相联度越高, Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低。 全相联直接映象组相联n (路数 ) G (组数 )MM111 n M 1 G M5.2 Cache基本知识Computer Architecture5.2.2 查找方法所要解决的问题: 如何确定 Cache中是否有所要访问的块?若有的话如何确定其位置?5.2 Cache基本知识目录表的结构:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1