●Phenom带来了什么(2)
○缓存的升级——加入L3缓存
至今为止,AMD处理器的缓存容量都控制在比较低的范围,由于处理器内置了内存控制器,因此其对L2缓存的需求并不大,所以512KB的二级缓存容量对于AMD的K8和K10架构处理器来说已经完全绰绰有余。
Phenom带来的另外一个革命性的技术就是CPU三级缓存的加入,在AMD的四核心处理器中,由一个核心单独管理自己对应的L1缓存和L2缓存,而AMD则另外设置了一个共享的2MB L3缓存来供四个核心分享使用。 其工作原理也并不复杂,同最初的单核心处理器的基本原理类似:核心首先向L1请求数据,如果数据不存在就再向L2缓存请求数据,而如果依旧没有依次向L3或者内存请求数据。
K10架构的缓存管理机制示意
值得注意的是:如果L1缓存中数据已满,则数据只能存放到L2中,如果L2数据也存满,则会自动放到L3中。由于L3采用共享设计,当四个核心认为这项数据对自己有用,那么就直接从L3中调用这项数据。由于缓存的独占性,因此当已经有用的数据已经存在的话,就不会再去调用一次数据到缓存中。这种工作机制对于只启用单核心工作的时候优势是明显的:处理器就可以几乎由一颗核心来管理128KB的L1、512KB的L2以及2MB的L3。缓存的效率远比内存高,因此系统的综合效能就会有一定程度的提升。
○指令集的升级
全新的Phonem处理器也加入了SSE128指令集,这项指令集的加入让Phonem处理器能够支持单循环内的128bit向量运算,这是K8架构处理器64bit运算带宽的两倍,这意味着Phonem处理器能够用单循环处理原本K8处理器双循环才能处理完毕的指令。
由于128bit位宽的指令较之之前的64bit指令的字节数量要多,因此原始的指令存取带宽(每周期16字节指令预取)将不再适用,有鉴于此,AMD改良了原先的指令存取带宽,Phonem支持每周期32字节的指令预取(是K8的两倍),那Phonem处理器在处理SSE代码的时候就不会过度分割导致效率低下。
存取和处理的效率获得了提高,相应的,L1数据缓存也得到了改进以令其更加适应128bit数据的处理和存取。这一系列的改进令K10架构处理器从数据处理的高度彻底领先于K8架构处理器。
○分支预测的改进
熟悉处理器的读者应该都知道:分支预测部分的深度和宽度影响处理器的分支预测准确性,当提升分支预测器的宽度之后,其可以进行运算的能力更强,可以处理更加复杂的指令。正是如此,相较于K8,AMD在Phonem身上大大提升了分支目标缓存的容量,不仅如此,AMD通过对目前的编译器的分析,修正了分支预测逻辑,这使得其“命中率”大大提高,执行效率提升了,自然就使处理器在执行任务时更加高速。
需要注意的是,Phonem的分支预测器采用了512入口,并且提供了间接分支预测机制,用简单的例子来说:当一个大型指令需要处理时,处理器的主分支预测单元会按照处理器的分配来执行,而间接分支预测单元则处理主分支预测单元未及处理的指令,同时也会修正一些错误指令。间接分支预测机制是一种效率和准确率都比较有保证的解决方案。
○TDP的升级——全新技术带来更低的功耗
新的Phonem四核处理器采用了新颖的功耗控制技术——分离供电,这是将内存控制器和CPU核心供电互相独立的技术,在内存控制器较忙碌而CPU核心比较空闲的时候,处理器核心将会降低工作电压,也就是说我们将看到这样的情况:内存控制器电压不变且非常忙碌(功耗最大),而CPU核心则电压下降且比较空闲(功耗极小),应用这样的技术,可以让Phonem的整体功耗降低到非常低的水平,再加上制造工艺采用65nm技术,这将令Phonem的功耗得到有效的控制。
那么这样的系列改进会得到怎么样的好处呢?根据测试,Phonem处理器的功耗低于95W,而根据AMD方面的消息,更低功耗的Phonem版本也已经在推出计划中。对于能耗日益严重的硬件业界来说,这无疑是顺应时代的技术产物。