0

cpu的二级缓存是不是越大越好6篇

很多朋友在处理电脑文件的时候,经常会看到缓存这个概念,究竟缓存是什么意思?是临时存放的空间还是指存储文件的速度?下面让我们一起去了解吧。

浏览

7673

文章

6

篇1:二级缓存是什么

全文共 1207 字

+ 加入清单

CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。最初缓存只有一级,二级缓存(L2 CACHE)出现是为了协调一级缓存与内存之间的速度。二级缓存比一级缓存速度更慢,容量更大,主要就是做一级缓存和内存之间数据临时交换的地方用。实际上,现在Intel和AMD处理器在一级缓存的逻辑结构设计上有所不同,所以二级缓存对CPU性能的影响也不尽相同。

工作原理

缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。

缓存的利用率

CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。

为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。

处理器缓存

所谓处理器缓存,通常指的是二级高速缓存,或外部高速缓存。即高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic RAM)之间的规模较小的但速度很高的存储器,通常由SRAM(静态随机存储器)组成。用来存放那些被CPU频繁使用的数据,以便使CPU不必依赖于速度较慢的DRAM(动态随机存储器)。L2高速缓存一直都属于速度极快而价格也相当昂贵的一类内存,称为SRAM(静态RAM),SRAM(Static RAM)是静态存储器的英文缩写。由于SRAM采用了与制作CPU相同的半导体工艺,因此与动态存储器DRAM比较,SRAM的存取速度快,但体积较大,价格很高。

展开阅读全文

篇2:CPU二级缓存有什么作用

全文共 1132 字

+ 加入清单

CPU寻找数据的“快捷方式”.简单的说,缓存是数据由内存通往CPU的桥梁。它的速度比内存快得多,但是容量也比内存小的多。同时缓存依据读取速度和容量进一步分为一级和二级。在CPU需要数据的时候,遵循一级缓存→二级缓存→内存的顺序,从而尽量提高读取速度。这样“缓存+内存”的系统就同时兼具了速度和容量的优点。

AMD和Intel:巨大差异皆因设计不同

提到二级缓存容量的差距,还得从两大CPU巨头对一级缓存的理解说起。对,没看错,就是平常曝光率远逊于二级缓存的“一级缓存”!它才是造成上面提到巨大差异的“罪魁祸首”。

现今的CPU中,Intel对一级缓存的理解是“数据代码指令追踪缓存”,即是说一级缓存中存储的其实只是二级缓存中数据和指令的地址,而不是这些数据和指令的复制。二级缓存的容量相当程度上影响了IntelCPU的性能。

相比之下,AMD对一级缓存的定位是“实数据读写缓存”,即二级缓存中的一部分数据都要在一定的规则下搬到一级缓存中。

不仅在一级缓存的工作方式上有区别,而且AMD的CPU在一级缓存的大小上还占有优势,以AMDAthlon64X26000+AM2(盒)为例,两个内核各配备64KB数据高速缓存、64KB指令高速缓存。而价格稍高的IntelCore2DuoE6320(三年盒),两个内核各配备32KB数据高速缓存、32KB指令高速缓存。

当然,上面只是Intel的AMD的CPU二级缓存巨大差异的主要原因。事实上CPU对二级缓存容量的“敏感”与否还受到诸如内存控制器,流水线长度、频率、总线架构和指令集等等多方面的影响。在多核CPU中还关乎各个物理内核之间的数据交换问题。

在多核心CPU中,对二级缓存的利用效率有高有低。简单的说,Intel新一代Core架构二级缓存的利用最为优秀,AMD的AthlonX2系列次之,较老的PentiumD(PentiumEE)系列最差。

几年时间里,二级缓存从小小的64KB一举增长到了8MB,整整128倍!越来越大的二级缓存是不是真的换来了CPU性能同样“突飞猛进”发展?还是只不过是Intel和AMD联手玩的数字游戏?

其实,二级缓存容量对性能的影响是渐渐减弱的,当二级缓存从没有增长到128KB时,带来的性能提升可能是直线上升的。但是当它从2MB增长到4MB的时候,可能使用者甚至感觉不到性能的提升。这是因为在当前CPU所处理数据的过程中,几乎无时不刻需要用到128KB以下的缓存,但是需要用到1MB以上缓存的时候很少(2%左右)。因此虽然二级缓存越涨越大,实际上对CPU性能的影响却是越来越小的。像文章开头的两款CPU,二级缓存巨大的差异并不会最终表现在CPU速度上。因此,完全不必要盲目追求二级缓存的高容量,够用就好。

展开阅读全文

篇3:什么是CPU一级缓存/二级缓存?

全文共 319 字

+ 加入清单

什么是CPU一级缓存/二级缓存?

即L1 Cache。集成在CPU内部中,用于CPU在处理数据过程中数据的暂时保存。由于缓存指令和数据与CPU同频工作,L1级高速缓存缓存的容量越大,存储信息越多,可减少CPU与内存之间的数据交换次数,提高CPU的运算效率。但因高速缓冲存储器均由静态RAM组成,结构较复杂,在有限的CPU芯片面积上,L1级高速缓存的容量不可能做得太大

