计算机技术第5章高速缓冲存储器Cacheppt课件.ppt_第1页
计算机技术第5章高速缓冲存储器Cacheppt课件.ppt_第2页
计算机技术第5章高速缓冲存储器Cacheppt课件.ppt_第3页
计算机技术第5章高速缓冲存储器Cacheppt课件.ppt_第4页
计算机技术第5章高速缓冲存储器Cacheppt课件.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1 第五章高速缓冲存储器Cache 2 CPU 内存之间的存取速度 如500MHz的P 一次指令执行时间为2ns 与其相配的内存 SDRAM 存取时间为10ns 比前者慢5倍 CPU和PC的性能怎么发挥出来 3 如何减少CPU与内存之间的速度差异 一种是在基本总线周期中插入等待一种方法是采用存取时间较快的SRAM作存储器第3种方法是Cache法 还有一种方法 采用新型存储器 4 高速缓冲存储器Cache是位于CPU和主存储器DRAM之间 规模较小 但速度很高的存储器 通常由SRAM组成 它根据程序的局部性原理 把正在执行的指令地址附近的一部分指令或者数据从主存调入这个存储器 供CPU在一段时间内使用 这对提高程序的运行速度有很大的影响 它的工作速度数倍于主存 全部功能由硬件实现 并且对程序员是透明的 图5 1在CPU与主存之间设置Cache 5 5 1高速缓冲存储器的工作原理缓存的工作原理是怎样的 6 cache更加有效 要求程序有高度的暂时性和局部性 程序访问的局部性 当执行的程序在对存储器寻址时 其地址总是在最近刚被访问过的存储单元的附近 这种现象被称之为程序访问的局部性 7 图5 3缓存一个循环子程序 8 命中率 Hitrate CPU在任一时刻从Cache中可靠获取数据的几率 命中率越高 正确获取数据的可靠性就越大 一般规定Cache与内存的空间比为4 1000 即128kBCache可映射32MB内存 256kBCache可映射64MB内存 9 5 2高速缓冲存储器的基本结构 图5 4高速缓冲存储器结构框图 10 行组 内容是数据或程序 每个行组由若干行组成 行 中存放的是16字节或32字节的数据或程序 图5 5Cache单元块内部结构 11 在一个时间段内 Cache的某块中放着主存某块的全部信息 即Cache的某一块是主存某块的副本 或叫映像 图5 6Cache与主存块 12 5 2 1全相联Cache 图5 7全相联Cache的组织与映射 13 图5 8全相联地址转换 14 主要优点是 它能够在给定的时间内去存储主存器中的不同的块 命中率高 缺点有两个 由于需要记录主存块块地址的全部信息 因此标记位数增加了 使得Cache的电路规模变大 成本变高 通常采用 按内容寻址的 方式设计相联存储器 比较器难于设计和实现 15 例5 1某机主存容量为1M Cache的容量为32KB 每块的大小为16个字 或字节 画出主 缓存的地址格式 目录表格式及其容量 16 5 2 2直接映像Cache 图5 9直接映像Cache的组织与映射 17 图5 10直接相联映象方式 18 图5 13直接相连地址转换 19 优点 直接映像Cache优于全相联Cache 能进行快速查找 硬件简单 成本低 缺点 不够灵活 主存的若干块只能对应惟一的Cache块 即使Cache中还有空位 也不能利用 当主存储器的组之间做频繁调用时 Cache控制器必须做多次转换 20 例5 2上例中 主存容量为1M Cache的容量为32KB 每块的大小为16个字 或字节 画出主 缓存的地址格式 目录表格式及其容量 容量 与缓冲块数量相同即211 2048 或32K 16 2048 21 5 2 3组相联Cache组相联的映象规则 1 主存和Cache按同样大小划分成块 2 主存和Cache按同样大小划分成组 3 主存容量是缓存容量的整数倍 将主存空间按缓冲区的大小分成区 主存中每一区的组数与缓存的组数相同 4 当主存的数据调入缓存时 主存与缓存的组号应相等 也就是各区中的某一块只能存入缓存的同组号的空间内 但组内各块地址之间则可以任意存放 即从主存的组到Cache的组之间采用直接映象方式 在两个对应的组内部采用全相联映象方式 22 图5 14组相联映象方式 23 图5 13组相联映像的地址转换 24 组相联映像的性能及复杂性介于直接映像和全相联映像之间 通常将每组K个块的Cache称为k路组相联 K WaySetAssociativeMapping Cache 25 5 3高速缓冲存储器的性能分析1 Cache系统的加速比其中 Tm为主存储器的访问周期 Tc为Cache的访问周期 T则为Cache存储系统的等效访问周期 H为命中率 26 2 Cache的命中率例如 将主存空间分成4096块 块编号应是地址码的高12位 写成十六进制为000H 0FFFH 按同样大小 将Cache分成16块 块编号为0H 0FH 27 2 Cache的命中率 表5 1主存块和Cache块映像关系的约定 注 X表示任一十六进制数码 28 图5 17对主存地址的理解 29 设当前010号主存块在Cache中 即它和Cache的第0块建立起映像关系 现要对两个主存地址单元进行读操作 第一个地址的高3位 十六进制 为0l0H 第二个地址的高3位 十六进制 为020H 30 将访问的数据在Cache中的次数与总的访问次数之比称为命中率 影响Cache命中率的因素很多 如Cache的容量 块的大小 映象方式 替换策略以及程序执行中地址流的分布情况等等 31 已知64KB的Cache可以缓冲4MB的主存 且命中率都在90 以上 以主频为100MHz的CPU 20ns的Cache 70ns的DRAM 命中率为90 即100次访问存储器的操作有90次在Cache中 只有10次需要访问主存 则这100次访问存储器操作的平均存取周期是多少 32 现把Cs定义成是Cache系统的访问时间与主存储器访问时间之和 计算公式如下Cs H Tc 1 H TmTc Cache周期时间 Tm 主存储器周期时间则本例中CPU访问主存的周期为 有Cache时 Cs 20 0 9 70 0 1 34ns 无Cache时 70 1 70ns 33 5 4高速缓冲存储器的操作方式5 4 1替换策略替换策略的理论依据 程序在运行中 总是频繁地使用那些最近被使用过的指令和数据 随机法 RAND法 先进先出法 FIFO法 最近最少使用法 LRU法 LRU LeastRecentlyUsed LRU 法是依据各块使用的情况 总是选择那个最近最少使用的块被替换 这种方法比较好地反映了程序局部性规律 34 5 4 2Cache与主存的一致性问题 1 写回 WriteBack 图5 18写回Cache 35 2 写贯穿 WritThrough 图5 19写贯穿Cache 36 3 记入式写PostedWrite 图5 20记入式写Cache 37 5 5MESI一致性协议5 5 1MESI一致性协议四种状态的定义是 修改态M Modified 修改状态 表示本Cache行已被修改过 脏行 内容已不同于主存并且为此Cache专有 专有态E Exclusive 排它状态 表示本Cache的这一行与主存中的内容相同 但不存在于其他Cache中 共享态S Shared 共享状态 表示本Cache的这一行与主存中的内容相同 可能也出现在其他Cache中 无效态I Invalid 无效状态 表示本行的数据无效 空行 38 MESICache一致性模型提供了一种跟踪存储器数据变化的方法 这种方法保证了一个Cache行数据更新以后 能够和所有与它的地址有关联的存储单元保持数据的一致性 39 5 5 2MESI协议状态转换规则 图5 21MESI协议状态转换规则 40 5 6Pentium 处理器的Cache技术 图5 22存储器系统的层次关系 41 图5 23Pentium 处理器内的Cache结构示意图 42 43 随机法是随机地确定替换的存储块 设置一

温馨提示

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

评论

0/150

提交评论