4.4存储系统组织资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*/26 4.4 存储系统性能改进 常用来改进存储系统性能的措施: 更高速主存或加长存储器字长 双端口存储器 采用多级Cache 采用交叉存储器 … */26 4.4.1高速缓冲存储器Cache 1.设置Cache的原因 为解决CPU和主存速度不匹配而采用的一项技术,使访问主存的平均速度接近于访问Cache的速度。 由硬件实现,对程序员透明。 已植入CPU内,两级以上的Cache系统。 */26 2.Cache的前提条件 局部性特征:当CPU从主存中取指令和数据时,在一定时间内,地址范围常局限于主存的某个很小的区域内。 因此,把程序正在使用的部分预存在一个高速小容量的Cache中,使CPU的访存操作转换为访问Cache,从而使速度大大提高。 */26 3.主存与Cache的地址映射 (1)直接映射 主存中每一个页只能映射到某一固定的Cache页中,直接映射有如下函数关系:K=J mod 2c K为Cache的页号; J为主存的页号; C为Cache页号的位数。 直接映射的Cache组织,如图4-35示 */26 组号 0页 组号 1页 … … 组号 15页 0页 1页 … 15页 16页 17页 … 31页 2032页 2033页 … 2047页 … … 第0组 第1组 第127组 主存组号 组内页号 页内地址 图4-35 直接映射 C=4、Na=20,每页512字节 7位 Cache 7位4位9位 0000001 111101~010 定位Cache页,读取组号 相等吗? 据此判断内存目标页是否在Cache中 */26 (2)全相联映射 主存中任何一块都可以映射到Cache中的任何一块位置上,如图4-36示。 存在的缺点: Cache标记太长,判断时间太长。 其硬件复杂、成本高、实现起来比较困难。 */26 标记 0页 标记 1页 … … 标记 15页 11位 Cache 0页 1页 … 15页 16页 … 2046页 2047页 主存 主存标记 页内地址 11位9位 将主存页标记与Cache页标记比较,判断主存页是否已映射到缓存 图4-36 全相联映射 Na=20,每页512字节 00000011111 01~010 */26 (3)组相联映射 是一种直接映射和全相联映射的折衷方案。 主存和Cache都分组,主存中组内的页数与Cache的分组数相同。 主存页号到Cache组号之间直接映射,主存页与Cache组内各页全相联映射。 判断的速度较快,硬件较简单、成本较低、比较容易实现。 组相联映射组织结构,如图4-37所示。 */26 0000001 1 111 01~010 标记 0页 标记 1页 标记 2页 标记 3页 … … 标记 12页 标记 13页 标记 14页 标记 15页 0组 0页 1页 … 7页 8页 9页 … 15页 16页 17页 … … 2045页 2046页 2047页 组0 组1 组255 区号 组号 组内页号 页内地址 8位 Cache 7位1位 3位9位 主存地址 在Cache组内比较标记字段 图4-37 组相联映射 Na=20,每页512字节 定位到Cache组 据此判断所在内存页是否已映射到缓存中 组间:直接映射 组内:全相联映射 1组 6组 7组 区0 */26 4.常用的替换算法 (1)最不经常使用(LFU, Least-Frequently Used) 认为应将一段时间内被访问次数最少的那块从Cache中置换出去。 计数周期限定在对这些特定块两次替换之间的间隔时间内,不能严格反映近期访问情况。 (2)近期最少使用(LRU, Least-Recently Used) 将近期内长久末被访问过的Cache块置换出去。 该算法保护了刚拷贝到Cache中的新数据块,符合Cache工作原理,使Cache有较高的命中率。 (3)随机替换 */26 5.Cache的读/写操作 Cache的写操作 当CPU发出写请求时,如果Cache命中,可有两种处理方案: ① Cache单元和主存单元同时写,使Cache和主存保持一致,称为通写(write-through)。 ②只修改Cache单元,并用标志将该块加以注明,直到该块从Cache中替换出来时才一次性写入主存,称为回写(write-back)。 */26 Cache的读操作 CPU向Cache和主存同时发读命令和地址。 ② 通过式读(Look-Through) ① 旁路式读 (Look-Aside) CPU首先向Cache发读命令和地址。 Cache命中,则Cache回送数据并中断读主存命令; Cache未命中,则直接访问主存读取数据。 Cache命中,则从Cache中读出数据; Cache未命中,再

文档评论(0)

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

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

1亿VIP精品文档

相关文档