即L2 Cache。由于L1级高速缓存容量的限制,为了再次提高CPU的运算速度,在CPU外部放置一高速存储器,即二级缓存。工作主频比较灵活,可与CPU同频,也可不同。CPU在读取数据时,先在L1中寻找,再从L2寻找,然后是内存,在后是外存储器。所以L2对系统的影响也不容忽视

展开阅读全文

篇4:cpu一级二级三级缓存有什么用?cpu缓存越大越好吗?

全文共 1370 字

+ 加入清单

细心的用户在挑选cpu的时候会发现,其参数里边有一级缓存二级缓存、三级缓存这些概念,今天爱组装电脑网就来和大家聊一聊cpu缓存的作用。

一、cpu缓存有什么用?

CPU在读取数据进行计算的时候,首先是从内部的缓存中查找需要的数据,如果有,可以最短时间最快速度交付CPU。但是如果没有找到,CPU就会提出“要求”经过缓存从内存中读取,再原路返回到CPU进行计算。同时,把这个数据所在的数据也调入缓存,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。

换句话说,CPU中缓存是为了加快CPU读取数据的速度,也是为了给内存一个缓冲期。因为CPU运算速度太快了,光靠内存读写完全跟不上,而CPU缓存的数据交换比内存快多了,大部分时候CPU可以直接从缓存读取数据,找不到的话再从内存读取,这样可以节省CPU读取内存数据时浪费的时间。

二、为什么要分为一级缓存、二级缓存、三级缓存?

1、一级缓存(L1Cache)

一级缓存是CPU第一层级的高速缓存,主要承担的工作是缓存数据和缓存指令。L1告诉缓存的容量和结构对CPU性能影响很大,但是由于它的结构很复杂,考虑到成本等方面的因素,一般CPU的一级缓存都是以KB为单位的,256KB的一级缓存就属于比较大的了。

2、二级缓存(L2 Cache)

二级缓存是CPU的第二层级高速缓存,二级缓存的容量会直接影响CPU性能,原则是越大越好。而且它是跟着核心走的,比如8代酷睿的i7 8700,6个核心每个都拥有256KB的二级缓存,属于各核心独享,这样总的二级缓存就是256KB*6=1536KB,也就是1.5M。

3、三级缓存(L3 Cache)

三级缓存其实原本是服务器级别CPU才有的,后来逐步下放到家用级CPU上。三级缓存的作用是进一步降低内存延迟,同时提升海量数据量计算时的性能,这对游戏有直接的影响。和一、二级缓存不同的是,三级缓存是核心共享的,而且容量可以做的很大,甚至在三代锐龙上还有的能达到72MB。

三、一级、二级、三级缓存哪个更重要?

从速度上来说,一级缓存最快,二级缓存次之,三级缓存最慢,但是对于游戏而言,三级缓存才是我们最需要关注的,因为在游戏运行的时候,cpu要不停的从内存中读取大量的数据进行计算,这个时候三级缓存就能在cpu和内存之间起到很好的缓存作用,让游戏运行根据流畅。如今无论是Intel还是AMD,CPU的三级缓存的容量越来越大,这么做主要就是为了提升使用者、尤其是游戏玩家的使用感受。

四、cpu缓存越大越好吗?

对于一、二、三级缓存来说,我们主要看的是三级缓存的容量,但是对于整个cpu来说,三级缓存不是我们要看的主要参数,我们首先要看的是cpu的架构、工艺,核心数量,频率,其次才是看cpu的缓存。也就是说在相同架构相同工艺的前提下,我们才需要考虑CPU三级缓存容量的问题,在这时候确实三级缓存容量越大性能越强。

总结:cpu一级二级三级缓存有什么用?cpu缓存越大越好吗?

为了便于理解,爱组装电脑网在这里给大家做个比喻,cpu缓存可以看做cpu和内存之间通信的桥梁宽度,宽度越大,通行能力就越强。但是光看宽度是不够的,还得看桥梁的整体结构和设计(cpu的工艺、架构、核心数量、频率等等),如果是豆腐渣工程的桥梁的话,即便是宽度够大,但是桥体不结实、这也会严重影响其通行能力。

展开阅读全文

篇5:二级缓存和三级缓存的区别

全文共 1269 字

+ 加入清单

关于缓存技术,相信还是有很多人不太懂的基本概念,我们都知道缓存的作用就是要提高CPU的运算速度,那么二级缓存又叫L2CACHE,由于L1级高速缓存容量的限制,这是为了再次提高CPU的运算速度,在CPU外部放置一高速存储器,也就是所说的二级缓存,它是处理器内部的一些缓冲存储器,他的作用是跟内存一样,二级缓存是比一级缓存速度更慢,容量更大的内存,主要就是做一级缓存和内存之间数据临时交换的地方用。

