|
看了整个帖子, 不能说某些人说的全对.
首先, 我认为SandyBridge表面上支持256bits AVX处理, 但是经过我查证SB和Nehalem的核心照片, 发觉两者的运算单元在布阵上差不多, 只不过是pack得密一些, 和重新摆放位置, 这只是为了减低指令延迟的手段, 因此我认为, SandyBridge事实上很大可能只是具备128bits的AVX单元. 只不过可能SB把256bits指令拆分为两条128b. 此外, 我看过SandyBridge的核心照片, 我怀疑SB的缓冲池部分有所扩张. 既然SB本身只是具备128b的运算单元, 如此推断, 在AVX效能上, 也很难和推土机有很大的差距. Intel不扩张运算单元有几个可能因素, 1, 扩张运算单元, 由于P6架构采用统一缓冲池和调度器的关系, Intel需要重新设计整数单元, 浮点单元, 寄存器, 解码器等等部分, 风险很大; 2.如果扩大寄存器的宽度, 意味着增加晶体管浪费, 增加能耗, 增加成本.
其2, 推土机的单线程性能应该有所增长, 只是幅度不大. 推土机的整数管线和Yonah (Core第一代)差不多, 但是Yonah的效能比K8, K10.5还高. 原则上, 推土机的4管线, 只需要3个解码器便能充满流水线. 但是AMD设计为4个解码器, 很大的原因, 是因为AMD需要执行管线有多余的操作, 如此解码器才有空闲, 可以为另一个整数核心解码. 推土机的解码器, 只是不断地切换线程来为不同核心解码.
其3, 管线不能作为缓存, 尤其是当执行转移指令, 和清空流水线的情况. 乱序架构也和程序的顺序无关. 乱序架构, 反而需要软件不是顺序编写的.
其4, 虽然Bobcat也是2ALU+2AGU, 但是要注意, AGU不能和ALU同时运作, 因此推土机的整数效能是会高出野猫许多, 甚至K10.5. |
|