N05-高速cache存储器.ppt

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

* 在一个较短的时间间隔内,CPU对局部范围的内存地址频繁访问,而对此地址范围之外的地址访问很少,这种现象称为程序访问的局部性。 * 增加cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。因此,cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。 * cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。 * 主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache行的标记部分中。 * 对直接映射的cache来说,只要把某特定位置上的原主存块换出cache即可。 对全相联和组相联cache来说,就要从允许存放新主存块的若干特定行中选取一行换出。 LFU算法将一段时间内被访问次数最少的那行数据换出。 不能严格反映近期访问情况。 LRU算法将近期内长久未被访问过的行换出。 优点:保护了刚拷贝到cache中的新数据行,有较高的命中率。 随机替换策略从特定的行位置中随机地选取一行换出。 缺点:降低了命中率和cache工作效率。 * CPU对cache的写入更改了cache的内容。可选用写操作策略使cache内容和主存内容保持一致。 当CPU写cache命中时,只修改cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。   这种方法减少了访问主存的次数,但是存在不一致性的隐患。   实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过。 当写cache命中时,cache与主存同时发生写修改,因而较好地维护了cache与主存的内容的一致性。   当写cache未命中时,直接向主存进行写入。cache中每行无需设置一个修改位以及相应的判断逻辑。   缺点是降低了cache的功效。 基于写回法并结合全写法的写策略,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。这便于维护系统全部cache的一致性。 tc—命中时的cache访问时间 tm—未命中时的主存访问时间 1-h—未命中率 ta—cache/主存系统的平均访问时间 ta=htc+(1-h)tm r=tm/tc—主存慢于cache的倍率 e=tc/ta—访问效率 命中率h与程序的行为、cache的容量、组织方式、块的大小有关。 【例3.3】某计算机系统的内存储器由 cache和主存构成,cache的存取周期为45纳秒,主存的存取周期为200纳秒。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:(1) cache的命中率是多少?(2) CPU访问内存的平均时间是多少纳秒?(3) Cache-主存系统的效率是多少? 3.5.2 主存与cache的地址映射 地址映射就是应用某种方法把主存地址定位到cache中,从而把主存块放到cache中相应的位置。   地址映射方式有: 全相联方式 直接方式 组相联方式 1. 全相联映射方式 主存的每一块都可映射到cache的任意一行中。 全相联映射的检索过程 优点是可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活,不易产生冲突。 缺点是比较器电路复杂,难于设计和实现,因此只适合于小容量cache采用。 2. 直接映射方式 主存的每一块只可映射到cache的特定一行中。cache的行号i和主存的块号j有如下函数关系:i=j mod m  (m为cache中的总行数) 直接映射的检索过程 优点是硬件简单,成本低。因此适合大容量cache采用。 缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。 3. 组相联映射方式 将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系: m=u×v  组号 q=j mod u 组相联映射的检索过程 组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。 例3.4 设主存容量1MB,高缓容量16KB,块的大小为512字节。 (1)Cache地址格式 (2)写出主存地址格式 (3)块表的容量为多大? (4)画出直接方式地址映像及变换示意图 (5)主存地址为CDE8FH的单元映像在cache中的什么位置? 解:(1) Cache容量16KB,16KB=214,所以Cache地址为14位;块的大小为512字节,所以块内地址为9位,块地址(行号)为5位。 Cache地址格式为: 13 9 8 0 块地址 块内地址 (2)主存容量

文档评论(0)

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

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

1亿VIP精品文档

相关文档