当前位置:首页 » 硬盘大全 » 计算机为什么用高速缓存技术
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

计算机为什么用高速缓存技术

发布时间: 2022-04-21 17:06:09

A. 计算机内,配置高速缓冲存储器(CACHE)是为了解决什么

B,CPU与内存储器之间速度不匹配问题。

高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术,也有快取记忆体的名称。

高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。

(1)计算机为什么用高速缓存技术扩展阅读:

高速缓冲存储器组成结构

高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。

主要由三大部分组成:

1、Cache存储体:存放由主存调入的指令与数据块。

2、地址转换部件:建立目录表以实现主存地址到缓存地址的转换。

3、替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。

B. 为何在计算机系统中采用高速缓冲存储器

高速缓冲存储器(Cache)实际上是为了把由DRAM组成的大容量内存储器都看做是高速存储器而设置的小容量局部存储器,一般由高速SRAM构成。这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache
通常保存着一份内存储器中部分内容的副本(拷贝),该内容副本是最近曾被CPU使用过的数据和程序代码。Cache的有效性是利用了程序对存储器的访问在时间上和空间上所具有的局部区域性,即对大多数程序来说,在某个时间片内会集中重复地访问某一个特定的区域。如PUSH/POP指令的操作都是在栈顶顺序执行,变量会重复使用,以及子程序会反复调用等,就是这种局部区域性的实际例证。因此,如果针对某个特定的时间片,用连接在局部总线上的Cache代替低速大容量的内存储器,作为CPU集中重复访问的区域,系统的性能就会明显提高。

C. 计算机存储系统中配置高速缓冲存储器的目的是为了解决

计算机来系统配置高速缓冲器cache是为了解决 主存 与 CPU 之间速度不匹配的问题 高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。在计算源机存储系统的层次结构中,是介于中央处理器和主百存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存 储器和主存储器之间信息的调度和传送是由硬件自度动进行的。

D. 计算机中为什么要采用高速缓存器(CACHE)

是为了解决低速的外设和高速的CPU之间速度不匹配的问题。

主要由三大部分组成:

1、Cache存储体:存放由主存调入的指令与数据块。

2、地址转换部件:建立目录表以实现主存地址到缓存地址的转换。

3、替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。

在有高速缓冲存储器的计算机系统中,中央处理器存取主存储器的地址划分为行号、列号和组内地址三个字段。

于是,主存储器就在逻辑上划分为若干行;每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的存储单元组。二者的列数相同,组的大小也相同,但高速存储器的行数却比主存储器的行数少得多。

(4)计算机为什么用高速缓存技术扩展阅读

当中央处理器存取主存储器时,高速缓存器首先自动对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较:若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将存取主存储器的地址映射为高速存储器的地址并执行存取操作。

若都不相同,表明该单元不在高速存储器中,称为脱靶,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器相同列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应位置的单元内。

当出现脱靶而高速存储器对应列中没有空的位置时,便淘汰该列中的某一组以腾出位置存放新调入的组,这称为替换。确定替换的规则叫替换算法,常用的替换算法有:最近最少使用算法(LRU)、先进先出法(FIFO)和随机法(RAND)等。

替换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和脱靶须分别处理。

E. 简述计算机采用高速缓冲器和虚拟存储器的目的

高速缓存器是解决存储器与CPU之间读写速度差的一种解决方案,从而减少CPU的等待时间和保证数据的写入。

而虚拟存储器是解决内存不足而提出的解决方案,将一部分不是经常使用的内存数据写入硬盘,达到扩充内存的逻辑空间大小。

F. 计算机中高速缓存的作用

