- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
字0 字1 字2 字3 …… 字0 字1 字2 字3 …… 字0 字1 字2 字3 B0 B11 B255 字2 Cache 0000001 L0 0000000 L0 0000011 L1 0100100 L1 0000101 1 10 CAM 2 0000101110 L0 L1 比较 不相等没有读命中 组级联映射的主存地址表示成: 标记 组号 块内地址 字块2m-1 字块2c-r+1 字块2c-r + 1 字块2c-r 字块2c-r -1 字块1 字块0 … … … L3行 标记 L1行 标记 2c-1行 标记 L2行 标记 L0行 标记 2c-2行 标记 … … … … 0组 1组 D-1组 i= j mod D t位 t位 (D=2d=2c-r) Cache存储器(每组2r行) 主存储器 某一主存块 j 按模 D 映射到缓存的 第 i 组 中的 任一行 字块0 L1行 L0行 字块2c-r 字块2c-r+1 m位 块内 地址 主存字 块标记 t位 d位 b位 Cache 组号 替换策略 Cache工作原理要求它尽量保存最新数据,当新的主存块需要拷贝到Cache中,但存放此块的位置被其他主存块占用必然要产生替换。 替换问题与采用的地址映射方式有关,直接映射的Cache来说,只要把此特定位置上的原主存块换出Cache即可,不需要替换算法。对全相联和组相联Cache来说, 就要从允许存放新主存块的若干特定行中选取一行换出。采用何种方式决定决定将那一行换出就是替换策略。 常用的替换策略有三种: - 随机替换 - 最不经常使用(LFU)算法 - 最近最少使用(LRU)算法 -随机替换策略 从特定的行位置中随机地选取一行换出。在硬件上容易实现,且速度也比后两种策略快。缺点是很可能刚换出的行马上又要使用,降低了命中率和Cache工作效率。 -最不经常使用(LFU)算法 这种算法每行设置一个计数器。从0开始计数,每访问一次,被访行的计数器增1。当需要替换时将计数值最小的行换出,同时将这些行的计数器都清零。LFU算法将一段时间内被访问次数最少的那行数据换出,不能严格反映近期访问情况。 -最近最少使用(LRU)算法 LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,Cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。这种算法保护了刚拷贝到Cache中的新数据行,有较高的命中率。 Cache的写操作策略 当CPU读取内存某个字时,如果该字在Cache中,直接从Cache中读取,我们称为读命中。 当CPU写内存某个字时,如果该字在Cache中,我们称为写命中;CPU是仅仅改写Cache的内容还是Cache和内存的内容同时修改,不同的写方法我们称为写操作策略。 -写回法 当CPU写Cache命中时,只修改Cache的内容,而不立即写入主存;只有当此行被换出时才写回主存。这种方法减少了访问主存的次数,但是存在不一致性的隐患。实现这种方法时,每个Cache行必须配置一个修改位,以反映此行是否被CPU修改过。 -全写法 当CPU写Cache命中时,Cache与主存同时发生写修改,因而较好地维护了Cache与主存的内容的一致性。当写Cache未命中时,直接向主存进行写入。Cache中每行无需设置一个修改位,但却失去了写缓存。 -写一次法 只是第一次写命中时要同时写入主存。这便于维护系统全部Cache的一致性。奔腾CPU中采用了写一次法。 3.7 虚拟存储器 什么是虚拟存储器 虚拟存储器不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间,使之为更大或更多的程序所使用。 虚拟存储器采用的依据是程序的局部性原理,即当程序要求运行时,不是将它全部装入内存,而是将其一部分需要执行的程序装入内存,另一部分暂时不装入内存,驻留于外存。 在实际内存没有变化的情况下,会有更多的或更大的程序存入其中,使用者认为内存的总量为物理内存加用于驻留程序的外存。虚拟存储器的实质就是用外存模拟内存。 虚拟存储器依赖于程序的部分装入,程序的部分装入又依赖于对程序的分隔,根据对程序的分隔的方式的不同,虚拟存储器可以分为:页式虚拟存储器,段式虚拟存储器,段页式虚拟存储器。 页式虚拟存储器 分页式存储系统中把用户程序逻辑空间分割为大小相等的片,称为一个逻辑页或者页,同时按照同样的大小将系统物理内存分割为大小相等的存储块,我们称为物理块或者块。
文档评论(0)