在高速缓冲存储器内存磁盘属于什么存储器设备中读取数据最快的是

概述/高速缓冲存储器
在计算机的层次结构中,介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间的调度和传送是由硬件自动进行的,员感觉不到高速缓冲存储器的存在,因而它对程序员是透明的。 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的&RAM&位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速存储器总是比主RAM&存储器速度快,所以当&RAM&的访问低于微处理器的速度时,常使用高速缓冲存储器。另见&wait&state。& Cache的出现是基于两种因素:首先,是由于CPU的速度和提高很快而主存速度较低且价格高,第二就是程序执行的局部性特点。因此,才将速度比较快而容量有限的SRAM构成Cache,目的在于尽可能发挥CPU的高速度。很显然,要尽可能CPU的高速度就必须用硬件实现其全部功能。& Cache与主存之间可采取多种地址映射方式,是其中的一种。在这种映射方式下,主存中的每一页只能复制到某一固定的Cache页中。由于Cache块(页)的大小为16B,而Cache容量为16KB。因此,此Cache可分为1024页。可以看到,Cache的页内地址只需4位即可表示;而Cache的页号需用10位二进制数来表示;在映射时,是将主存地址直接,现主存地址为(十六进制),则最低4位为Cache的页内地址,即1000,中间10位为Cache的页号,即。Cache的容量为16KB决定用这14位编码即可表示。题中所需求的Cache的地址为00。& Cache中的内容随命中率的降低需要经常替换新的内容。替换算法有多种,例如,先入后出()算法、(RAND)算法、先入先出(FIFO)算法、近期最少使用(LRU)算法等。这些替换算法各有优缺点,就以命中率而言,近期最少使用(LRU)算法的命中率最高。&
作用/高速缓冲存储器
高速缓冲存储器在计算机技术发展过程中,主器存取速度一直比中央处理器操作速度慢得多,使中央处理器的高速处理能力不能充分发挥,整个系统的工作效率受到影响。有很多方法可用来缓和中央处理器和主存储器之间速度不匹配的,如采用多个通用寄存器、多存储体交叉存取等,在存储层次上高速缓冲存储器也是常用的方法之一。很多大、中型计算机以及新近的一些小型机、微型机也都采用高速缓冲存储器。 高速缓冲存储器的一般只有主存储器的几百分之一,但它的存取速度能与中央处理器相匹配。根据程序局部性,正在使用的主存储器某一单元邻近的那些单元将被用到的可能性很大。因而,当中央处理器存取主存储器某一单元时,就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,中央处理器就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著。
原理/高速缓冲存储器
高速缓冲存储器通常由高速存储器、、替换逻辑电路和相应的控制线路组成(见图)。在有高速缓冲存储器的计算机系统中,中央处理器存取主存储器的地址划分为行号、列号和组内地址三个字段。于是,主存储器就在逻辑上划分为若干行;每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的单元组。二者的列数相同,组的大小也相同,但高速存储器的行数却比主存储器的行数少得多。联想存储器用于地址联想,有与高速存储器行数和列数的存储单元。当主存储器某一列某一行存储单元组调入高速存储器同一列某一空着的存储单元组时,与联想存储器对应位置的存储单元就记录调入的存储单元组在主存储器中的行号。当中央处理器存取主存储器时,硬件首先自动对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较:若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将存取主存储器的地址为高速存储器的地址并执行存取操作;若都不相同,表明该单元不在高速存储器中,称为脱靶,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应位置的单元内。 当出现脱靶而高速存储器对应列中没有空的位置时,便该列中的某一组以腾出位置存放新调入的组,这称为替换。确定替换的规则叫替换算法,常用的替换算法有:最近最少使用法(LRU)、先进先出法(FIFO)和随机法(RAND)等。替换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和脱靶须分别处理:①写操作命中时,可写直达法(即同时写入主存储器和高速存储器)或(即只写入高速存储器并标记该组过。淘汰该组时须将内容写回主存储器);②写操作脱靶时,可采用写分配法(即写入注存储器并将该组调入高速存储器)或写不分配法(即只写入主存储器但不将该组调入高速器)。 高速缓冲存储器的性能常用命中率来。影响命中率的因素是高速存储器的容量、存储单元组的大小、组数多少、地址联想比较方法、替换算法、写操作处理方法和程序特性等。采用高速缓冲存储器技术的计算机已相当普遍。有的还采用多个高速缓冲存储器,如系统高速缓冲存储器、指令高速缓冲存储器和变换高速缓冲存储器等,以提高系统性能。随着主存储器容量不断增大,高速缓冲存储器的容量也越来越大。
浏览器缓存/高速缓冲存储器
缓存用于一些临时的文件。在浏览网页的中,网页会自动存储在用户的硬盘上。下次再浏览相同的网站的时候,系统会自动从硬盘中调出该网页,既节省了时间也减少了网络的交换。用户可以自行设定缓存方便其上网的需要。电脑中还存在高速缓冲存储器和硬盘缓存。缓存的种类:本地服务器缓存、、硬盘缓存、一级高速缓存、二级高速缓存。&
简单理解/高速缓冲存储器
cache是一个高速小容量的临时存储器,可以用高速的静态存储器芯片,或者集成到CPU内部,存储CPU最经常访问的指令或者操作数据。
cache的基本原理/高速缓冲存储器
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在&cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此,把含有这个字的整个块从主存读出送到cache中。由始终cache使用情况的硬件逻辑电路来实现LRU替换算法&
地址镜像与变换/高速缓冲存储器
由于主存容量远大于高速缓存的容量,因此两者之间就必须按一定的规则对应起来。高速缓存的地址镜像就是指按什么规则把主存块装入高速缓存中。地址变换是指当按某种镜像把主存块装入高速缓存后,每次访问高速缓存时,如何把主存的物理地址或虚拟地址变换成高速缓存的地址,从而访问高速缓存中的。& 镜像和变换的方式有四种:直接、全相连镜像、组相连镜像、区段相连镜像。&
Buffer和Cache的区别/高速缓冲存储器
buffer与cache操作的对象就不一样。& buffer(缓冲)是为了提高内存和硬盘(或其他I/0设备)之间的数据交换的速度而设计的。& cache(缓存)是为了提高cpu和内存之间的数据速度而设计,也就是平常见到的一级缓存、二级缓存、三级缓存。& cpu在执行程序所用的指令和读数据都是针对内存的,也就是从内存中取得的。由于内存读写速度慢,为了提高cpu和内存之间数据交换的速度,在cpu和内存之间增加了cache,它的速度比内存快,但是高,又由于在cpu内不能集成太多集成电路,所以一般cache比较小,以后intel等公司为了进一步提高速度,又增加了二级cache,甚至三级cache,它是根据而设计的,就是cpu执行的指令和访问的数据往往在集中的某一块,所以把这块内容放入cache后,cpu就不用在访问内存了,这就提高了访问速度。当然若cache中没有cpu所需要的内容,还是要内存的。& 缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:我这里有一个ext2的U盘,我往里面cp一个3M的MP3,但U盘的灯没有跳动,过了一会儿(或者手动输入sync)U盘的灯就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟。& 修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。--两者都是RAM中的数据。& 简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。& buffer是由各种进程分配的,被用在如输入等方面。一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。& cache经常被用在磁盘的I/O请求上,如果有多个进程都要某个文件,于是该文件便被做成cache以方便下次被访问,这样可提高系统性能。
读取命中率&/高速缓冲存储器
CPU在Cache中找到有用的被称为命中,当Cache中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有2级Cache的CPU中,读取L1Cache的命中率为80%。也就是说CPU从L1Cache中找到的有用数据占数据总量的80%,剩下的20%从L2Cache读取。由于不能准确预测将要执行的数据,读取L2的命中率也在80%左右(从L2读到的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。在一些高端领域的CPU(像Intel的Itanium)中,我们常听到L3Cache,它是为L2Cache后未命中的数据设计的—种Cache,在拥有L3Cache的CPU中,只有约5%的数据需要从内存中调用,这进一步了CPU的效率。
为了保证CPU访问时有较高的命中率,Cache中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出Cache,提高Cache的利用率。
工作原理/高速缓冲存储器
高速缓冲存储器通常由高速存储器、联想存储器、替换逻辑电路和相应的控制线路组成。在有高速缓冲存储器的计算机系统中,中央处理器存取主存储器的地址划分为行号、列号和组内地址三个。于是,主存储器就在逻辑上划分为若干行;每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的存储单元组。二者的列数相同,组的大小也,但高速存储器的行数却比主存储器的行数少得多。
联想存储器用于地址联想,有与高速存储器相同行数和列数的存储单元。当主存储器某一列某一行存储单元组调入高速存储器同一列某一空着的存储单元组时,与联想存储器对应位置的存储单元就调入的存储单元组在主存储器中的行号。
当中央处理器存取主存储器时,硬件首先对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较:若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将主存储器的地址映射为高速存储器的地址并执行存取操作;若都不相同,表明该单元不在高速存储器中,称为脱靶,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器相同列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应的单元内。
当出现脱靶而高速存储器对应列中没有空的时,便淘汰该列中的某一组以腾出位置存放新调入的组,这称为替换。确定替换的规则叫替换算法,常用的替换算法有:最近最少使用法(LRU)、先进先出法(FIFO)和随机法(RAND)等。替换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和脱靶须分别处理:
①写操作命中时,可写直达法(即同时写入主存储器和高速存储器)或写回法(即只写入高速存储器并标记该组修改过。淘汰该组时须将内容写回主存储器);
②写操作脱靶时,可采用写分配法(即写入主存储器并将该组调入高速存储器)或写不法(即只写入主存储器但不将该组调入高速存储器)。高速缓冲存储器的性能常用命中率来衡量。影响命中率的是高速存储器的容量、存储单元组的大小、组数多少、地址联想比较方法、替换算法、写操作处理方法和程序特性等。
采用高速缓冲存储器技术的计算机已相当普遍。有的还采用多个高速缓冲存储器,如系统高速缓冲存储器、指令高速缓冲存储器和地址变换高速缓冲存储器等,以提高系统性能。随着主存储器容量不断增大,高速缓冲存储器的也越来越大。
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:11次
参与编辑人数:7位
最近更新时间: 21:48:57
申请可获得以下专属权利:
贡献光荣榜}

我要回帖

更多关于 软磁盘存储器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信