工程师透露:英特尔本可在64位过渡中击败AMD 但却错误地选择了放弃
x86-64 指令集最初由 AMD 于 1999 年发布,为领先的 PC 计算架构提供了重大升级。 事实证明,这项技术非常成功,英特尔不得不追赶竞争对手,这在 x86 历史上尚属首次。 不过,事情本可以大不相同。
英特尔公司已经准备好为"经典"的 32 位 x86 ISA 添加 64 位功能的解决方案,但该公司却选择了推进 Itanium(安腾)架构。 最近,一个新的技术历史片段从一年前的 Quora 讨论中浮出水面。 英特尔前"首席 x86 架构师"鲍勃-科威尔提供了一个以前不为人知的精彩花絮。
AMD 工程师 Phil Park 在研究 x86-64 过渡背后的历史时,发现了这段对话。 科威尔透露,英特尔在奔腾 4 芯片中嵌入了一个未激活的 x86-64 ISA 内部版本。 公司管理层强迫工程团队"熔断"这些功能。
功能是有了,但用户无法访问。 英特尔决定把重点放在为 Itanium 开发的 64 位本地架构上,而不是 x86-64。 公司认为,64 位奔腾 4 会损害 Itanium 赢得 PC 市场的机会。 据称,管理层"不是一次,而是两次"告诉 Colwell,如果他想保住工作,就不要再谈论 x86 上的 64 位演化。
工程师决定妥协,将与 x86-64 功能相关的逻辑门"隐藏"在硬件设计中。 科尔韦尔打赌英特尔需要追赶 AMD 并迅速实现其版本的 x86-64 ISA,他猜对了。 Itanium CPU 与 16 位和 32 位 x86 软件没有提供向后兼容性,因此该架构也成了英特尔历史上最糟糕的商业(和技术)失败之一。
x86-64 ISA 与"传统"x86 代码完全兼容,同时引入了新的 64 位模式,具有更强大的指令、更大的矢量寄存器等。 与 32 位 CPU 相比,它还能使用更大的虚拟和物理内存池。 AMD 首先通过基于 K8 的 Athlon 64 和 Opteron 芯片实现了 x86-64 指令集,这最终迫使英特尔通过改进版的 NetBurst 架构(奔腾 4)"走向 64 位"。
鲍勃-科威尔为英特尔的历史做出了重大贡献,在 2000 年退休前,他负责管理了奔腾 Pro、奔腾 II、奔腾 III 和奔腾 4 等流行 PC CPU 的开发。 与此同时,今天英特尔和 AMD 在市场上销售的 x86 芯片仍然与几乎所有为 x86 架构开发的程序保持完全向后的硬件兼容性。