当前位置:首页 » 文件管理 » 高速缓存的原理几句话

高速缓存的原理几句话

发布时间: 2022-11-24 23:45:11

A. 外部高速缓存的原理

Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。
当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取内存(Main memory)中读取数据——由于CPU的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要存取主内存的话,就必须等待数个CPU周期从而造成浪费。
提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥高速缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到高速缓存里。
CPU的高速缓存曾经是用在超级计算机上的一种高级技术,不过现今电脑上使用的的AMD或Intel微处理器都在芯片内部集成了大小不等的数据高速缓存和指令高速缓存,通称为L1高速缓存(L1 Cache 即 Level 1 On-die Cache,第一级片上高速缓冲存储器);而比L1更大容量的L2高速缓存曾经被放在CPU外部(主板或者CPU接口卡上),但是现在已经成为CPU内部的标准组件;更昂贵的顶级家用和工作站CPU甚至会配备比L2高速缓存还要大的L3高速缓存(level 3 On-die Cache 第三级高速缓冲存储器)。

B. 高速缓冲寄存器的可行性原理是

高速缓冲存储器就是根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对比较小的存储器,把正在执行的指令地址附近的一部分指令或者数据从主存调入这个存储器,供CPU在一段时间内使用,这样就能相对的提高CPU的运算速度。 他介于主存和CPU之间,这样的高速小容量存储器称为高速缓冲存储器。 随着CPU的速度 越来越快高速缓存也越来越重要,有1级,2级,3级 另外在硬盘中也有高速缓存,工作原理是一样的,希望能帮助 你。

C. 高速缓冲存储器的工作原理是什么

高速缓存内存标识位于主内存中的重复指令和数据,并将其复制到其内存中。CPU不再为相同的指令和数据重复访问较慢的主内存,而是访问更快的缓存。

缓存有时称为CPU内存,通常运行在高性能的SRAM内存模块上。CPU可以访问更快的缓存内存来运行性能敏感的操作。高速缓存内存通常集成在主板下,或者在不同的芯片上,通过总线与CPU互连。

(3)高速缓存的原理几句话扩展阅读

Cache 技术所依赖的原理是”程序执行与数据访问的局部性原理“,这种局部性表现在两个方面:

时间局部性:如果程序中的某条指令一旦执行,不久以后该指令可能再次执行,如果某数据被访问过,不久以后该数据可能再次被访问。

空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令或数据通常是顺序存放的。

时间局部性是通过将近来使用的指令和数据保存到Cache中实现。空间局部性通常是使用较大的高速缓存,并将 预取机制 集成到高速缓存控制逻辑中来实现。

D. 缓存的工作原理

缓存的工作原理是当CPU要读取一个数据时,首先从CPU缓存中查找,找到就立即读取并送给CPU处理;没有找到,就从速率相对较慢的内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在CPU缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。
RAM(Random-Access Memory)和ROM(Read-Only Memory)相对的,RAM是掉电以后,其中的信息就消失那一种,ROM在掉电以后信息也不会消失那一种。RAM又分两种,一种是静态RAM,SRAM(Static RAM);一种是动态RAM,DRAM(Dynamic RAM)。前者的存储速率要比后者快得多,使用的内存一般都是动态RAM。为了增加系统的速率,把缓存扩大就行了,扩的越大,缓存的数据越多,系统就越快了,缓存通常都是静态RAM,速率是非常的快, 但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 价格高(同容量的静态RAM是动态RAM的四倍), 由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 但是为了提高系统的性能和速率,必须要扩大缓存, 这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 这些高速动态RAM速率要比常规动态RAM快,但比原来的静态RAM缓存慢, 把原来的静态RAM缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。

E. 高速缓冲存储器的工作原理

