引言
英特尔的P6架构是他们X86处理器系列中的关键产品,从第一代P6结构的奔腾Pro到最新产品奔腾-M(也就是迅驰平台上的处理器),P6核心在商业上、在性能上都取得了相当不错的成绩,英特尔也真是通过这个核心在过去的20年中一直占据主导地位。
对于AMD而言,他们的K7核心发挥了类似P6的功效。K7核心的主要架构在1999年推出的Athlon系列处理器上就开始应用,在随后的产品中不断证明着它在商业和性能上的成功。K7核心使得AMD在处理器性能上首次超过了英特尔的同期产品,并让AMD占据了相当长时间的优势。
K7的成功让AMD很自然的想到将其沿用到64位平台上来,而不是采用全新的设计。经过一些显著的改造以及一些未透露的调整,采用K7架构并支持X86-64指令集的Hammer核心出现了。目前AMD的Opteron以及Athlon 64两个系列的X86-64处理器使用的都是这个核心,我们下面就来仔细看看这个大锤。
总体介绍
就像X86-64是X86的改良而不是革命一样,Hammer的架构相对于Athlon而言也只是一次提高。AMD将Athlon的技术设计沿用到Hammer上,通过一些调整和改善来使得Hammer超过Athlon的性能。
 数据和指令流 指令从系统内存中进入处理器前端,它们在这里缓冲并被译成CPU可以理解的格式,随后被送入CPU的执行核心中处理。数据从系统内存中直接进入处理器的后端,CPU执行单元按照指令对数据进行处理。
从Athlon到Hammer,AMD在下面三个地方做了改进:
·增加指令和数据到处理器的流量 ·增加指令编码流量 ·增加处理器处理指令的能力
执行单元
在AMD的工作中,从Athlon到Hammer并没有对执行单元做什么改变:3个整数单元,3个地址生成单元,3个浮点单元和1个载入/存储单元。AMD表示这“十单元”设计具有足够的潜力,完全可以满足未来的需要,所以完全不需要进行修改。
AMD将他们的主要精力放在这10个单元的执行效率上,通过更宽的指令窗、更多的重命名寄存器实现更好的代码执行规划,通过更多的载入/存储缓冲来提高数据通讯能力。这些改进使得Hammer的执行单元在1个时钟周期中具有更好的效率。
Hammer更深的管线、更高的工作频率使得处理器可以在单位时间内处理更多的代码和数据。
前端
增加执行单元能力来提高效率,对应的也就需要提高前端的代码编码速度。Hammer重新组织了Athlon管线中的提取和编码部分,提高单个时钟循环完成的平均指令数。Hammer的前端同时带有增强的分支预测器,可以确保前端在代码流改变时保持满负荷工作状态。
|
|