文档详情

计算机组成原理14-存储系统04讲述.ppt

发布:2017-07-28约字共44页下载文档
文本预览下载声明
第四章 存储系统 4、高速缓冲存储器(Cache) 4.1、地址映象 4.2、替换算法 4.3、多层次的Cache 辅助存储器 Cache 的全部功能都是 由硬件完成的, 对程序员来说是透明的。 有了Cache使CPU的工作效率大大提高。但是当未命中而将新的主存块 调入Cache中而它的可用位置又已被占满时,就产生替换算法问题。 替换算法目的:获得最高命中率,使CPU访问的块尽可能都在Cache中。 1)先进先出算法 FIFO 按调入Cache的先后决定淘汰的顺序,淘汰最先调入Cache的块。 这种方法:实现容易,系统开销少,但不一定合理,因为有些最先调入的块可能正在使用。 2)最近最少使用算法 LRU 为Cache各块建立一个LRU目录,记录其调用情况,当需要替换时将 在最近一段时间内使用最少的块替换出去。 这种方法:命中率高,但算法复杂,系统开销大。 4.2、替换算法 LRU替换算法的平均命中率高于FIFO替换算法的平均命中率。 应为LRU替换算法反映了程序的局部性特点。 例:设一个容量为4个块的全相联Cache,分别采用FIFO和LRU替换算 法,假定访问的主存地址块序列为2、11、2、9、7、6、4、3, 画出每次访问后Cache中的内容变化情况。 解:FIFO先进先出替换算法 主存地址块号: 2 11 2 9 7 6 4 3 Cache块 分配情况: 操作状态 调入 调入 命中 调入 调入 替换 替换 替换 2 11 2 2 11 2 11 9 2 11 9 7 6 11 9 7 6 4 9 7 6 4 3 7 4.2、替换算法 例:设一个容量为4个块的全相联Cache,分别采用FIFO和LRU替换算 法,假定访问的主存地址块序列为2、11、2、9、7、6、4、3, 画出每次访问后Cache中的内容变化情况。 解:LRU最近最少使用替换算法 主存地址块号 2 11 2 9 7 6 4 3 Cache块 分配情况: 操作状态 调入 调入 命中 调入 调入 替换 替换 替换 4.2、替换算法 2 11 2 2 11 2 11 9 2 11 9 7 2 6 9 7 4 6 9 7 4 6 3 7 第四章 存储系统 4、高速缓冲存储器(Cache) 4.1、地址映象 4.2、替换算法 4.3、多层次的Cache 辅助存储器 Cache 的全部功能都是 由硬件完成的, 对程序员来说是透明的。 1)、指令Cache和数据Cache 随着计算机技术的发展和处理速度的加快,存取数据的操作经常会 与取指令的操作发生冲突,从而延迟了指令的读取。 发展的趋势是将指令Cache和数据Cache分开而成为两个相互独立 的Cache。 2)、 多层次Cache结构 片内Cache的容量受芯片集成度的限制,容量小,命中率低。 于是推出了二级Cache方案: 一级Cache(L1)在CPU芯片内,容量小,速度快; 二级Cache(L2)在CPU芯片外,容量大,SRAM存储器。 两级Cache之间一般有专用总线相连。 4.3、多层次的Cache 3)、Cache的一致性问题 CPU对Cache的写入更改了Cache的内容,可选用写操作策略使 Cache内容与主存内容保持一致。常用的写操作策略: (1)写回法 当CPU写Cache命中时,只修改Cache的内容,而不立即写入主 存;只有当此块被换出时才写回主存。减少了访问主存的次数, 但存在不一致性的隐患。 (2) 写直达法 当CPU写Cache命中时,同时修改Cache与主存的内容,维护了 一致性。当CPU写Cache未命中时,直接修改内存的内容。但是 降低了Cache的功效。 (3)写一次法 基于以上两种方法,第一次写命中时使用写直达法(同时修改 Cache与主存的内容),以后命
显示全部
相似文档