为什么有的地方叫X86-64,有的地方叫AMD64?

为什么有的地方叫X86-64,有的地方叫AMD64?

因为最开始 intel 搞出来的指令集叫 IA-64,对应于当时的 IA-32 (也就是 x86 指令集)。

intel 的这个 IA-64 与 32 位指令集不兼容,反应寥寥,大家都不愿意支持。

这个时候, AMD 搞出了另外一个兼容 IA-32 兼容 X86 的 64 位指令集,名字叫做 amd64 。所以这个指令集正确的叫法就是 amd64。当时其实就是为了与 intel 的 IA-64 区分开,才这么命名的。大概 AMD 也没预料到这个指令集后来被业界接受,成了 x86 体系在 64 位平台的事实标准

至于为什么后来又被叫做 x86_64,这不是明摆着的嘛,amd64 指令集被大众接受之后,intel 自然不得不兼容这个指令集。而 intel 使用 amd64 指令集说出来多多少少有点打脸,自然得想办法给这个指令集改改名字。所以才有em64t, x86_64 等名称。

结论:这个指令集标准的叫法就是 amd64,只不过这个叫法对 intel 来说有点不舒服,所以后来才会引入了 x86_64 这样的叫法,但他们本质上是一样的。

intel的确很努力的往里面掺沙子,还把掺过沙子的版本叫intel 64;奈何业界不买它的帐,还是习惯叫AMD64;掺过沙子的版本则被讽刺为iAMD64……

甚至哪怕正式场合,intel 64也会和AMD64归为一类,统称为x86_64。大概也有点“中立,不站AMD也不站intel”的意思。

 

作者:Steinbruenk
来源:知乎

因为64位有很多种

1.ia64,就是intel的64位,对应产品就是安腾处理器,然而这个并不兼容x86的os和应用。这个产品最后的产品是hp的小型机,上面运行hp-ux(也有windows),我2014年-2015年所在的某交易所做的一个大项目就是替换所有hp小型机为x86服务器,当时替换掉了一大批,包括四台7u的高端型号RX8640,这些机器实际上用了不到3年,采购花了2千万多。

我找了一张rx8640的照片,标红的地方是可以收起来的把手,这东西非常的重,严格要求是需要四个人才可以抬,防止受伤。

为什么有的地方叫X86-64,有的地方叫AMD64?

这种hp小型机应该已经绝种了,因为不久后oracle便不在提供ia64架构的数据库产品了,而这些小型机一大作用就是当数据库。

这个东西绝种说到底原因比较复杂

合作的产品,intel提供cpu,hp提供os,这就导致一方不愿意搞了,这个产品线基本就挂了,估计有一大批人因为这个小型机退出市场失业或者转行。

hp-ux在行业间的影响力并不大,至少远不如IBM的AIX,而且上面的shell是posix shell,而AIX下默认是ksh,linux是bash,跟这两种都有区别,用着很别扭。

2.amd64,也就是x86_64,之所以这么叫,因为是amd搞出来,但是,基于x86,所以这种技术还是源于x86,有种中文叫法是,x86拓展64位。而x86是intel先搞出来的,又叫ia32