Barcelona架构解析: AMD的反击(5)
关键词:Barcelona AMD
导言:AMD即将推出的基于Barcelona架构的四核心CPU,是否值得期待?能否帮助AMD扭转与Intel竞争中的不利局面?
Barcelona:堆栈与执行优化
Intel最早的Pentium M处理器引入了一项名为“dedicated stack manager”(专注堆栈管理器)的新特性,正如其名字所暗示的一样,专注堆栈管理器专门处理所有的X86堆栈操作(例如push, pop, call, return等)。它将这些伐数据集中处理而无需其他执行单元参与,这尤其简化了CPU整数执行单元的工作,加快了整数执行单元的处理速度。
AMD在Barcelona中也引入了类似的技术,AMD称之为Sideband Stack Optimizer(边带堆栈优化器)。有了边带堆栈优化器,处理器中的伐指令不再需要经过3路编码,也不再由整数执行单元处理,这加快了堆栈的处理速度,也同时加快了整数执行单元的处理速度。
在Intel Core微构架中一个重要改进是OOOE乱序执行:当装载指令队列发生等待时,处理器可以将队列后方处于等待的指令优先装载并执行,而不是一直等待到堵塞结束。平均而言,约30%的指令会发生一定时间的堵塞,这一乱序执行模式的引入,使新构架CPU性能有了明显的提高。AMD的K8构架并不支持OOOE乱序执行指令,所以即使K8构架有优秀的内置内存控制器,也依然被对手Core架构击败。正视这一技术上的落后,AMD在K8L构架的首款芯片Barcelona上及时改进为OOOE技术,这一改进必将为K8L构架的性能带来极大的提高。
Barcelona将可以乱序执行指令,同样也可以在前一指令尚未处理完成时,装载并用空载单元处理下一指令,即使这两条指令需要读取不同的内存地址。Barcelona拥有3个地址生成单元,可以完成3个寄存指令每周期,而Core构架每周期只能执行1次-K8L构架的寄存速度要比Core构架强大3倍。
K8L构架中加入了新的SSE4指令扩展:SSEEXTRQ/INSERTQ指令和MOVNTSD/MOVNTSS指令。前者可以将多条指令合并为一条指令执行,后者用来计算流量寄存指令。Intel也会将在稍候发布的Penryn处理器中加入。
Barcelona:更快的内存控制器
当年当AMD将内存控制器集成至CPU内部时,我们看到了崭新而强大的K8构架。如今,Barcelona的内存控制器在设计上将又一次极大的改进其内存性能。
Intel Xeon服务器所使用的FB-DIMM内存一大优势是,可以同时执行读和写命令到AMB,而在标准的DDR2内存中,你只能同时进行一个操作,而且读和写的切换会有非常大的损失。如果是一连串的随机混合执行的话,将会带来非常严重的资源浪费,而如果是先全部读然后再转换到写的话,就可以避免性能的损失。K8内存控制器就采用读取优先于写的策略来提高运行效率,但是Barcelona则更加智能化。
但是读取的数据会被先存放在buffer中,而不采用先直接执行写,但当它的容量达到了极限就会溢出,为了避免这种情况,在此之前才对读写之间进行切换,同时可以带来带宽和延迟方面效率的提高。K8核心配备的是128-bits宽度的单内存控制器,但是在Barcelona中,AMD把它分割成两个64-bit,每个控制器可以独立的进行操作,因此它可以带来效率上的不小提升,尤其是在四核执行的环境下,每个核心可以独立占有内存访问资源。
Barcelonas中集成的北桥部分(注意不是主板北桥)也被设计成更高的带宽,更深的buffers将允许更高的带宽利用率,同时北桥自身已经可以使用未来的内存技术,比如DDR3。
内存控制器的预取功能是运用相当广泛、十分重要的一项功能。预取可以减少内存延迟对整体性能的负面影响。当NVIDIA发布nForce2主板时,重点介绍的就是nForce2芯片组的128位智能预取功能。INTEL在发布Core 2处理器之时也强调了CORE构架每核心拥有三个预取单元。
| 共8页: 上一页 [1] [2] [3] [4] 5 [6] [7] [8] 下一页 |

搜索