- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
32位微机原理06
6.3.3 替换算法 直接映象只有一个Cache行可以选择 组合相关和全相关有多个Cache行可以选择 替换算法有多种: 1. 随机法(random) 随意选择被替换的行,不依赖以前的使用情况 2. 先进先出法(FIFO: first in first out) 替换最早(存放时间最长)的行 3. 最近最少使用法(LRU: least-recently used) 本指替换近期最少使用的行,实际实现的是替换最久没有被使用的行 4. 最不常用(LFU: least-frequently used) 替换使用次数最少的行 LRU替换算法 LRU能较好地反映程序的局部性,因而其命中率较高,应用广泛;但实现的硬件较复杂 2路组相联:使用一个U位。某个Cache块被访问,该块U位置1;对应块U位置0。替换U位为0的块 4/8/16路组相联:运用堆栈型算法。最近访问的块放上面,最下面存放最久没有访问的块。替换最下面的块 6.3.4 写入策略 处理器对高速缓存的访问主要是读取访问 写入操作数的问题较复杂一些 写命中:写入的数据在高速缓存中 确认命中,才可以对Cache块写入,写入后可能导致与主存内容不一致 要解决主存内容更新问题,保持数据的正确性 写未命中:指令对主存进行写入的操作数没有在高速缓存中 此时,写入的数据是否还要将其读回Cache呢? 1. 写命中的处理 直写策略(write through) 写入Cache的同时也写入主存(下一级存储器) 优点:简单可靠 缺点:总线操作频繁、影响工作速度 解决方法:在Cache与主存间设置一级/多级缓冲器,形成实用的“缓冲直写”,提高速度 回写策略(write back) 只写入Cache,在被替换时才写回主存 优点:可以减少写入主存次数、提高速度 缺点:硬件结构比较复杂 实现方法:设置一个表明Cache是否被修改的更新位(update,污染位dirty bit)。替换时只需将被修改的Cache块内容写入主存 2. 写未命中的处理 写未命中:指令对主存进行写入的操作数没有在高速缓存中 此时,写入的数据是否还要将其读回Cache呢? 写分配法( write allocate ) 先把数据所在的块调入Cache,然后再进行写入 类似读失效的方式,也称fetch on write 不写分配法( no-write allocate ) 直接把数据写入下一级存储器,不将相应的块调入Cache,也称write around 直写策略通常配合不写分配法 回写策略一般采用写分配法 3. 数据一致性协议 系统存在多级、多个Cache,一个主存数据可能具有多个副本,需要保持数据一致 数据一致性协议:用硬件方法解决高速缓存的数据一致性问题 MESI协议是广泛应用的数据一致性协议 修改M:该Cache块已经被修改(与主存不同),而且只在这个Cache中可用 唯一E:该Cache块与对应主存块相同,而且不存在于其它Cache中 共享S:该Cache块与对应主存块相同,但可能存在于其它Cache中 无效I:该Cache块包含的数据无效 6.3.5 80486的L1 Cache 指令和数据共用的4路组合相关Cache结构 8KB容量分成128组,每组有4路,每组每路为一行,每行为16个字节(128位) 每行对应21位标签,一个有效位 每组中4路对应3位LRU位,用于实现伪LRU替换算法 采用4级缓冲直写策略,允许6个连续的写操作而无等待 写缺失时,采用不写分配法,只将数据写入主存,不进行Cache的回填 示意图 80486第一级高速缓存的结构 返回 6.3.6 Pentium的L1 Cache 指令和数据分离的2路组合相关Cache结构 指令Cache和数据Cache都是8KB,共16KB 8KB容量分成128组,每组2路,每行32字节 LRU算法,回写策略(可动态改变为直写策略) 一次写(write once)协议 Pentium采用MESI协议,配合第一次直写,以后回写,实现L1和L2 Cache的数据一致 操作 L1状态 L1数据 L2数据 ? 复位或清洗后 ? 读入数据 ? 第1次直写 ? 再次回写 ? 发生替换后 无效I 共享S 唯一E 修改M 共享S 无效 有效 有效 有效 有效 无效 有效 有效 无效 有效 6.4 存储管理 存储器是计算机系统的重要资源,操作系统的主要功能之一是存储管理: 如何动态地为多个任务分配存储器 IA-32处理器从硬件上支持并加速操作系统的存储管理: 分段和分页机制构成存储管理单元MMU 分段(segment) 将程序按照逻辑关系分成可大可小的模块 分页(page) 将程序分成为若干个大小相同的模块 6.4.1 段式存储管理 系统维护段表 硬件实现转换 1
您可能关注的文档
最近下载
- 期末考试—服务方案策划与评估形考任务二.docx VIP
- 班组劳务分包合作协议.doc VIP
- [山西]2024年山西医科大学第二医院招聘42人笔试历年典型考题及解题思路分析附带答案详解.docx VIP
- 《22G101三维彩色立体图集》.pdf VIP
- 游泳池设计规范.docx
- 【会写生字250字】部编人教版二年级上册语文生字表笔顺练习可打印.doc
- 《JTT695-2007-混凝土桥梁结构表面涂层防腐技术条件》.pdf
- 人教小学生必背古诗75首(带拼音打印版).pdf VIP
- 牛津指导写作的系列oxford-discover-2-Writing-and-Spelling.pdf
- A3微能力点优秀案例汇编.docx VIP
文档评论(0)