高速缓冲存储器通常由高速存储器、联想存储器、替换逻辑电路和相应的控制线路组成。在有高速缓冲存储器的计算机系统中,中央处理器存取主存储器的地址划分为行号、列号和组内地址三个字段。于是,主存储器就在逻辑上划分为若干行;每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的存储单元组。二者的列数相同,组的大小也相同,但高速存储器的行数却比主存储器的行数少得多。
联想存储器用于地址联想,有与高速存储器相同行数和列数的存储单元。当主存储器某一列某一行存储单元组调入高速存储器同一列某一空着的存储单元组时,与联想存储器对应位置的存储单元就记录调入的存储单元组在主存储器中的行号。
当中央处理器存取主存储器时,硬件首先自动对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较:若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将存取主存储器的地址映射为高速存储器的地址并执行存取操作;若都不相同,表明该单元不在高速存储器中,称为脱靶,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器相同列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应位置的单元内。
当出现脱靶而高速存储器对应列中没有空的位置时,便淘汰该列中的某一组以腾出位置存放新调入的组,这称为替换。确定替换的规则叫替换算法,常用的替换算法有:最近最少使用算法(LRU)、先进先出法(FIFO)和随机法(RAND)等。替换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和脱靶须分别处理。
主-辅存存储层次 由于计算机主存容量相对于程序员所需要的容量来说总是太小,程序与数据从辅存调入主存是由程序员自己安排的,程序员必须花费很大精力和时间把大程序预先分成块,确定好这些程序块在辅存中的位置和装入主存的地址,而且还要预先安排好程序运行时各块如何和何时调入调出,因此存在存储空间的分配问题。操作系统的形成和发展使得程序员尽可能摆脱主、辅存之间的地址定位,同时形成了支持这些功能的“辅助硬件”,通过软件、硬件的结合,把主存和辅存统一成了一个整体,如图所示。这时,由主存、辅存形成了一个存储层次,即存储系统。从整体看,其速度接近于主存的速度,其容量则接近于辅存的容量,而每位的平均价格也接近于廉价的慢速的辅存平均价格。这种系统不断发展和完善,就逐步形成了现在广泛使用的虚拟存储系统。在系统中,应用程序员可用机器指令地址码对整个程序统一编址,如同程序员具有对应这个地址码宽度的全部虚存空间一样。该空间可以比主存实际空间大得多,以致可以存得下整个程序。这种指令地址码称为虚地址(虚存地址、虚拟地址)或逻辑地址,其对应的存储容量称为虚存容量或虚存空间;而把实际主存的地址称为物理地址、实(存)地址,其对应的存储容量称为主存容量、实存容量或实(主)存空间
主-辅存存储层次 地址映象是指某一数据在内存中的地址与在缓冲中的地址,两者之间的对应关系。下面介绍三种地址映象的方式。
1.全相联方式
地址映象规则:主存的任意一块可以映象到Cache中的任意一块
(1) 主存与缓存分成相同大小的数据块。
(2) 主存的某一数据块可以装入缓存的任意一块空间中。如果Cache的块数为Cb,主存的块数为Mb,则映象关系共有Cb×Mb种。
目录表存放在相关(联)存储器中,其中包括三部分:数据块在主存的块地址、存入缓存后的块地址、及有效位(也称装入位)。由于是全相联方式,因此,目录表的容量应当与缓存的块数相同。
优点:命中率比较高,Cache存储空间利用率高。
缺点:访问相关存储器时,每次都要与全部内容比较,速度低,成本高,因而应用少。
2.直接相联方式
地址映象规则: 主存储器中一块只能映象到Cache的一个特定的块中。
(1) 主存与缓存分成相同大小的数据块。
(2) 主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数与缓存的总块数相等。
(3) 主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。
主存中各区内相同块号的数据块都可以分别调入缓存中块号相同的地址中,但同时只能有一个区的块存入缓存。由于主、缓存块号相同,因此,目录登记时,只记录调入块的区号即可。主、缓存块号及块内地址两个字段完全相同。目录表存放在高速小容量存储器中,其中包括二部分:数据块在主存的区号和有效位。目录表的容量与缓存的块数相同。
优点:地址映象方式简单,数据访问时,只需检查区号是否相等即可,因而可以得到比较快的访问速度,硬件设备简单。
缺点:替换操作频繁,命中率比较低。
3.组相联映象方式
组相联的映象规则:
(1) 主存和Cache按同样大小划分成块。
(2) 主存和Cache按同样大小划分成组。
(3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。
(4) 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放,即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。
主存地址与缓存地址的转换有两部分,组地址是按直接映象方式,按地址进行访问,而块地址是采用全相联方式,按内容访问。组相联的地址转换部件也是采用相关存储器实现。
优点:块的冲突概率比较低,块的利用率大幅度提高,块失效率明显降低。
缺点:实现难度和造价要比直接映象方式高。 1. 根据程序局部性规律可知:程序在运行中,总是频繁地使用那些最近被使用过的指令和数据。这就提供了替换策略的理论依据。综合命中率、实现的难易及速度的快慢各种因素,替换策略可有随机法、先进先出法、最近最少使用法等。
(1).随机法(RAND法)
随机法是随机地确定替换的存储块。设置一个随机数产生器,依据所产生的随机数,确定替换块。这种方法简单、易于实现,但命中率比较低。
(2).先进先出法(FIFO法)
先进先出法是选择那个最先调入的那个块进行替换。当最先调入并被多次命中的块,很可能被优先替换,因而不符合局部性规律。这种方法的命中率比随机法好些,但还不满足要求。先进先出方法易于实现,
(3).最近最少使用法(LRU法)
LRU法是依据各块使用的情况, 总是选择那个最近最少使用的块被替换。这种方法比较好地反映了程序局部性规律。 实现LRU策略的方法有多种。
2 在多体并行存储系统中,由于 I/O 设备向主存请求的级别高于 CPU 访存,这就出现了 CPU 等待 I/O 设备访存的现象,致使 CPU 空等一段时间,甚至可能等待几个主存周期,从而降低了 CPU 的工作效率。为了避免 CPU 与 I/O 设备争抢访存,可在 CPU 与主存之间加一级缓存,这样,主存可将 CPU 要取的信息提前送至缓存,一旦主存在与 I/O 设备交换时, CPU 可直接从缓存中读取所需信息,不必空等而影响效率。
3 目前提出的算法可以分为以下三类(第一类是重点要掌握的):
(1)传统替换算法及其直接演化,其代表算法有 :①LRU( Least Recently Used)算法:将最近最少使用的内容替换出Cache ;②LFU( Lease Frequently Used)算法:将访问次数最少的内容替换出Cache;③如果Cache中所有内容都是同一天被缓存的,则将最大的文档替换出Cache,否则按LRU算法进行替换 。④FIFO( First In First Out):遵循先入先出原则,若当前Cache被填满,则替换最早进入Cache的那个。
(2)基于缓存内容关键特征的替换算法,其代表算法有:①Size替换算法:将最大的内容替换出Cache②LRU— MIN替换算法:该算法力图使被替换的文档个数最少。设待缓存文档的大小为S,对Cache中缓存的大小至少是S的文档,根据LRU算法进行替换;如果没有大小至少为S的对象,则从大小至少为S/2的文档中按照LRU算法进行替换;③LRU—Threshold替换算法:和LRU算法一致,只是大小超过一定阈值的文档不能被缓存;④Lowest Lacency First替换算法:将访问延迟最小的文档替换出Cache。
(3)基于代价的替换算法,该类算法使用一个代价函数对Cache中的对象进行评估,最后根据代价值的大小决定替换对象。其代表算法有:①Hybrid算法:算法对Cache中的每一个对象赋予一个效用函数,将效用最小的对象替换出Cache;②Lowest Relative Value算法:将效用值最低的对象替换出Cache;③Least Normalized Cost Replacement(LCNR)算法:该算法使用一个关于文档访问频次、传输时间和大小的推理函数来确定替换文档;④Bolot等人 提出了一种基于文档传输时间代价、大小、和上次访问时间的权重推理函数来确定文档替换;⑤Size—Adjust LRU(SLRU)算法:对缓存的对象按代价与大小的比率进行排序,并选取比率最小的对象进行替换。

F. 高速缓存的主要作用

高速缓存是处理核心(包括CPU与GPU)或者外部储存设备与主内存区间的一个缓冲储存区,所以称为缓存
在CPU,GPU等处理核心上,核心计算的临时中间数据和大量需求的数据都优先储存在缓存里,举个例子:CPU计算一个1+1+1的值时,第一次计算前两个数的和的结果2就储存在CPU缓存里,再把结果拿来进行第二次计算,当然,现在的处理器算这个数据不用这么做,只是面对大量数据计算的时候需要这么做
在更大量的计算里,处理器会按数据的优先级从低到高分别储存在一级,二级,三级缓存中,再没有空间就会放进内存中,处理器读取数据也是从一级缓存开始,直到内存中,如果内存还没有数据就去硬盘光盘等外部储存设备找,一级缓存速度最快,二级,三级次之
在外部储存设备中,比如硬盘和光驱的缓存主要是提高传输速率,增加硬件寿命,你可以从硬盘一个分区复制一堆小文件到另一个分区,你可以发现,复制相同容量的文件速度是大文件快于小文件,因为每个小文件都要进行文件的建立,数据写入与结束写入等过程会耗费很多时间
在处理器或者内存向硬盘或者光驱(刻录机)写入的数据都是小文件或者数据而且并不连续,他们都先放在硬盘缓存里,到整个文件结束或者到缓存区容量极限时再一次性写入硬盘,这样可以减少硬盘的读写次数,并且以此写入的速度更快~

G. 高速跟踪缓存是什么

、高速缓存的概念和原理

1、高速缓存出现的原因
高速缓存(Cache)的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。为了减少这种情况的发生,人们就想到了使用Cache,它采用一种读写速度要比系统内存快很多的特殊静态内存。系统工作时,将运行时要经常存取的一些数据从系统内存读取到Cache中,而CPU会首先到Cache中去读取或写入数据,如果Cache中没有所需数据(或Cache已满,无法再写入),则再对系统内存进行读写,另外Cache在空闲时也会与内存交换数据。其实质就是是在慢速DRAM和快速CPU之间插入一速度较快、容量较小的SRAM,起到缓冲作用,使CPU既可以以较快速度存取SRAM中的数据,提高系统整体性能,又不使系统成本上升过高。

2、高速缓存的工作原理
Cache的工作原理是基于计算机程序访问的局部性。对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。对这些地址的访问具有时间上集中分布的倾向。数据分布以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。根据程序的局部性原理,就为Cache的存在提供了理论依据,系统正是依据此原理,不断地将与当前指令集相关联的一个不太大的后继指令集从内存读到Cache,然后再与CPU高速传送,从而达到速度匹配。

3、高速缓存的分级结构

CPU高速缓存是分级构造的,一般由L1和L2两极构成,通常L1 Cache的速度最快,与CPU核心的距离也最近,但容量较小,而L2 Cache 速度稍慢,但容量较大。Cache采用分级结构的主要理由在于:对于一个典型的一级缓存系统的80%的内存申请都发生在CPU内部,只有20%的内存申请是与外部内存打交道。而这20%的外部内存申请中的80%又与二级缓存打交道。因此,采用分级结构将更加有利于效能的提升和成本的合理分配。

这种分层的高速缓存布局有助于弥合处理器与系统内存速度之间不断加大的差距,处理器速度每年大约提高50%,而DRAM存取速度每年仅提高5%,由于性能不匹配程度的加剧,CPU将增加第三级,甚至第四级高速缓存。

4、高速缓存的构成
目前Cache基本上都是采用SRAM存储器,SRAM是英文Static RAM的缩写,它是一种具有静志存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,这也是目前不能将Cache容量做得太大的重要原因。它的特点归纳如下:优点,节能、速度快,不必配合内存刷新电路,可提高整体的工作效率。 缺点,集成度低,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。

二、CPU 高速缓存的发展历史
高速缓存最初应用在CPU领域,目前在CPU领域的应用也最为广泛和深入。下面就简单谈谈高速缓存随CPU的发展而不断变化的历史过程。

1、80486开始出现了内部Cache
PC在诞生的初期并不存在Cache的概念,由于CPU主频很低,DRAM的存取时间甚至快于CPU存取时间,因此无需Cache。 80386时代开始出现了外部Cache。在80486时代CPU内部才正式出现了Cache。实际上80486就是由更高主频的80386 加80387数字协处理器以及8kB 内部Cache构成。80486芯片内由8kB的Cache来存放指令和数据。同时,80486也可以使用处理器外部的第二级Cache,用以改善系统性能并降低80486要求的总线带宽。

2、Peutium时代Cache技术发展迅速
Peutium不仅分离L1 Cache和L2 Cache ,而且由于Pentium处理器采用了超标量结构双路执行的流水线,有2条并行整数流水线,处理器也需要对命令和数据进进双倍的访问。为使这些访问不互相干涉,Intel把在486上共用的内部Cache,分成2个彼此独立的8kB代码Cache和8kB数据Cache,这两个Cache可以同时被访问。这种双路高速缓存结构减少了争用Cache所造成的冲突,提高了处理器效能。Pentium的Cache还采用了回写写入方式,这同486的贯穿写入方式相比,可以增加Cache的命中率。此外,还采用了一种称为MESI高速缓存一致性协议,为确保多处理器环境下的数据一致性提供了保证。在Pentium MMX中更是增大了L1的容量,并改进了相关的算法。

3、Pentium Pro出现内嵌式L2 Cache

为使Pentium Pro的性能超过Pentium,必需使用创新的设计方法,Pentium Pro使用了内嵌式L2 Cache,大小为512kB。此时的L2已经用线路直接连到CPU上,好处就是减少了对L1 Cache的需求。L2 Cache与CPU同步运行。当L1 Cache不命中时,立刻访问L2 Cache,不产生附加延迟。为进一步减少因要访问的信息不在高速缓冲中时所带来的性能损失,Pentium Pro的L1和L2都设计成非锁定型。即当哪个Cache中没有CPU所需的信息时,它不妨碍后面访问Cache的处理过程。但限于当时的CPU制造工艺,Pentium Pro的内嵌式L2 Cache 良品率太低,生产成本过高, Pentium Pro成为一款寿命短暂的过渡产品。

4、PentiumⅡ的双重独立总线
PentiumⅡ是Pentium Pro的改进型,具有MMX指令,使用动态执行技术,采用双独立总线结构。PentiumⅡ同样有2级Cache,L1为32kB(指令和数据Cache各16kB)是Pentium Pro的一倍。L2为512kB。
Pentium Ⅱ与Pentium Pro在L2 Cache 的不同主要在于L2 Cache已不在内嵌芯片上,而是与CPU通过专用64位高速缓存总线相联,与其它元器件共同被组装在同一基板上,即“单边接触盒”上。双独立总线结构就是:L2高速缓存总线和处理器至主内存的系统总线, PentiumⅡ处理器可以同时使用这两条总线,与单一总线结构的处理器相比,该处理器可以进出两倍多的数据。

5、PentiumⅢ L2 Cache进一步改进
PentiumⅢ也是基于Pentium Pro结构为核心,在原有MMX多媒体指令的基础上,又增了70多条多媒体指令。它使用动态执行技术,采用双独立总线结构。 PentiumⅢ具有32kB非锁定L1 Cache和512kB非锁定L2 Cache。L2可扩充到1~2MB,具有更合理的内存管理,可以有效地对大于L2缓存的数据块进行处理,使CPU、Cache和主存存取更趋合理,提高了系统整体性能。在执行大数据流量程序时,高效率的高速缓存管理使PⅢ避免了对L2 Cache的不必要的存取。由于消除了缓冲失败,多媒体和其它对时间敏感的操作性能更高了。对于可缓存的内容,PⅢ通过预先读取期望的数据到高速缓存里来提高速度,这一特色提高了高速缓存的命中率,减少了存取时间。

三、其他配件中的高速缓存
Cache从本质上说是一种高速设备和低速设备的速度匹配技术,不仅用在提高CPU对内存的读写速度上,而且在电脑的其它配件中也得到了广泛应用。在较慢速的其它外围设备和内存的数据交换中,甚至在网络通讯中,都需要使用Cache技术。推而广之,凡是在传输速度有较大差异的设备之间,都可以利用Cache的速度匹配技术。

1、主板高速缓存
由于在Pentium II推出之前,CPU只有内部集成的L1 Cache(一级高速缓存),L2Cache(二级高速缓存)都被放置在主板上。Pentium时代的主板上大都用速度较快,容量较大的同步PB SRAM (Pipeline Burst SRAM 管线突发式静态内存),一般为256KB或512KB。当时在主板上还存在Tag SRAM的概念。

Tag SRAM,即标记的静态随机存取存储器,它是在高速缓存系统中配合高速缓存的附加SRAM,它也是高速缓存,只是用在高速缓存电路中记录地址数据,当CPU要读取主存某一个地址中的数据时,会先到高速缓存电路中去寻找,对高速缓存系统的Tag SRAM所记录的地址数据进行搜寻和对比,当高速缓存内也存有此地址的数据时,高速缓存总线的仲裁控制电路即将数据读取传回CPU,若对比Tag SRAM记录的地址数据而找不到此数据的地址时,CPU就会到主存读取数据。因此Tag SRAM与高速缓存的命中率有很大关系。由于现在CPU内部都集成了L2 Cache,故PII以后,主板上都不再集成Cache了。

2、CPU高速缓存的应用
关于CPU高速缓存的发展历史等相关情况,前面已经谈及。这里主要介绍一下目前主流CPU使用高速缓存的情况。

象最新的Northwood P4处理器,不仅采用了0.13 微米工艺生产,其体系结构也有所改变,提高了运算效率(指令周期)。 并且将L2 CACHE的容量由老P4的256K 增加为512K。在性能上有10%左右的提升。

Tualatin 赛扬的二级缓存采用了全速256KB(8路), Pentium III同样大小的二级缓存,这对于提高CPU的性能有很大的帮助。Tualatin核心赛扬的性能非常不错,在很大程度上就是得益于256KB的全速缓存。这也充分反映出高速缓存对电脑配件性能的影响。

AMD 的Morgan实际上和Palomino核心的毒龙规格相同,只是CPU内部L2 Cache有所不同。最引人注意的一点是改进了Cache算法。在Morgan中包含了一个硬件化的数据预读取规则。这个功能就是在CPU对数据进行了处理之后,预读取设备可以猜测哪些数据是CPU所需要的。如果这些数据并没有在Cache中,那么这个预读取设备就会自动到主内存中去重新获取这个数据;而如果这个数据已经存在于Cache之中的话,那么CPU就会更加快速地得到这个数据。

Athlon XP无疑是AMD今年最成功的产品,它采用了类似于Pentium 4的硬件预读技术--执行跟踪高速缓存,预先将处理器可能需要的数据从主内存读到缓存中,这一过程能明显提高系统总线和内存带宽的利用率,进而提升系统性能。

主要用于服务器的Merced 对Cache的要求更高了。为此,lntel在芯片内开发新的Cache,并增加L1 Cache的容量,来平衡CPU和DRAM间的速度。为此,在Merced的片上最接近执行单元旁再设另一处Cache,称为L0缓存,是指令/数据分离型。由于L0Cache在物理位置上比L1离执行单元更近,布线距离的缩短,使它与执行单元间的数据交换速度比L1还快,可以进一步提高工作主频。 同时,还要在芯片内部配置超过1MB的大容量L1 Cache。芯片内部Cache比外部Cache更易于提升与执行单元间的数据传送速度。

3、硬盘高速缓存

在PC的磁盘系统中,高速缓存也得到了广泛应用。为提高内存对硬盘的读写速度,就要建立磁盘高速缓存,不过硬盘高速缓存不必使用昂贵的SRAM,使用普通的DRAM即可,因为DRAM内存的存取速度对CPU来说较慢,但对磁盘的存取速度却是很快的。这是因为磁盘存储系统包含有磁头的机械运动,而机械运动无法跟传送电信号的电子速度相比。以前硬盘内部集成的高速缓存只有512K左右,而现在硬盘普遍将高速缓存的容量提升到2M以上,个别产品甚至达到了8M。由于硬盘Cache无需使用高速的SRAM,除了内部集成的SDRAM,我们还可以在系统主内存中划出一个区域,作为专用的磁盘缓冲区,采用一定的数据结构,即可实现磁盘存取的二级Cache技术。硬盘高速缓存的工作过程及原理与CPU高速缓存类似,也是把即将访问的数据整块地拷贝到高速缓存区中,然后内存再到高速缓存中去逐个读取数据。由于数据在RAM空间内部传送要比在RAM与磁盘间传送快得多,从而系统由此提高了存取速度。

下面给大家介绍一下西数WD1000BB-SE 8MB缓存硬盘,由于内存的读写速度大大高于硬盘的读写速度,因此大容量的缓存可以有效提高存储器的数据传输速度。但目前市面所售的大部分硬盘都只带512K--2MB的缓存。西数前段时间推出的7200转,100G硬盘特别版WD1000BB-SE,其单碟容量为33G,接口类型为ATA100,平均寻道时间8.9毫秒,这方面参数与其他硬盘相比并无特别,不过WD1000BB-SE将硬盘的缓存容量从2MB直接提升到了8MB。引起了业界的普遍关注。经过多方面评测,由于缓存容量的加大,这款IDE接口硬盘的实际性能已经接近或超越了不少10000转SCSI接口硬盘,成为IDE硬盘中的速度王者。这也充分反映出高速缓存对电脑配件性能的影响。

4、刻录机的缓存
缓存容量的大小是衡量光盘刻录机性能的重要技术指标之一,刻录时数据必须先写入缓存,刻录软件再从缓存区调用要刻录的数据,在刻录的同时后续的数据再写入缓存中,以保持要写入数据良好的组织和连续传输。如果后续数据没有及时写入缓冲区,传输的中断则将导致刻录失败。因而缓冲的容量越大,刻录的成功率就越高。市场上的光盘刻录机的缓存容量一般在1MB~4MB之间,目前最大的有8M缓存的产品。尤其对于IDE接口的刻录机,缓存容量很重要。增加高速缓存既有利于刻录机的稳定工作,同时也有利于降低CPU的占用率。 总之缓存大小对刻录机是非常的重要的,缓存越大刻录时就越稳定。目前市场上有多款刻录机都带有8M缓存,配合其他防刻死技术,有效防止了出现“缓存欠载”导致刻录失败的问题。

在普通光驱中也内置有高速缓存,当然其作用没有刻录机中的重要,主要是为了提高读盘效率,降低CPU占用率,因此容量也比较小,一般只有512K。

5、其他设备的高速缓存
在PC其他配件中也都存在高速缓存的应用。比如在显示系统中,由于3D应用的迅猛发展,现在显卡上的显示内存普遍达到了32M以上,甚至多达128M,因此也广泛使用着高速缓存技术,如前台缓存、后台缓存、深度缓存和纹理缓存等。

现在还有所谓CDRAM(Cache DRAM) 带高速缓存的内存,就是在内存芯片上集成了特殊构造的SRAM。发展好的话过几年有可能成为主流内存。除此之外,甚至在声卡、RAID卡、SCSI卡中也带有高速缓存,

四、高速缓存的调整及应用

1、BIOS中与高速缓存有关的选项

1)Video ROM的Shadow
“影子”内存(ShadowRAM,或称ROMShadow)是为了提高系统效率而采用的一种专门Cache技术,它把系统主板上的系统ROMBIOS和适配器卡上的视频ROMBIOS等拷贝到系统RAM内存中去运行,其地址仍使用它们在上位内存中占用的原地址。更确切地说,是从扩展内存中拿出一部分物理存储空间,而赋以ROM的原地址,由这部分扩展RAM代替原ROM。由于ROM采用静态CMOS电路,其存取速度为200ns左右,而系统存储器RAM采用动态CMOS电路,其存取速度进几十ns,速度快好几倍,将存放在ROM中的BIOS代码(基本输入输出例行程序,它们在系统运行期间非常频繁的被调用)拷贝到系统RAM中去,就可提高系统运行和显示的速度和效率。

