第六章 存储器系统3高速缓存与存储管理.ppt

第六章 存储器系统3高速缓存与存储管理.ppt

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

6.3 高速缓冲存储器 主存是一个影响性能的关键因素 因为处理器的运行速度提高,但由DRAM组成的主存的存取时间较慢,跟不上处理器运行速度 SRAM速度较快,但其容量较小、价格较贵,无法大量用于微机系统 6.3.1 高速缓存的工作原理 高速缓存:在相对容量较大而速度较慢的主存DRAM与高速处理器之间设置的少量但快速SRAM组成的存储器 高速命中(Hit): 处理器读取主存的内容已包含在Cache中,可以直接读取Cache,不用访问主存 高速缺失(Miss): 处理器读取主存的内容不在Cache中,需要访问主存读取一个数据块 高速缓存的读操作 1. 高速缓存的结构 主存以字(字节)为寻址单位 Cache以行(线Line,槽Slot)为寻址单位 Cache行包含B个主存字,对应一个主存块 Cache与主存间的数据传送以数据块为单位 主存划分成M=2n÷B个“主存块” Cache具有m个“Cache行” Cache由数据存储器和标签存储器组成 数据存储器:高速缓存主存数据 标签存储器:保存数据所在主存的地址信息 高速缓存Cache和主存的组成结构 2. 高速缓存的容量和行大小 高速缓存性能的主要指标是命中率(Hit rate) 命中率(Hit Rate):高速命中的概率 对于高速缓存容量 希望它足够大,使存取时间接近高速缓存 希望它尽量小,使单位成本接近主存 受可用的芯片面积限制 同时还和运行的程序有关 对于Cache行大小 从很小增大,命中率开始会有提高 进一步增大,命中率可能反而减小 3. 高速缓存的数量 单级与多级Cache 片上高速缓存(On-chip Cache) 第1级高速缓存(L1 Cache) 第2级高速缓存(L2 Cache) 第3级高速缓存(L3 Cache) 统一与分离Cache 统一(Unified)Cache 单个高速缓存既用于高速缓冲保存指令 也用于保存数据 分离(Split)Cache 一个专用于缓冲指令(I-Cache) 一个专用于缓冲数据(D-Cache) 6.3.2 地址映射 Cache通过地址映象(mapping)的方法确定主存块与Cache行之间的对应关系,确定一个主存块应该存放到哪个Cache行中 直接映象(direct mapping) 将一个主存块存储到唯一的一个Cache行 全相联映象(fully associative mapping) 可以将一个主存块存储到任意一个Cache行 组相联映象(set associative mapping) 可以将一个主存块存储到唯一的一个Cache组的任意一个行 1. 直接映射(Direct Mapping) 将每个主存块固定地映射到某个Cache行 第i个Cache行只能存储所有主存页的第i个主存块 硬件简单、易于实现,会发生冲突、利用率较低 高速缓存容量m=2s行=2s+w字 Cache行=2w个字,具有2s行 主存容量M=2n字=2n-w主存块=2t个主存页 每个主存页的容量=高速缓存容量2s+w n位主存地址由3个部分组成:n=t+s+w 高t位作标签 s位地址作为索引 最低w位区别字 比较s索引的一个标签存储器内容,说明是否命中 直接映射的组成 直接映射的示例 2. 全相关映射(Full Associative Mapping) 将一个主存块存储到任意一个Cache行 使用灵活、利用率高,但实现电路比较复杂 高速缓存容量m=2s行=2s+w字 主存容量M=2n字=2n-w主存块 标签存储器保存完整的主存块地址:t=n-w n位主存地址由2个部分组成:n=t+w 高t位作标签 最低w位区别字 高速缓存控制逻辑必须比较全部标签存储器的内容,才能确定是否命中 全相关映射的组成 全相关映射的示例 3. 组相关映射(Set Associative Mapping) 将多个Cache行作为一个组(Set),组内各个Cache行采用全相关映射,各个组间采用直接映射 取直接映射的简单和全相关映射的灵活,而克服两者的不足 所有组中同位置Cache行称为一路(Way) 通常采用2、4、8或16个为一组 ,分别被称为2路、4路、8路或16路组合相关映射 比较s索引的2、4、8或16个标签存储器内容,说明是否命中 组相关映射的组成 组合相关映射的示例 6.3.3 替换算法 直接映象只有一个Cache行可以选择 组合相关和全相关有多个Cache行可以选择 替换算法有多种: 1. 随机法(random) 随意选择被替换的行,不依赖以前的使用情况 2. 先进先出法(FIFO: first in first out) 替换最早(存放时间最长)的行 3. 最近最少使用法(LRU: least-recently used) 本指替换近期最少使用的行,实际

文档评论(0)

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

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

1亿VIP精品文档

相关文档