浅析缓存的意义

时间:2022-06-12 10:04:18

本文详细阐述了计算机的硬件中央处理器中的缓存工作原理,剖析缓存的类别,切合实际就其的特点、作用以及市场上的新产品等进行横、纵向的论述。它合理地协调中央处理器运算速度与内存读写速度不匹配的问题等现实意义。

【关键词】缓存 数据 速度

1 工作原理

在计算机中硬件运行速度的快慢基本由缓存决定,缓存的容量越大则硬件运行速度会相对越快。缓存的应用几乎遍及所有的硬件。由于中央处理器(简称CPU)与存储系统之间存在着数据传送宽带的限制,为了提高读取数据速度及整体效率特设置了高速缓冲存储器(Cache),简称缓存,它先于内存与CPU进行交换数据,特用于临时存储了频繁访问内存的数据(如:指令),换句话说它就是CPU与内存之间的临时存储器,等到再次读取时就可以直接从缓存中直接传输。由此可见缓存的大小是CPU的重要指标之一,究其原因:当CPU读取数据时,一开始就从缓存中去查找,如果找到需要的数据就立即读取并送给CPU处理,其实就是将程序或系统经常要调用的对象存在内存中,一遍后使用时可以快速调用,否则,就用相对慢的速度从内存中读取数据并送给CPU处理,并且把对应数据所在的数据块调入缓存中,实际上是再创建新的重复的实例。这样使得以后对整块数据的读取都从缓存中进行,不必再调用内存而花费时间,不是就减少系统的开销,提高系统效率。当CPU在其缓存中找到数据,则被定义为“命中”,反之,被定义为“未命中”。每一次未命中会造成数据延时或等待,当CPU要在较慢的层次上查找数据,一些算法可以在需要数据前就预先读取,并且命中率可达90%,按照这样的读取机制使CPU读取Cache的命中率提高,使得CPU读取数据大大缩短时间。

2 缓存的分类

其实,刚开始CPU缓存是一个整体,不足之处在于容量很低,随着制造工艺上的限制又不能大幅度提高缓存的容量。慢慢出现了集成在与CPU同一块电路板上或主板上的缓存,按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为:

(1)在最高层次上使用频率最高的信息(比如循环中反复执行的指令),被直接存储在CPU芯片上,它就是一级缓存,简称L1 Cache或L1,位于CPU内核的一旁,它是与CPU结合最为紧密的CPU缓存,也是所有内存读取速度最快的,虽然它的容量小、性价比低,但是技术难度和制造成本却是最高的。

(2)当CPU需要执行一条指令,它首先查询CPU中数据寄存器,如果所需数据都不在寄存器和一级缓存中,它接着会查询二级缓存,简称L2 Cache或L2是CPU的第二层高速缓存,L2高速缓存容量直接影响CPU的性能关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高,而同一核心的CPU高低端之分在于二级缓存上的差异,主要用来存放计算机运行时操作系统的指令、程序数据和地址指针数据等,它容量越大系统反应速度越快。

(3)较高端的CPU中,还带有三级缓存,简称L3 Cache或L3,它是为读取二级缓存后未命中的数据设计的―种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,进一步提高了CPU的效率。为了保证CPU访问时有较高的命中率,缓存中的内容还按一定的算法替换。

其实L3缓存只是起到辅助的作用,除了服务器,其实对大多数家用机没什么用的,内存固然重要,但如果运行大型程序或游戏来说三级缓存就显得尤为重要,由于L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能,降低内存延迟和提升大数据量计算能力对游戏及大型场景文件都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。

3 切合实际

其实绝大多数,缓存并没有被集成进入芯片内部,而是集成在主板上,它是一种具有静态存取功能的存储器,不需要刷新电路即能保存它内部存储的数据。CPU通常需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是从CPU芯片面积和成本的因素来考虑,缓存都很小。CPU缓冲其实是CPU全频处理CMOS时间,而CMOS时间只要缓冲一点就足够,其余的跳到CMOS外,来处理操作系统和MS-DOS,就像CMOS密码一样,修改setup后才是保护计算机安全,与CPU缓冲是一样的,除缓冲外就是用来进行处理硬盘数据,并非缓冲达到高速水平。换句话来说,开机速度是按检测数据,CMOS数据没有CPU处理,速度是很慢的。主板上并没有通道来处理Bios(CMOS)中的数据,显存从中起到一定的作用。

总的来讲:缓存的出现解决CPU运算速度与内存读写速度不匹配的矛盾,由于CPU运算速度要比内存读写速度快得多,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。通俗的说:缓存的出现解决了CPU与主存速度上的技术难题,将系统运行时经常存取的一些数据从主存中读取到缓存中,而CPU会首先到缓存中读取数据(或者写入数据),如缓存没有所需数据(或缓存已满,无法再写入),则对系统内存进行读写,另外缓存在空闲时也会与内存交换数据。比方:仓库与货车之间增加一条高速的运输带,大大提高了速度、效率以及整体功能。

缓存的存在在于它提高速度和效率,帮助计算机更平滑的工作,是一种巧妙构思的技术。

参考文献

[1]江兆银,王刚.计算机组装与维护[M].北京:人民邮电出版社,2013:18-19.

[2]施游,胡钊源.网络工程师考试冲刺指南[M].北京:电子工业出版社,2009:25.

[3]刘毅,朱小平.网络工程师考试试题分类精解[M].北京:电子工业出版社,2008:250-253.

[4]祝谨惠,王建华.计算机等级考试一级B教程[M].北京:中国商业出版社,2013(09).

[5]陈国先,苏李果.计算机组装与维护[M].北京:机械工业出版社,2013:19.

作者简介

杨再奇(1984-),男,云南省昭通市人。现为云南城市建设职业学院助教。主要研究方向为计算机硬件、网络及数据。

作者单位

云南城市建设职业学院 云南省昆明市 651701

上一篇:试论计算机网络信息系统安全评价方法 下一篇:数据挖掘在网络入侵检测中的应用分析