2)CPU Internal Cache
CPU内部快速缓存是否打开,一般设置为Enable。Enternal Cache:是否使用主板缓存,一般设置为Enable。CPU L2 Cache Ecc Checking:CPU的L2 缓存Ecc 检测,可设置为Disable。

从字面上看,“CPU Internal Cache”和“External Cache”分别指CPU内部和外部的高速缓存,但更准确的说法应该是一级缓存和二级缓存。Socket/Super 7架构的CPU内部只有一级缓存,二级缓存放在了主板上,“Internal”和“External”的说法就源于此,而对PⅡ、PⅢ和K6-Ⅲ等CPU来说,二级缓存也被集成到CPU内部,内外部的说法就不太确切了,因此一些Slot 1主板对此进行了修改,改称为“CPU Level 1 Cache”和“CPU Level 2 Cache”。除非打开后系统会出现死机等情况,否则这两个选项都应设为Enabled,以加快CPU读取内存的速度。

3)二级缓存的潜伏期

在BIOS中,我们还可以调节二级缓存的潜伏期,其中Level 2 Cache Latency(二级缓存潜伏期)有16个值可选(1~15),从理论上来说,数值越小延迟时间越短,性能也越高。如果把数值设得过小,二级缓存有可能停止工作,不仅系统性能会急速下跌,还会发生死机现象。L2 Cache对内存带宽有重大影响,即使CPU频率再高,其它设备跟不上亦是无用,增加缓存潜伏期可以让机器更稳定,避免上述情况。

