蜘蛛也会吃人 AMD Spider平台详解
[第三节:技术解析]边带堆栈优化器/更快的加载
◆ 边带堆栈优化器
最初在Pentium M中,引进了一个叫“dedicated stack manager”(专注堆栈管理器)的特性,根据字面上解释,它是用于控制x86堆栈操作的,比如push, pop, call, return,它的意图就是为了把堆栈操作从所有运行代码中分离出来,以让处理器能够更加有效的处理其它任务。
在Phenom中,AMD也引进了类似的叫Sideband Stack Optimizer(边带堆栈优化器)的技术,以让堆栈指令不再需要通过3-way解码,并通过整数执行单元的堆栈操作了,这个小小的优化设计可以带来整体性能的提升。
◆ 更快的加载
我们都知道对比系统内存存取表现,AMD K8因内建内存控制器,至今都比Intel Core微架构优胜。但Core微架构采用短Pipeline Stage架构,加上高容量的L2 Cache并内建Shared Router Bus减少FSB使用,因此系统内存控取的表现差距已不像与上代Netburst微架构产品那么严重。为了进一步拉近与K8架构上的内存性能距离,Intel还在Core微架构中加入全新的内存读取技术,称为Memory Disambiguation。
Memory Disambiguation是一个不错的设计,通过Out of Order过程把内存读取次序作出分析。在传统的微架构里,内存读取是按流程顺序而被执行,如图上例子,Load 4是独立的Data X读取执行,也必需要等待其他Store 1、Load 2及Store 3工作完毕,即使Load 4的Data X和前面的资料存取动作并无关系,因为处理器并不会得到前面的动作是否会改变Data X的数值,所以不能重新排序并分析Load 4能否提前执行。
在Intel Core微架构中通过智能的分析机制,能预知Load 4的Data X是完全独立,并可让它提前执行。正因如此Memory Disambigutaion能减少处理器的等候时间减少闲置,同时减低内存读取的延迟值,而且它可以侦出冲突并重新读取正确的资料及重新执行指令,保证运作结果不会出现严重,但在正常情况下Memory Disambirutation出错的机会率很低。
可以看出Intel Core微架构,一个主要特性是加载指令可以绕过以前加载和存储的指令,平均来说在程序中所有指令的1/3是在加载的时候就完成了,所以如果能够提升加载性能,你就可以全面提升程序的运行性能,在Core微架构中,加载可以被重新排序,以确保需要这些数据的指令在存储访问非常繁忙的时候被执行。
AMD K8架构没有上面同等的乱序执行的协调能力,Phenom则采用了类似的方法解决了这个问题,它也能够重新排序这些加载。但是Phenom会等待在决定是否这个加载可以被优先于存储执行之前,才把存储地址计算出来,通过这种方式,Phenom不会有机会预测错误。其实Phenom的设计者也可以采用类似Core微架构的预测器的做法,但是感觉对架构的益处还不够,最终Phenom实现了每个周期产生三个存储地址,因为它有3个AGUs (Address Generation Units),而Core微架构只有1个,所以Phenom在这方面更具优势。
主板
显卡
显示器
CPU
内存|存储
光存储
机箱|电源
键鼠|摄像
音频
笔记本
台式机
数码相机
手机
MP3|MP4
超前高端享受 性能至上装机配置
英特儿45纳米迅驰移动高清芯世界
英特尔45纳米酷睿 高清"芯"视界
西部全覆盖 雷柏新品键鼠专题报道
影驰 GF9600GT中将限量版 Crysis
Lazeska 天空战记官方游戏壁纸
佐佐木希清纯秋季写真2
佐佐木希清纯秋季写真1
冒险岛Online官方游戏壁纸