计算机硬盘的高速缓存:
1.高速缓存的概念。缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界接口传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,如果有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。
2.高速缓存的作用。硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。2MB和8MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了16MB、64MB等。
大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度,但并不意味着缓存越大就越出众。缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。更大容量缓存是未来硬盘发展的必然趋势。
高速缓存产生作用的时机:
3.作用体现及应用。 现在拥有大量数据,但最经常使用的往往只有其中一小部分。如国标汉字有6763个,但经常使用的只有3000个,其中几百个又占了50%以上的使用频率。因此人们想到,如果将这几百个放到存取最快的地方,就可以用很小的代价大大提高工作速度。高速缓存的工作原理基本就是这样。例如我们知道内存的存取速度比硬盘快得多,我们可以在一开机时就将宋体字的前3000个、黑体字最常用的500个装入内存专门开辟的区域,这样当使用这部分字的时候就可以从内存取字,其余的才会去读硬盘。内存开辟的这部分区域就叫做高速缓存,它可能只占所有字体存储量的十分之一,但可以将读写字库的速度提高几十倍。
具体看一下高速缓存起的使用。假设我们有100M数据,其中1M数据的使用频率占到了50%,又知内存存取时间只有硬盘时间的10万分之一,因此如果我们用1M内存做高速缓存存储最常用的1M数据就可以差不多将平均存取速度提高一倍。从这个例子可以看出,当数据使用越不平均,两种存储器之间的速度差越大时CACHE的作用就越大。
以上是一类使用分布固定的例子,在这种情况下,只要固定将这一部分数据装入最快的存储器就可以了。但在许多情况下,数据的使用频率是不确定的,特别它是与时间相关的。如当我们在写一篇文章时,对这篇文章的内容存取就特别频繁。而过一会儿又去修一张照片,存取操作就转移到了这张照片的数据上去,文章的数据就基本不用了。要让一个系统能够自动地根据当前数据的使用频率改变高速存储器中的内容才能使我们专门开出的高速缓存起作用。因此整个高速缓存系统应该包含调度数据的软件。
CACHE系统怎样调度数据
4.拓展知识-深入了解。 怡泓软件早在1983年就在软件内部使用了硬盘的CACHE系统,在早期内存很小的情况下有效地提高了硬盘上大量数据的存取速度。而PC DOS操作系统直到1990年的DR DOS 5.0和MS DOS 4.0中才内含了CACHE程序。从WINDOWS 3.0开始操作系统中都内建了硬盘CACHE系统,CACHE的概念也逐渐延伸到硬盘内部和CPU内部。
CACHE对数据的调度不一定只在两种存储器之间进行,如现在的CPU就有片上的一级、二级和内存共3种存储器。为了便与理解,我们都以两种存储器为例。
为使CACHE系统能够起到提高速度的作用,这两种存储器的速度必需有比较大的差异。如果用通用CPU来完成数据调度,两种存储器的速度差至少应该达到100倍以上。因为调度程序在每完成一次数据访问时至少要消耗20-30个指令周期,如果速度只差10倍,用CACHE比不用还要慢。
数据的调度并不像我们想象地那样简单。第一高速存储器中的每一个数据必需带有地址信息,因为它从第二级存储器中提出来后已经不是按顺序排列。为了避免地址信息过多而造成的空间浪费和查询时间的浪费,必需将数据分成块。块的大小也很有讲究。太小了起不到压缩时间和空间的作用,太大了读一个数据会造成数百个可能用不着的数据涌入高速存储器,反而起不到压缩空间的作用。
高速存储器中数据的地址信息查询是数据调度时运算的大头。当高速存储器很大时,它的地址表也会很长。从计算机指令发出的是对第二级存储器的存取指令,为了要看它是否在高速存储器中,必需去查询这个地址表。如果地址信息是顺序排列的,平均查询时间将是表长的一半。如果表长到了1000项,平均查一个数据地址就要500次比较。即使两级存储器的速度差达1000倍,这种方法也占不了任何便宜。一种方法是优先级排序法,即每经过一段时间的使用就根据每块数据的使用频率修改表的排列,让频率最高的数据块的地址排到最前面去,这样可以有效地缩短查表次数。这是我们过去使用的方法。Intel发明了一种抢队头的方法。即每一个数据一旦被使用,就将它放到地址表的第一位去。它的优点是重整地址表的算法最简单,缺点是地址表的排列通常不是最优化的。还有一种方法是通过散列表来用空间换时间,这种算法稍微复杂一点,但它通常可以在2次查询就找到所需的地址,不过计算散列地址也要消耗不少时间。
我们从以上算法的简单介绍就可以看出,CACHE技术不是在什么地方都可以使用的灵丹妙药,它受调度计算的很大制约。在CPU内部,两级存储器的速度差往往到不了100倍以上,如何能实现有效的CACHE调度?它其中必须有专用的调度算法部件,以保证在1/3的速度差之内完成调度运算,否则最多只能实现一级缓存。
CACHE作用的局限性
从上面对CACHE调度算法的简单介绍我们已经看到,在没有专用算法部件的情况下,只有当两级存储器速度差很大的时候CACHE才起作用。内存和硬盘的速度差通常为105数量级,因此用内存做硬盘的高速缓存通常是很有效的。
另一方面,高频使用的数据必须远小于高速缓存的大小才行,如果大于高速缓存的大小就会造成刚进入缓存的数据马上就被后来的数据挤出去,非但没有加快速度,反而增加了一道间接传递的时间。当我们用PHOTOSHOP处理的图像数据大于内存的1/3时就会出现这种情况。好在内存的速度远大于硬盘的存取速度,这点变化我们通常感觉不出来。但在CPU中,就会非常明显。CPU在处理图像数据时,每次处理的数据量都远远超过它内部的一级和二级缓存,因此它的作用将大大降低,唯一的补偿是处理程序的指令在一个操作——如锐化——中是固定的,它可以常驻高速缓存,减少读指令的时间。这时不同CPU缓存的大小对运算速度的影响就很小了。因为即使再小的缓存,也存得下操作指令;再大的缓存也存不下被操作的图像数据。
在CACHE调度中,为了保证数据的安全而做的回写操作也是阻碍效率的因素。在对数据进行写操作时,可以不将它写回二级存储器,如硬盘,一直到文件关闭甚至操作系统退出时再回写,这样的效率当然最高,但是非常不安全的。一旦一个程序崩溃,其它所有程序的数据就可能都损失了。所以现在的CACHE调度方案通常都内定必须立即回写。我们马上会想到,优化效率的一半没有了。实际情况并非如此。因为回写操作其实并不是立即发生的,它可以由一个优先级较低的线程去完成,当你在考虑怎么进一步调色时,操作系统插空将数据写回硬盘。
即使内存非常大,PHOTOSHOP也将它的每一步操作写回硬盘,这可以从PHOTOSHOP每次崩溃后都留下一个巨大的临时文件看出。因此如果我们连续对图像做旋转、变形等操作,即使用了极大的内存,CACHE作用也只发生了一半。因此要全面提高PHOTOSHOP的效率,必须用RAID等技术提高硬盘的直接读写速度。同理,硬盘上的2M或4M缓存对于动辄几十M的图像数据是毫无作用的。

