想问一下CPU的二级缓存是什么意思,有什么作用?

发布网友 发布时间:2022-04-21 19:42

我来回答

5个回答

热心网友 时间:2023-07-03 23:54

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

参考资料:http://zhidao.baidu.com/question/4945532.html

热心网友 时间:2023-07-03 23:54

二级缓存就是CPU将经常要用到的数据从内存中取出放在缓存中,由于缓存的读取速度远高于内存,所以可以大大提高CPU的工作效率,一般情况下缓存越大命中也越高,当然效率越高。但是AMD的CPU由于采用了特殊的缓存技术,其二级缓存普遍要小于Intel,不过性能上却差不多

热心网友 时间:2023-07-03 23:55

并不是的
先说一下电脑的工作原理
CPU->一级患存->二级缓存->*缓存(个别高端CPU有)->RAM->Hard disk
其中速度也是从左到右从快到慢排列的
工作原理:
CPU获得命令后 先会向一级缓存索要数据
一级缓存没有就会向二级缓存索取
二级缓存提倡够用就好
因为过大会降低命中率
以至于速度变慢
其中有个特例
就是平台,图形处理的用户,需要尽量大的缓存
(这就是为什么那些拥护在面对同倍频Intel P4时会优先选择大缓存不支持超线程型号的原因)

热心网友 时间:2023-07-03 23:56

通俗来讲!!电脑的2级缓存就是为了和内存的频率同步节约读取时间,临时存储器就是2级缓存。当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。

是的 2级缓存越大就越好!

热心网友 时间:2023-07-03 23:56

cache 高速缓存,当然是有多快要多快的啦, 不过那也要看你是干什么用啦,比如个人电脑就提倡够用就好 ,不过呢,搞3D的就不行啦,就需要大的啦,它在电脑中的还是很重要的哟,坏啦就^^^开不开机啦,它是和CPU同步滴,唉不说啦,

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com