4)System BIOS Cacheable

“System BIOS Cacheable”、“Video BIOS Cacheable”和“Video RAM Cacheable”分别指定是否可以使用二级高速缓存来缓存系统BIOS、显卡BIOS和显示内存,缓存之后,BIOS调用的执行速度以及访问显示内存的速度都会加快,因此最好都设成Enabled。不过,当显示内存可以被缓存时,少数显卡可能会出现兼容性问题,此时可考虑将第三项设为Disabled。

2、调整高速缓存优化系统
如果你的应用程序需频繁访问硬盘,可在扩充或扩展内存中建立“直接写盘(write-through)”型磁盘高速缓存。用户可在autoexec.bat文件中加入命令行:c:\dos\smartdrv.exe,则此驱动程序会自动装入内存高端,其磁盘缓冲区缺省值为256KB,你可以改变这个值的大小。一般设置为物理内存的1/8左右比较合适。SMARTDRV.EXE一个外部设备驱动程序。用此程序可启动或设置磁盘高速缓冲存储器。与Cache不同,Cache是充分发挥了CPU的速度,而SMARTDRV是加快了磁盘的读写速度。在实际应用中,SMARTDRV.EXT高速缓存驱动程序将记住每次应用程序使用磁盘的磁盘扇区数据,不用再访问磁盘驱动器,而是访问内存中已包含这些数据的区域。

