本文的几位“主角”包括三位:AMD Opteron 265(Italy核心)双核处理器用于工作站/服务器,Intel Pentium D 830(Smithfield核心)双核处理器则是定位于高端桌面或者工作站应用,Intel Pentium M T2600(Yonah核心)则是Intel新鲜出炉的双核移动处理器。
从定位上来看,这三款处理器可以说是风马牛不相及,但是实际应用中我们发现它们还有机会同台竞技的。华硕、泰安均推出了支持Pentium D处理器的工作站/服务器主板,Dell、HP、宝德等服务器厂商也推出了基于Pentium D双核处理器的服务器产品,甚至还有厂商推出了支持Pentium M处理器的主板,可用于工作站/服务器,比如MS-9625主板,因此我们不排除也会有厂商推出支持最新的移动版双核处理器的主板。本文将会对于这三款处理器在密集型计算应用、Web服务器应用中的性能进行对比。
AMD Opteron 265处理器图片
 |
| Intel Pentium D 830处理器图片 |
 |
| Intel Pentium M T2600处理器图片 |
这次其实缺席的角色还有不少,比如Intel Xeon MP双核处理器和Intel Pentium D EE双核处理器。如果把它们的性能也加入进来,这场关公战秦琼的戏就更热闹了。
AMD Opteron 265双核处理器
AMD Opteron系列处理器同Intel处理器的功能上有很大的区别,它基本上把北桥芯片的功能都整合到处理器内部,比如它最高可以支持3条HyperTransport链路,还整合了128bit DDR SDRAM内存控制器。双核Opteron 265处理器(Italy核心)将两个同样的核心以及北桥芯片都整合在了同一个芯片上,实现了以处理器主频速度进行相互通讯。
我们都知道AMD Opteron分为100系列、200系列和800系列,100系列不支持多处理器配置,200系列则可以支持双路配置,800系列可以支持四路和八路配置。这三个系列的产品目前均包含双核产品,型号为x65、x70和x75,我们这次测试的为265,主频为1.8GHz,支持双路配置。
AMD Opteron 265采用了90nm制程,核心面积为199mm2,晶体管集成度为233百万个,核心电压为1.35v,Socket940接口。其所支持的指令集包括标准x86指令集、AMD64指令集(X86-64)、MMX和3DNow指令集、SSE/SSE2/SSE3指令集。
AMD Opteron 265的每个核心配置了64KB L1数据缓存和64KB指令缓存。L1数据缓存为两路关联结构,支持ECC功能,还可同时支持两个64bit操作(load, store, or combination)。L1指令缓存也是两路关联结构,支持奇偶校验。
Opteron 265处理器配置了全速2MB L2缓存,每个核心可以支配1MB容量。该L2缓存包括了指令和数据流信息,为16路关联结构,其数据缓存和标记存储均支持ECC功能。
处理器中所整合的北桥芯片主要是HyperTransport接口、内存控制器和处理器核心相应的接口。Opteron最高支持3个16bit HyperTransport接口(支持400/800/1200/1600/2000MT/s),每链路双向带宽最高可达8.0GB/s,完全可以满足处理器之间、处理器同其它设备之间交换数据的需要。
Opteron 265处理器整合了128bit内存控制器,可以支持双通道DDR200/333/400内存,最高带宽可达6.4GB/s。支持的内存模组容量在32MB- 4GB之间,内存芯片位宽可以是4/8/16 bits。该内存控制器支持ECC、REGISTER和Chipkill技术。
在Opteron 265双核处理器的架构图中,我们可以发现在内存控制器/HypereTransport接口和处理器核心之间还有叫做System Request Queue和Cross Bar Switch的两个功能模块。这两个模块的主要作用是对于需要处理的任务进行仲裁并且实现核心之间的通信,从而确保每个核心的I/O带宽,避免核心争抢资源,从而实现更高的计算效能。为了说明这一点,我们有必要简单的介绍一下多处理器系统中的缓存一致性问题。
Intel Xeon采用了MESI缓存一致性协议(Cache Coherency Protocol),它是Modified,Exclusive,Shared或者Invalid这四种缓存数据状态的首字母缩写。如果多处理器系统中只有一颗处理器调用了某个数据,则此时这个数据的状态为Exclusive(独占),如果另外一个处理器也调用了这个部分的数据,则数据的状态为Shared(共享),如果一个处理器已经将该数据修改,那么此时数据状态为Modified(被修改),而另外一个处理器对于此数据的标记为Invalid(无效)。
如果CPU0已经修改了缓存中的某个数据,那么CPU1此时则无法修改,因为此时该数据对于其来说是无效的。因此,CPU1只有等到CPU0将修改后的数据写回到内存之后,才能重新从内存调用,这个过程费时、占用总线带宽、占用内存带宽。
AMD Opteron处理器采用了MOESI缓存一致性协议,它增加了Owner(物主)状态,已经被修改的数据但是依然可以被其它处理器所应用的数据将会被标记为这种状态。CPU1可以通过CPU-to-CPU HyperTransport链路直接调用CPU0缓存中的标记为Owner状态的数据,而不必等待CPU0将数据写回内存。
双核Opteron处理器的两个核心之间通过SRI(system request interface)交换数据,而无需通过HyperTransport,这个接口的速率同处理器速度完全相同,因此效率比原来的多处理器系统要快的多。这样还能释放HyperTransport总线的负担,进一步提升整个系统的负载能力。
[1] [2] [3] [4] 下一页