G. 微型计算机内,配置高速缓冲存储器,是为了解决什么

各个部件的运算速度不一样,如果不配置缓存会使高速部件等待低速部件,速度会被拖慢,有了缓存后高速部件可以集中处理某一低速部件的信息然后再处理下一部件的,相当于流水化作业,提高了效率和速度

H. 高速缓存是什么

高速缓存英文是cache。F5 BIG-IP软件实现快速缓存——高达9倍的服务器容量提升。高速缓存是一种特殊的存储器子系统,其中复制了频繁使用的数据,以利于CPU快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM 存储器速度快,所以当 RAM 的访问速度低于微处理器的速度时,常使用高速缓冲存储器。

L1高速缓存,也就是我们经常说的一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。采用回写(Write Back)结构的高速缓存。它对读和写*作均有可提供缓存。而采用写通(Write-through)结构的高速缓存,仅对读*作有效。在486以上的计算机中基本采用了回写式高速缓存。在目前流行的处理器中,奔腾Ⅲ和Celeron处理器拥有32KB的L1高速缓存,奔腾4为8KB,而AMD的Duron和Athlon处理器的L1高速缓存高达128KB。

L2高速缓存,指CPU第二层的高速缓存,第一个采用L2高速缓存的是奔腾 Pro处理器,它的L2高速缓存和CPU运行在相同频率下的,但成本昂贵,市场生命很短,所以其后奔腾 II的L2高速缓存运行在相当于CPU频率一半下的。接下来的Celeron处理器又使用了和CPU同速运行的L2高速缓存,现在流行的CPU,无论是AthlonXP和奔腾4,其L2高速缓存都是和CPU同速运行的。除了速度以外,L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达1MB-3MB。

——》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操作,所以为了达到读存的速度,安装程序要求加载高速缓存。

F5 BIG-IP软件实现快速缓存——高达9倍的服务器容量提升
F5 BIG-IP的智能缓存功能通过从Web应用服务器下载重复性流量,实现了巨大的扩展性及费用节省。它也是唯一能够提供多存储缓存的解决方案对每个应用或部门的具体高速缓存进行管理,从而实现对优先级应用的准备与智能的控制。

I. 配置高速缓冲存储器(Cache)是为了让电脑发挥什么作用

高速缓冲存储器这个名词很难理解,但是用缓存就比较好解释。cpu就是工厂,工厂就需要原材料。所以把立即要用的材料放在工厂,工厂面积有限,所以把库存放在库房。库房离工厂很近,没有材料了就去取。但是大多数备料,放在仓库,仓库就离得很远,来回要花的时间很多,但是材料齐全。如果仓库都没有,那么就要找原厂去购买,原厂就可能在国外了。其中,库房就是二级缓存,仓库就是内存。而原厂就是硬盘了。所以说,高速缓存存储器就是用来防止cpu所要处理的数据资料,而且是要立即处理的,当资料不足的时候,就会进到内存找,如果内存找不到,就去硬盘找,这个过程关系到你电脑的运行速度,一味的追求cpu的速度,其实对电脑整体速度是没有作用的。