在本页阅读全文(共9页)
限于AMD的产能,AMD不可能和Intel那样有实力通过采用更多的晶体管的策略进行竞争,K8通过内存控制器来实现了这个弱势的超越,所以现在Athlon 64 X2处理器每个核心只有512KB L2 cache,只相当于Intel 2002引进Northwood时的规格。
现在Intel的Core 2已经提到了4MB L2 cache,而目前AMD最快的CPU也只能达到一半的水平,这个限制同样在Barcelona上进一步体现,每个核心只会有512KB L2 cache,总计2MB,而现在Intel的四核Kentsfield总共拥有8MB L2 cache,到今年年底,Intel的Penryn预计将会达到12MB L2 cache。
为了在性能和容量上进行平衡,AMD在设计了128KB L1 Cache和512KB L2 Cache后,多线程软件对多核心的要求也需要更高速的缓存来保持更好的性能。
AMD并不想通过采用更大容量L2 cache的做法,取而代之的是追加一个第三级的Cache,而且这个Cache将被四核心所共享,在容量上也达到了2MB L3 cache。
关于缓存的工作原理大家应该比较了解:当L1 cache已经满了之后,数据将被转到速度稍低的L2 cache,同样新的L3 cache类似,当L2 cache已经满了以后,数据将会传到L3 cache。不过控制它操作的算法则是针对四个核心,它在资源调度上有做协调,当CPU需要获取一些代码,一个备份将会在L3 cache中存储下来,因为这个数据可能被四个核心所共享,纯粹的数据加载则通过单独的核心。当数据在此之前已经被共享了,cache控制器会查看历史信息,同时保存这个备份,否则则被丢弃。
L1 and L2 cache的Associativity则没有被改变,它们还是2-way和16-way,而新的L3 cache则是32-way set associative,通常在CPU-Z里面可以看到这些信息。
本文导航