CPU二级缓存之所以对CPU性能影响重大,就是因为内存的延迟较大、带宽太小,满足不了CPU密集型数据交换的需要,需要高速运作中转站二级缓存的支持。在二级缓存被CPU整合之后,大容量的内存显然是无法被整合到CPU里面的,那么如何才能进一步优化内存性能呢?
以往,CPU与内存之间的通信是通过北桥和进行的,准确的说是北桥当中的内存控制器,它决定了系统能支持内存的容量、频率和延迟。为了尽可能的缩小CPU访问内存的时间,显然CPU整合内存控制器是最高效的方法。
16
AMD率先将内存控制器整合在了CPU当中,Athlon 64(网购最低价 325元)这款划时代的产品成为了一代经典,当然其成功的原因不仅仅是因为整合了内存控制器,它还是第一颗64bit X86处理器,第一次使用了点对点的高速低延迟HT总线。AMD这次一领先就是五年,Intel直到Core i7(网购最低价 1199元)时代才整合了内存控制器。
17
AMD当年为Athlon 64处理器整合了单通道DDR和双通道DDR两种内存控制器,分别对应754和939接口,此后逐步升级至双通道DDR2和DDR3内存控制器。而Intel是后来者居上,直接整合了三通道DDR3内存控制器,中低端产品也整合了双通道DDR3内存控制器,分别对应1366和1156接口。消除了内存瓶颈之后的Core i3/i5(网购最低价 1150元)/i7处理器性能更上一层楼,大幅领先于同级AMD产品。
高频低能的Pentium 4和Pentium D苦苦抵抗Athlon 64和Athlon 64 X2疯狂进攻的同时,Intel也在秘密研发新一代Core微处理器架构,全新的Core 2 Duo(网购最低价 689元)虽然没有整合内存控制器,但凭借高效率、低层级流水线和融合大量先进技术的指令架构,Core 2 Duo一举击败Athlon 64 X2成为新的性能之王。
当然,Intel还有另外一项创新性的技术也助Core 2 Duo一臂之力,拉大与对手的优势,它就是Intel Advanced Smart Cache(高级智能缓存技术),简单来讲就是多颗处理器核心共享大容量缓存,通常被称为共享式大容量二级缓存。
18
传统的双核心设计每个独立的核心都有自己的L2,但Intel Core微架构则是通过核心内部的Shared Bus Router共用相同的L2,当CPU 1运算完毕后把结果存在L2时,CPU 0便可通过Shared Bus Router读取CPU 1放在共用L2上资料,大幅减低读取上的延迟并减少使用FSB带宽,同时加入L2 & DCU Data Pre-fetchers及Deeper Write output缓冲存储器,大幅增加了缓存的命中率。
与AMD K8双核心L2架构相比,CPU 0需要读取CPU 2 L2中数据时,首先需要向系统总线发出需求,并通过Crossbar Switch就把取读资料,但CPU 0发现读取自己的L2没有所要的数据才会要求读取CPU 1的L2资料,情况等同于CPU 0的L3,而共享式的L2设计却没有以上需要。
Smart Cache架构还有很多不同的好处,例如当两颗核心工作量不平均时,如果独立L2的双核心架构有机会出现其中一颗核心工作量过少,L2没有被有效地应用,但另一颗核心的L2却因工作量过重,L2容量没法应付而需要传取系统内存,值得注意的是它并无法借用另一颗核心的L2空间,但SmartCache因L2是共用的而没有这个问题。
共享式L2不但能够减少两颗核心之间读取缓存数据的延迟、提高数据命中率,而且还能有效提高缓存利用率,避免分离式缓存存放重复数据的可能,变相提高的缓存容量。Intel上代的Core 2 Duo和Core 2 Quad(网购最低价 979元)至今在性能方面并不输给AMD的Phenom II系列处理器,其中共享式二级缓存设计功不可没。
★ 共享式三级缓存已成为主流:
共享式二级缓存固然拥有诸多优势,但需要对传统CPU架构进行大幅调整,双核心还算容易、多核心就比较麻烦了,缓存的存取机制都需要完全重新设计。因此AMD另辟蹊径,在保持现有二级缓存不变的情况下,直接新增大容量的三级缓存,从而为多核提供协同运算的高速暂存数据仓库。
19
AMD初代的Phenom四核处理器就采用了共享式三级缓存设计,每颗核心的一级缓存保持不变,二级缓存都是独立的512KB,三级缓存为一体式的2MB。而到了Phenom II代,45nm工艺使得处理器能够整合更大容量的缓存,于是L3倍增至6MB,性能提升非常明显。
20