第07章 7.2 高速缓冲存储器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07章 7.2 高速缓冲存储器

cache存储器工作原理 ★ 根据局部性原理,可在主存和CPU之间设置一个 高速的容量相对较小的存储器,如果当前正在 执行的程序和数据存放在这个存储器中,则当 程序运行时,不必从主存取指令和取数据,而 访问这个高速存储器即可,所以提高了程序的 运行速度,这个存储器称作高速缓冲存储器。 ★ 命中率:CPU所要访问的信息在cache中的比率。 ★ cache容量比主存的容量小得多,但不能太小, 太小会使命中率太低;也没有必要过大,过大 不仅会增加成本,而且当容量超过一定值后, 命中率随容量的增加将不会有明显地增长。 ★ 读操作 ● 命中:直接读即可。 ● 失效:需要从主存读取新字块调入cache。 ★ 写操作(字块已在cache中时) ★ 暂时只向cache存储器写入,并用标志加以注明, 直到经过修改的字块被从cache中替换出来时才 一次写入主存。 ★ 每次写入cache时也同时写入主存,使cache和 主存保持一致。 ★ 具有cache的存储器的平均存取时间: 设cache的存取时间为tc,命中率为h, 主存的存取时间为tM,则: 2. cache存储器组织 图 直接映像cache组织 图 全相联映像cache组织 图 组相联映像cache组织 3. 替换算法 图 LRU算法替换登记表 图 具有cache的计算机框图 4. 多层次cache存储器 */29 7.2 高速缓冲存储器cache ★ 程序访问的局部性 ~对局部范围的存储器地址频繁访问,而对 此范围以外的地址则访问甚少的现象。 ★ 程序地址的分布本来就是连续的,再加上循环 程序段和子程序段要重复执行多次,因此,对 程序地址的访问自然地具有相对集中的倾向。 ★ cache介于CPU和主存之间,它的工作速度数倍 于主存,全部功能由硬件实现,并且对程序员 是透明的。 ★ 通常用“命中率”来测量cache的效率。 ★ 失效率:CPU要访问的信息不在cache中的比率。 ★ 影响cache效率的因素:cache的容量、块的大 小、块替换算法、程序本身。 ★ 随着芯片价格的下降,cache的容量不断增大, 由几十K发展到几百K,甚至达到几M字节。 调入时,若cache已满,则必须去掉一个旧字块, 让位于一个新字块。这种替换应遵循一定的规则, 最好能使被替换的字块是下一段时间内估计最少 使用的。这些规则称为替换策略或替换算法,由 替换部件加以实现。 cache中保存的字块是主存相应字块的一个副本。 若程序执行过程中要对该字块的某个单元进行 写操作,如何保持cache与主存的一致性? ★ 有两种写入方式 ● 标志交换方式(写回法) ● 通过式写(写直达法) ★ 只有写标志“置位”的字块才有必要最后从cache 存储器一次写回主存。 (1) 标志交换方式(写回法) ★ 特点:写操作速度快,但在写回以前,主存中的 字块未经随时修改而可能失效。 (2) 通过式写(写直达法) ★ 特点:实现简单且随时保持主存数据的正确性。 但有可能要增加多次不必要的向主存的写入。 ★ 写操作(字块不在cache中时) 直接对主存进行写入,而不写入cache存储器。 平均存取时间=h·tc+(1-h)(tc+tM) (1) 地址映像 ★ 地址映像:为了把信息放到cache存储器中, 必须应用某种函数把主存地址映像到cache。 ★ 地址变换:信息按照映像关系装入cache后, 执行程序时将主存地址变换成cache地址的 变换过程。 ★ 映像函数:决定主存地址和cache地址的对应 关系。 ★ 假设:主存空间被分为Mm(0)、Mm(1)、…、Mm(2m-1) 共2m个块,字块大小为2b个字;cache存储空间被分为 Mc(0)、Mc(1)、…、Mc(2c-1)共2c个同样大小的块。 ① 直接映像 ★ 直接映像函数为: j=i mod 2c ★ 其中: j-- cache的字块号; i-- 主存的字块号; 2c-- cache的块数。 ★ 主存的每一块都对应cache的某一固定块; ★ cache的每一块都对应主存的若干块。 ★ 主存地址格式为: ★ 标记位:指明cache中的某块对应于主存的 哪一块(缓存也需加t位标记位)。 cache块号:指明cache中的块地址。 块内字地址:确定块内的字地址。 块

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档