核心重新设计剑指i7
此前当我们第一次见到AMD的Phenom处理器时不免感到失望,因此Phenom并没有像人们期待的那样与英特尔在架构设计上有明显区别,而且Phenom只是AMD K8架构的一次改良,这样造成的结果就是在过去很长一段时间内英特尔都在每MHz性能上领先于AMD,但在这次的Bulldozer核心中,AMD终于向我们期待的那样对核心架构进行了重新设计。
仔细观察英特尔Westmere处理器你会发现它是将4级架构在两个线程之间共享,从这点上看AMD的Bulldozer采用的也是这种原理,Bulldozer的Fetch抓取逻辑单元可以从两个线程中提取指令,并送入解码器中,其中每一个线程都可以独占前端处理器的带宽。
【图】Bulldozer处理器架构
●Bulldozer推土机颠覆传统
在解码阶段,AMD Bulldozer的解码器数量从K7和Phenom II的3个增加到4个,同时AMD使用了X86体系中的分支技术,它类似于英特尔的宏指令融合(Macro-Fusion)可以有效提高处理器效率,在这里AMD终于赶上了英特尔的设计。
【图】Phenom II处理器架构
Bulldozer架构中的4路解码器与三组独立的schedulers相连,其中拥有两组整数运算单元和一组共享浮点运算单元。
Bulldozer中的每一个整数scheduler都采用了统一的设计,在此前Phenom II的架构设计中,AMD为数学运算和地址运算设计了不同的scheduler,而在Bulldozer中AMD对其进行了重新设计。
【图】Bulldozer处理器的模组化设计
每一组scheduler拥有4个端口与两个ALU算术逻辑运算单元和两个AGU地址发生器相连,相比Phenom II,Bulldozer将ALU和AGU同时减少了1个,AMD宣称Bulldozer的架构已经不需要如此多的运算器,而保持ALU的平衡关系可以避免重新设计外围芯片的麻烦(Bulldozer的整数运算核心仍然沿用了K8的设计)。运算单元的减少确实在一定程度上对性能有所影响,但与此同时AMD却可以进一步缩小核心尺寸,另外AMD还承诺由于采用了4路前端处理机制,因此其性能的增长远大于运算器减少的影响。也就是说虽然Bulldozer的单线程整数运算数量较Phenom II降低,但其效率却获得了提升。
Bulldozer的每一个整数核心独享16KB L1缓存,另外有部分L1缓存为浮点运算单元提供数据存储。
或许你会注意到Bulldozer的L1缓存是不是太小了,其实在现在的处理中L2缓存与L1缓存的延迟已经微乎其微,如果AMD提供超大的L1缓存,似乎就背离了Bulldozer的设计初衷。
一个Bulldozer模块中有两个整数schedulers,以及一个浮点schedulers,它允许两个线程同时共享这个浮点schedulers,而每一个整数核心都有独立的运行机制,这就是AMD的超线程技术。
网友评论