速缓存分为一级缓存(即L1 Cache)和二级缓存(即L2Cache)。CPU在运行时首先从一级缓存读取数据,然后从二级缓存读取数据,然后从内存和虚拟内存读取数据,因此高速缓存的容量和速度直接影响到CPU的工作性能。

一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率。一级缓存越大,CPU的运行效率越高,但受到CPU内部结构的限制,一级缓存的容量都很小。

二级缓存对CPU运行效率的影响也很大,现在的二级缓存一般都集成在cpu中,但有分为芯片内部和外部两种,集成在芯片内部的二级缓存与CPU同频率二级缓存(即全速二级缓存),而集成在芯片外部的二级缓存的运行频率 是CPU的运行频率的一半(即半速二级缓存),因此运行效率较低。

电脑缓存的工作原理是怎么样的呢?

电脑的缓存当cpu进行读取缓存数据的时候,是先从缓存的数据进行查找的,读取之后再输入到电脑cpu里面进行处理的,如果没有对应的缓存文件给cpu进行处理的话,那电脑就会从内存中的数据进行处理并给cpu进行处理。这一段时间会相比找到缓存文件来要慢的多。cpu处理完数据之后,就会把处理完的的数据模块进行保存,这个就是缓存文件,这样等以后在进行读取这个文件就会快的多,不会像以前那么慢,并且不会重复读取内存中的数据了。

电脑的缓存文件分为三个等级,分别是一二三级缓存,一级缓存基本上都是内置在cpu的内部和cpu一个速度进行运行,能有效的提升cpu的工作效率。一级缓存越多,cpu的工作效率就会越来越高,是cpu的内部结构限制了一级缓存的容量大小,使一级缓存的容量都是很小的。

缓存的工作原理是这样的:

我们所说的电脑缓存是当cpu在读取数据的时候,首先是从缓存文件中进行查找,然后找到之后会自动读取在输入到cpu进行处理,当然如果没有在缓存中找到对应的缓存文件的话,那么就会从内存中读取并且传输给cpu来处理。如果是要从内存中查找的话,那么这样是花费的时间是比较长的,速度也是比较慢一点,那么等cpu处理之后,就会把所在的数据块保存在缓存文件中,那么这样的话当再次读取这项数据的时候就直接在缓存中进行,这样就不要重复在内存中调用并读取数据了,节省读取时间,提升一个效率!缓存就是有这样的一个快捷的作用。

那么当了解到缓存的工作原理之后,对于常见的一级缓存,二级缓存,三级缓存到底是怎样工作的呢,接下里我们将为大家进行一个简单的介绍

一级缓存:

一级缓存也是内置在CPU内部并且是与CPU同速运行,可以有效的提高CPU的运行效率,如果说一级缓存越大,那么CPU的运行效率越高,但受到CPU内部结构的限制,所以我们说的一级缓存的容量通常都是比较小的。

展开阅读全文

篇6:CPU二级缓存容量

全文共 2733 字

+ 加入清单

CPU二级缓存容量CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。

缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。

正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。

最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12KμOps,表示能存储12K条微指令。

随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。现在再用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。

二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。

CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。

为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。

CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高。

双核心CPU的二级缓存比较特殊,和以前的单核心CPU相比,最重要的就是两个内核的缓存所保存的数据要保持一致,否则就会出现错误,为了解决这个问题不同的CPU使用了不同的办法:

Intel双核心处理器的二级缓存 目前Intel的双核心CPU主要有Pentium D、Pentium EE、Core Duo三种,其中Pentium D、Pentium EE的二级缓存方式完全相同。Pentium D和Pentium EE的二级缓存都是CPU内部两个内核具有互相独立的二级缓存,其中,8xx系列的Smithfield核心CPU为每核心1MB,而9xx系列的Presler核心CPU为每核心2MB。这种CPU内部的两个内核之间的缓存数据同步是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。 Core Duo使用的核心为Yonah,它的二级缓存则是两个核心共享2MB的二级缓存,共享式的二级缓存配合Intel的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用,性能表现不错,是目前双核心处理器上最先进的二级缓存架构。今后Intel的双核心处理器的二级缓存都会采用这种两个内核共享二级缓存的“Smart cache”共享缓存技术。

AMD双核心处理器的二级缓存 Athlon 64 X2 CPU的核心主要有Manchester和Toledo两种,他们的二级缓存都是CPU内部两个内核具有互相独立的二级缓存,其中,Manchester核心为每核心512KB,而Toledo核心为每核心1MB。处理器内部的两个内核之间的缓存数据同步是依靠CPU内置的System Request Interface(系统请求接口,SRI)控制,传输在CPU内部即可实现。这样一来,不但CPU资源占用很小,而且不必占用内存总线资源,数据延迟也比Intel的Smithfield核心和Presler核心大为减少,协作效率明显胜过这两种核心。不过,由于这种方式仍然是两个内核的缓存相互独立,从架构上来看也明显不如以Yonah核心为代表的Intel的共享缓存技术Smart Cache。

展开阅读全文