总的来说,PC中的Cache主要是为了解决高速设备和低速设备间速度匹配的问题,是提高系统性能,降低系统成本而采用的一项技术。随着电脑技术的飞速发展, Cache已成为PC中大多数配件不可缺少的组成部分,是衡量系统性能优劣的一项重要指标。从系统的性价比考虑,Cache的配备将在很长一段时间内仍然是PC中重要的技术之一。

H. 何谓’高速缓存’高速缓存=RAM吗详见问题补充说明

1,高速缓存(Cache),全称“高速缓冲存储器”。

2,例如:当CPU处理数据时,它会先到高速缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从主内存中读取数据——由于CPU的运行速度一般比主内存快,因此若要经常存取主内存的话,就必须等待数个CPU周期从而造成浪费。

3,提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”。

4,现在Cache的概念已经被扩充了:不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘高速缓存),乃至在硬盘与网络之间也有某种意义上的“Cache”(Internet临时文件夹)。

5,凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。

6,所以硬盘和内存之间的Cache就叫做磁盘高速缓存。它是在内存中开辟一块位置,来临时存取硬盘中的数据。这项技术可使计算机读写时的存储系统平均数据传输率提高5-10倍,适应了当前激增的海量数据存储需求。

7,在DOS时代,我们用:
smartdrv 内存容量
命令来加载硬盘高速缓存。自从有了Windows后,我们就不需要加载硬盘高速缓存了,因为Windows本身有自己的高速缓存管理单元,如果强行使用smartdrv命令加载,反而会影响Windows的性能。

