为什么当x64代表64位时x86代表32位?

我的问题是,为什么64位的简写是64位的32位x86的简写?

我猜测这与386和486s的时代有关,32位处理器全部以86结尾,但肯定有86处理器没有结束,还有32位?

任何人都知道这个历史或可以指导我一个很好的信息来源。

谢谢

很可能因为x86系列已经变成了32位处理器的代名词,而64位应用程序和操作系统已经过渡了,而64位是64位的,而现在有一些软件应用程序需要64位指定才能运行(如一些虚拟机软件)。

换句话说,比起技术来说,这更多的是市场营销。

那么曾经有一种叫做8086的芯片,有一种叫做8088的更便宜的版本,用在一台名叫IBM PC的个人电脑上。 该芯片的改进版本被称为80186,虽然这不是一个非常stream行的版本。 然而,改进后的版本被做了,并且被称为80286.现在,这是一个非常受欢迎的芯片,特别是因为它被用在一台叫做IBM PC AT的计算机上。

后来,英特尔创造并销售了8086,8088,80186和80286芯片,所有这些芯片都有16位架构,因此需要创build一个32位芯片来与其他厂商的类似产品进行竞争。 为了利用其现任职位,使得新芯片能够运行用于上述芯片的软件。 当然,英特尔把这个新芯片称为80386。

那时有很多电脑使用各种版本的英特尔芯片,也有非英特尔芯片与英特尔芯片兼容。 所以人们开始把它们称为80×86。

一段时间后,英特尔推出了一个新的芯片,但它决定放弃80,所以它成为了486,而不是80486.同样,人们从“80×86”的前面扔掉了“80”,并调用这个东西只是x86 。

现在,我非常肯定有人会说,英特尔在当时和他们的品牌x86品牌,但他们做的,但我不在乎。

事实是,不断增加的中间数字产生了80×86,而x86来自于这个 – 即使80186和80286不是32位。

所以,一旦英特尔终于64位,它是什么叫它的新架构? 对! IA64! :-)也可追溯地将x86重命名为IA32,可以这么说。 只有IA64与x86不兼容,我的意思是,IA32,所以每个人都忽略它。

然后是AMD,这个决定了市场需要一个兼容的64位CPU,尽可能与x86系列兼容。 作为一种营销呼吁,他们称之为“x86-64”家族,而且他们取得了巨大的成功。 最终,英特尔以自己的基于x86的64位CPU勉强跟进。

后来,因为人们很懒,x86-64简直叫做x64。

所以,回答你的问题,因为x64比x86-64短。

术语x86是指基于Intel 8086 CPU的一组指令集架构。

x86和x64是cpu 体系结构的名称。 CPU的架构不仅仅是每个寄存器的位数。

x64取的是名字,因为跳到64位是x86架构中最大的变化,但是这种跳跃远非唯一的变化。

x86得到了8086处理器和家族的名字,其中包括80286,80368,486等。当x86成为架构的名称时,每个寄存器32位并不被认为是一个足够重要的特性来certificate构build它的名字。

从技术上讲,x86只是指处理器系列和它们都使用的指令集。 它实际上没有说明关于数据大小的任何具体内容。

x86最初是作为16位处理器(8086和8088处理器)的16位指令集,然后扩展到32位处理器(80386和80486)的32位指令集,现在已扩展到一个用于64位处理器的64位指令集。 它曾经被写为80×86,以反映在芯片型号数字中间的变化值,但沿线的某个位置,前面的80被丢弃,只剩下x86。

指责奔腾,它的后代改变了处理器命名和销售的方式,尽pipe所有使用英特尔x86指令集的较新处理器仍被称为x86,i386或i686兼容(这意味着它们都使用原来的8086指令系统)。

x64真的是这里的怪人。 x86集的64位扩展的名字叫做x86-64。 后来被命名为AMD64(因为AMD本来是最初提出64位扩展的)。 英特尔授权64位指令集,并命名他们的版本EM64T。 这两个指令集和使用它们的处理器都被认为是x86。

那么, x64从来没有真正来自指令集或芯片制造商。 它最初来自Windows XP。 Windows的第一个64位版本被命名为Windows XP x64 。 我猜想从那里卡住的术语x64

x86名字来自32位指令集。 所以所有x86处理器(没有前导80 )运行相同的32位指令集(因此都是兼容的)。 所以x86已经成为这个集合的实际名称(因此也是32位)。

AMD在x86上最初的64位扩展被称为AMD64 。 英特尔后来授权它,但即使如此,64位x86指令集的名称通常是AMD64

但主要是品牌的区别。 以下是几个不同的主要操作系统分布调用每个64位的风格:

  • Ubuntu – amd64
  • Centos – x86_64
  • OpenSUSE – x86_64
  • FreeBSD – amd64
  • OpenBSD – amd64
  • NetBSD – amd64
  • Solaris – x64
  • Windows Server – x64

所以基本上,Linux似乎更喜欢x86_64 ,BSD更喜欢amd64和其他x64

但是需要注意的是,它们对于市场营销而言意味着同样的东西。 在微妙之处,它们确实意味着不同的东西(好吧, amd64意味着不同于x86_64 (前者是供应商特定的体系结构,后者是两个供应商体系结构的子集),但是x86_64 === x64 ),但除了程序员写作在组装或机器代码,它确实不会有所不同…