组相联映像Set-AssociativeMapping.PPT

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

8.2 高速缓冲存储器 解决CPU与主存之间的速度矛盾 基本概念 Cache 在CPU和主存之间引入速度更快的小容量存储器,称高速缓冲存储器(Cache Memory)。它存放当前最活跃的程序和数据,使得在大部分情况下,CPU访问的是Cache而不是主存,大大提高了CPU访问内存的速度。 基本概念(续) Cache能提高访问速度的原因: 物质基础:Cache由双极型超高速半导体存储器(如ECL)组成,速度通常是主存的5~10倍。 程序执行的局部性原理 CPU对内存的访问在一段相对较短的时间间隔内往往集中于某个局部,特别是碰到循环程序、反复调用的子程序、递归程序等就更是如此,这就是所谓的“程序执行的局部性原理”。 Cache与主存之间的地址变换和数据替换等控制全部用硬件实现,无需CPU的介入。 合理设计映像方法和替换算法,提高命中率。 分块 地址的映像与变换 地址映像(Mapping): 把信息从主存复制到 Cache的规则或算法。 地址变换: 将主存地址变换为Cache 地址的过程。 地址映像与变换的三种 基本方式: 直接方式(Direct Mapping) 全相联方式(Associative Mapping) 组相联方式(Set-Associative Mapping ) 直接方式地址映象(Direct Mapping) 策略:先将主存和Cache以同样大小分块 (也称为行),主存再按整个Cache的大小分为若干个区。 例:内存16MB,Cache8KB, 每块512B,那么Cache将分 为16块,主存共32K块, 分为2K区 直接方式地址变换 直接方式小结 优点: 地址变换简单,命中时直接由主存地址提取到Cache地址。 不命中时替换算法简单 不足: 映像关系固定,不灵活 “抖动”现象会造成命中率下降。 全相联映像(Associative Mapping) 映像方法:主存和Cache以同样大小分块。 假设某机内存16MB,Cache为8KB,按512B划分块,那么主存将划分为32K块(块地址需15位),Cache将划分为16块(块地址需4位),块内地址均为9位. 映像规则:内存中某一块可以装入Cache的任何一块中。 需要记录对应关系—— 地址变换表(TAG) 单元数与Cache块数一致且对应 内容是对应Cache块所存放的主存的块号 全相联方式地址映象及变换 全相联映像 优点: 主存的块装入Cache的位置没有限制,只要Cache有空闲块便可装入,只有全部装满才会出现冲突。 不足: 无法直接从主存块号中获取Cache块号,使得其地址变换机构相对复杂,使用了相联存储器,成本较高。前面的例子中,使用的相联比较器的位数为16×15=240位。 组相联映像(Set-Associative Mapping ) 组相联映像 参与全相联比较的位数为:2×(12)=24。 若每组只有一块,将成为直接方式,若总共只有一组,将成为全相联方式。 优缺点: 介于全相联方式和直接方式之间,硬件电路成本比全相联方式低,Cache利用率和命中率又比直接方式高。 另一种组相联映像(Set-Associative Mapping ) Cache读/写操作 命中(Hit ):要访问的单元已在Cache中 ● 读操作:直接从Cache中读。 ● 写操作: ■ 写回法(Write back) :只写入Cache,当该块将被置换时,再写入主存。可为每个块设置M(Modified)位,M 位为1 时表示当前Cache 行中包含的数据与存储器中的数据不一致。 ■ 透写法(Write through) :同时写入Cache和主存。无须一致性维护,但效率低,因为有些中间结果不必写入主存。 未命中(Miss):要访问的存储单元不在Cache中 ● 读操作: ■ 直接从主存中读取该单元,然后将该块置换到Cache 。 ■ 先将该块装入,然后再从Cache中读。 ● 写操作: 按写分配法:写入主存,同时装入该块到Cache中 不按写分配法:直接写入主存,不装入该块到Cache中 替换算法(Replacement Algorithms) 替换算法: 当引起对Cache块的位置争用时,更换块的算法。 只有相联映像才需要替换算法 先进先出算法FIFO(First In First Out) 对进入Cache的块按先后顺序排队,先淘汰最早进入的块。 最早装入的块有可能仍在使用。 最近最少使用算法LRU(Least Recently Used) 保留最近被访问的块,淘汰较长时间没有访问的块。 随机法(Random) 最近最少使用算法LRU 块号放在表中排队。刚访问到的块号移到表首,其余块号下移。表尾是近期最少访问

文档评论(0)

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

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

1亿VIP精品文档

相关文档