8,我们在用硬盘安装Win2000/XP时候,系统会提示加载高速缓存,这是因为在安装的初期还是DOS操作,所以为了达到读存的速度,安装程序要求加载高速缓存。

I. 什么是高速缓存技术高速缓存的作用是什么

高速缓存英文是cache。一种特殊的存储器子系统,其中复制了频繁使用的数据,以利于CPU快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM 存储器速度快,所以当 RAM 的访问速度低于微处理器的速度时,常使用高速缓冲存储器。 高速缓存的作用: 在CPU开始执行任何指令之前,都会首先从内存中取得该条指令以及其它一些相关数据和信息。为了加快CPU的运行速度,几乎所有的芯片都采用两种不同类型的内部存储器,即高速缓存。缓存被用来临时存放一些经常被使用的程序片段或数据。 一级高速缓存是性能最好缓存类型,与解释指令和执行算术运算的处理单元一到构成CPU的核心。CPU可以在全速运行的状态下读取存放在一级高速缓存中的指令或数据。Intel的处理器产品一般都会具有32K的一级缓存,而象AMD或Via这种竞争对手的产品则会使用更多的一级缓存。 如果在一级缓存中没有找到所需要的指令或数据,处理器会查看容量更大的二级缓存。二级缓存既可以被集成到CPU芯片内部,也可以作为外部缓存。Pentium II处理器具有512K的二级缓存,工作速度相当于CPU速度的一半。Celeron以及更新的Pentium III芯片则分别具有128K和256K的在片二级缓存,能够在处理器全速下运行。 对于存放在速度较慢的二级缓存中的指令或数据,处理器往往需要等待2到4个时钟周期。为了充分利用计算资源,CPU可以在这段时间内查看和执行其它正在等候处理,但不需要使用额外数据的指令,从而提高整个系统的速度,把空闲时间降低到最低程度。

