cpu的二级缓存的作用?
发布网友
发布时间:2022-04-22 21:07
我来回答
共4个回答
热心网友
时间:2023-11-15 23:50
A. L2Cache(CPU二级缓存的简写)主要用来存放电脑运行时操作系统的指令、程序数据以及地址指针等数据,二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。
二级缓存的作用到底多大:CPU处理的数据中大多数都是0KB~128KB 大小的数据,128KB~256KB的数据约有10%,256KB~512KB的数据有5%,512KB~1MB的数据仅有3%左右。所以对于这种CPU 来说,用户就很难体会到CPU性能有提高了。正因为如此,大家能感受到 Pentium 4 C(512KB二级缓存)与Celeron(128KB二级缓存)的性能差异,却很难感受到Pentium 4 C(512KB二级缓存)与Pentium 4 E(1MB二级缓存)的性能差异了。
例如:同为2.8GHz主频的Celeron D(256KB二级缓存)和Pentium 4 E(1MB二级缓存)运算super π 104万位的耗时分别为56秒和48秒,除去外频(前者为133MHz,后者为200MHz)的差异和超线程技术的影响,两者的性能差距只有10%左右。
由此看出:在CPU性能方面,并非只从二级缓存容量上作对比就可以得到准确的答案,实际上还要考虑到缓存的总体设计结构、一级数据缓存容量等因素。虽然从总体上来讲,二级缓存容量越大越好,但是并不是二级缓存容量提高一倍就能使CPU性能提升一倍。
选购方面:一般家庭用户,电脑主要是用来上网、欣赏音乐和电影以及文字处理,二级缓存为256KB的Celeron D或Sempron已经足够了。只有对3D游戏、办公软件和多媒体编辑性能要求较高的用户才需要更大二级缓存的CPU.
B . CPU寻找数据的“快捷方式”.简单的说,缓存是数据由内存通往CPU的桥梁。它的速度比内存快得多,但是容量也比内存小的多。同时缓存依据读取速度和容量进一步分为一级和二级。在CPU需要数据的时候,遵循一级缓存→二级缓存→内存的顺序,从而尽量提高读取速度。这样“缓存+内存”的系统就同时兼具了速度和容量的优点。
我们可以打个比方,假设CPU是一名“老师”,她现在的任务就是要尽快在一幢“教学楼”(内存)中找到众多“学生”(数据)中的一个。当她可能要找的“学生”(数据)都提前被安排进一间“教室”(一级缓存)中的时候,CPU“老师”找起来自然就快多了。如果很不幸“教室”(一级缓存)中找不到那名“学生”(数据),她会再去“小礼堂”(二级缓存)中找找看,都找不到的话,最后再去硕大的“教学楼”(内存)中慢慢搜索。
AMD和Intel:巨大差异皆因设计不同
提到二级缓存容量的差距,还得从两大CPU巨头对一级缓存的理解说起。对,没看错,就是平常曝光率远逊于二级缓存的“一级缓存”!它才是造成上面提到巨大差异的“罪魁祸首”。
现今的CPU中,Intel对一级缓存的理解是“数据代码指令追踪缓存”,即是说一级缓存中存储的其实只是二级缓存中数据和指令的地址,而不是这些数据和指令的复制。我们还用上面的比喻形象说明一下,Intel老师在“教室”(一级缓存)中并不会看到任何一名学生,而只有一张写着“学生名字”和“所在座位号”的座次表(数据地址)。Intel老师会在拿了座次表之后,去那间“小礼堂”(二级缓存)中按照“座位号”寻找那名“学生”(数据)。在这样的架构下,Intel老师自然需要更大的“礼堂”来按顺序坐下更多地学生。也就是说,二级缓存的容量相当程度上影响了Intel CPU的性能。
相比之下,AMD对一级缓存的定位是“实数据读写缓存”,即二级缓存中的一部分数据都要在一定的规则下搬到一级缓存中。对于前面的比方,AMD老师在“教室”中总能看到刚刚从“礼堂”(二级缓存)那边赶来的“学生”(数据)。这样子的结构下,AMD老师也就不需要太大的“礼堂”来坐下更多地“学生”了。二级缓存的容量自然对AMD CPU的整体性能影响小些。相对的,AMD则总是试图把一级缓存这间“教室”扩建的更大些。
不仅在一级缓存的工作方式上有区别,而且AMD的CPU在一级缓存的大小上还占有优势,以AMD Athlon64 X2 6000+ AM2(盒)为例,两个内核各配备64KB数据高速缓存、64KB指令高速缓存。而价格稍高的Intel Core 2 Duo E6320 (三年盒),两个内核各配备32KB数据高速缓存、32KB指令高速缓存。
当然,上面只是Intel的AMD的CPU二级缓存巨大差异的主要原因。事实上CPU对二级缓存容量的“敏感”与否还受到诸如内存控制器,流水线长度、频率、总线架构和指令集等等多方面的影响。在多核CPU中还关乎各个物理内核之间的数据交换问题(简单的说就是两位“老师”能不能查找同一间“礼堂”)。
在多核心CPU中,对二级缓存的利用效率有高有低。简单的说,Intel新一代Core架构二级缓存的利用最为优秀,AMD的Athlon X2系列次之,较老的Pentium D(Pentium EE)系列最差。
越大越好?够用就好!
几年时间里,二级缓存从小小的64KB一举增长到了8MB,整整128倍!越来越大的二级缓存是不是真的换来了CPU性能同样“突飞猛进”发展?还是只不过是Intel和AMD联手玩的数字游戏?
其实,二级缓存容量对性能的影响是渐渐减弱的,当二级缓存从没有增长到128KB时,带来的性能提升可能是直线上升的。但是当它从2MB增长到4MB的时候,可能使用者甚至感觉不到性能的提升。这是因为在当前CPU所处理数据的过程中,几乎无时不刻需要用到128KB以下的缓存,但是需要用到1MB以上缓存的时候很少(2%左右)。因此虽然二级缓存越涨越大,实际上对CPU性能的影响却是越来越小的。像文章开头的两款CPU,二级缓存巨大的差异并不会最终表现在CPU速度上。因此,完全不必要盲目追求二级缓存的高容量,够用就好。
热心网友
时间:2023-11-15 23:51
你最早的那个奔腾妈妈叉的二缓不是全速的,速度只有cpu主频的一半,集成度又低,延迟太高,自然效能比较低。
进入到p4特别是到Prescott核心的p4,intel的架构特点就是高主频和超长管线,再加上其预取机制,cpu会频繁的到二级缓存拿数据,如果二缓的命中率高,cpu就不会老在那里干等无所事事了。提高命中率的手段就是加大二缓的容量,像p4 6xx系列单核心的二缓竟达到了恐怖的2M!
但到了酷睿架构,二缓为1M,相当于每颗核心512k,效能却不低,这主要是e2140的主频才1.6G,也放弃了Prescott核心的31级超长流水线,低频低流水线的设计使得cpu对二缓的依赖大大降低。
但是e4xxx和e6xxx系列的主频起步都比e2xxx要高,数据吞吐量增加,所以要适当增加二缓。由于二缓容量的不同,你将e2140和e4300都超到3.6G,它们的性能是有很大区别的,超得越高,e2140性能差得越多!
新的45nm制程cpu由于发热量可以更低,所以在e5200配置了1M的二缓。
看看这篇文章吧:
热心网友
时间:2023-11-15 23:51
就是通道的作用。。。。电脑的运作就像是一个CPU仓库传送到另个主板仓库。。。二级缓存就是2个仓库之间的通道。。二级缓存大就相当于传送的通道宽大。这样传送的速度也快。相反,如果二级缓存不够大,那么就算CPU仓库再大再强。由于无法流畅的传送到主板,那么CPU的能力也无法很好发挥出来。
热心网友
时间:2023-11-15 23:52
提高命中率