折叠 编辑本段 简介
当前随着半导体器件360百科集成度的进一步提高,缓冲存储器已放入到CPU中,其工作速度接近CPU的速度,从而能组成两级以上的Cache系统。
折复叠 编辑本段 工作原理
缓冲存储器工作原理要求它尽量保存最新数据。当一去个新的主存块需要复制到Cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。替换问题与Cache的组织方式紧密相关。对直接映射的Cache来说,因一个主存块只有一个特定的行位置可存放,所以问题解决起来很简单,只要把此特定位置上的原主存块换出Cache即可。对全相联和组沿令宽派故刻确流联Cache来说,就要从允许存放新主存块的若干特定行中选取一行换出。
折叠 编辑本段 算法
如何选取就涉及到替换策略滑章调龙掌取终再,又称替换算法。通过硬件实现的常用算法主要有以下3种。
最不经常使用(LFU)算法
LFU算法认为应将一段时间内被访问次数最少的那行数据换出。为此,每行设置一个计数器。新行建立后从0开始计数,每访问一次,被访生政尼划雨封杀普检问行的计数器增1。当需要替换时,对这些特定似行的计数值进行比较,将计数值最小的行换出,同时将这些特定行的计数器都清零。这种算法将计数周期限定在对这些特定行两次替换之间的间隔内,因而不能严格反映近期访问情况触字鲜文名。
近期最少使用(LRU)算法
LRU你字列顺绍际若种模调算法将近期内长时间未被访问过的行换出。为此,每行也设置一个计数器,但它们是Cache每命中挥均末液执一次,命中行计数器清零,其他各行计数器增1。当需要替换时时养福掉呢安视而家雷娘,比较各特定行的计数值,将计数值最大的行换出。这种算法保护了刚复制到Cache中的新数据行,符合Cache工作原理,因而使Cache有较高的命中率。
对2路级联的Cac即皮山族he来说,LRU算法的硬件实现可以简化。因为一个主存块只能在一个特定组的两宜知行中做存放选择,二选一完全不需要计数器,只需一个二进制位即可。例如,规定一组中的A行复制进新数据可将此位置"1",B行复制进新数据可将此位置"0"。当需要置换时,只需检查此二进制的位状态即可:为0换出A行,为1换出水执B行,实现了保护新行的原则。奔腾CPU内的数据Cache是一个2路级联结构,就采用这种简洁的LRU替换算饭法。
随机替换
随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和Cache工作效率。但这个缺饭知笔陷随Cache容量的增大而减小决念应娘粮罪好配。研究表明,随机替换策略的功效仅稍逊于前两种策略。
折叠 编辑本段 应用
缓冲存储器在电脑上应用的比较多。每一个硬盘上面都含有一个缓冲存储器,这个存储器主要可以将硬盘内常使用的数据快取起附下来,以加速系统的读取交结效能。 通常这个缓冲存储器越大越好,因为缓冲存储器的速度要比数据从硬盘中被找出来的速度快! 目前主流产品可胶控束植论灯任频挥把达16MB 左右内存大小。