J. 求解:什么是高速缓存以及缓冲的原理是什么

——》1,高速缓存(Cache),全称“高速缓冲存储器”。

——》2,例如:当CPU处理数据时,它会先到高速缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从主内存中读取数据——由于CPU的运行速度一般比主内存快,因此若要经常存取主内存的话,就必须等待数个CPU周期从而造成浪费。

——》3,提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”。

——》4,现在Cache的概念已经被扩充了:不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘高速缓存),乃至在硬盘与网络之间也有某种意义上的“Cache”(Internet临时文件夹)。

——》5,凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。

——》6,所以硬盘和内存之间的Cache就叫做磁盘高速缓存。它是在内存中开辟一块位置,来临时存取硬盘中的数据。这项技术可使计算机读写时的存储系统平均数据传输率提高5-10倍,适应了当前激增的海量数据存储需求。

——》7,在DOS时代,我们用:
smartdrv 内存容量
命令来加载硬盘高速缓存。自从有了Windows后,我们就不需要加载硬盘高速缓存了,因为Windows本身有自己的高速缓存管理单元,如果强行使用smartdrv命令加载,反而会影响Windows的性能。

——》8,我们在用硬盘安装Win2000/XP时候,系统会提示加载高速缓存,这是因为在安装的初期还是DOS操作,所以为了达到读存的速度,安装程序要求加载高速缓存。

热点内容
c可以用来编译系统软件吗 发布:2024-10-05 16:22:26 浏览:17
U盘和存储器 发布:2024-10-05 16:22:04 浏览:896
cmdc语言 发布:2024-10-05 15:58:32 浏览:550
服务器怎么弄公网ip 发布:2024-10-05 15:57:02 浏览:640
设备配置在什么地方 发布:2024-10-05 15:44:59 浏览:249
matlab外部接口编程 发布:2024-10-05 15:36:58 浏览:365
C事件编程 发布:2024-10-05 15:15:43 浏览:639
一台服务器出现两IP 发布:2024-10-05 15:10:05 浏览:925
md5加密算法c 发布:2024-10-05 15:05:40 浏览:761
如何重设控制器密码 发布:2024-10-05 14:19:13 浏览:441