我的问题是为什么64位的简写是x64时32位x86的简写?
我猜想这与386和486年代有关,那时32位处理器全部以86结尾,但是肯定有一些处理器没有以86结尾并且仍然是32位吗?
有人知道这件事的历史吗,或者可以引导我获得良好的信息来源?
谢谢
我的问题是为什么64位的简写是x64时32位x86的简写?
我猜想这与386和486年代有关,那时32位处理器全部以86结尾,但是肯定有一些处理器没有以86结尾并且仍然是32位吗?
有人知道这件事的历史吗,或者可以引导我获得良好的信息来源?
谢谢
Answers:
可能是因为x86系列在相当长的一段时间内已成为32位处理器的代名词,而x64特别是在转换应用程序和操作系统时专门为64位指定的名称,现在有些软件应用程序要求将64位指定才能运行(例如某些VM软件)。
换句话说,原因是营销多于技术。
嗯,曾经有一种名为8086的芯片,其价格更便宜的版本为8088,该芯片曾用于称为IBM PC的个人计算机。制造了该芯片的改进版本并命名为80186,尽管这不是一个非常流行的版本。但是,随后制造了改进的改进版本,称为80286。现在,这是一种非常流行的芯片,特别是因为它被用于称为IBM PC AT的计算机中。
后来,创建并销售了8086、8088、80186和80286芯片的所有英特尔公司都具有16位架构,因此看到了创建32位芯片以与其他同类产品竞争的需求。为了利用其现有的地位,它使新芯片能够运行为上述芯片制造的软件。英特尔自然将这种新芯片称为80386。
到那时,很多计算机都在使用各种版本的Intel芯片,并且还存在与Intel兼容的非Intel芯片。因此人们开始将它们称为80x86。
不久之后,英特尔发布了新芯片,但它决定放弃80,因此将其改为486而不是80486。同样,人们也从“ 80x86”的前面放下“ 80”,并将其称为x86 。
现在,我很确定有人会说英特尔在某时某时将其芯片x86贴上了商标,但我不在乎。
事实是,不断增长的中间数字产生了80x86,而x86就是由此而来的-即使80186和80286不是32位。
那么,一旦Intel最终采用64位,它称之为新架构是什么?对!IA64!:-)可以这么说,它将x86追溯地重命名为IA32。我是说IA32,只有IA64与x86不兼容,所以每个人都忽略了它。
然后是AMD,它决定市场需要一个与x86系列尽可能兼容的64位CPU。作为市场吸引力,他们称其为“ x86-64”家族,并且取得了巨大的成功。如此之多,以至于英特尔最终不情愿地采用了自己的基于x86的64位CPU。
后来,由于人们很懒惰,x86-64简称为x64。
因此,在回答您的问题时,因为x64比x86-64短。
i386
)。在Windows世界中,x86只是(或至少在大多数情况下)专门指32位x86。大多数谈论CPU的硬件人员都将x86理解为与8086向后兼容的任何CPU,无论其工作在哪种模式下(通常为64位长模式,有时在64位内核下为32位兼容模式)。我说“ x86具有有效的释放/获取无锁原子”,我并不排除64位。
从技术上讲,x86只是指一系列处理器及其全部使用的指令集。实际上,它并没有说出任何有关数据大小的具体信息。
x86最初是针对16位处理器(8086和8088处理器)的16位指令集,然后扩展为针对32位处理器(80386和80486)的32位指令集,现在已扩展为用于64位处理器的64位指令集。它以前被写为80x86,以反映芯片型号中间的变化值,但是沿着这条线的某个地方,前面的80被丢弃了,只剩下x86。
尽管所有使用英特尔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最初将64位扩展x86
名称为AMD64
。英特尔后来获得了许可,但即使如此,64位x86
指令集的名称通常还是AMD64
。
但主要是品牌差异。以下是一些不同的主要操作系统发行版将每个64位版本称为:
所以基本上,它似乎更喜欢的Linux x86_64
,BSD更喜欢amd64
和其他人x64
...
但值得注意的是,出于营销目的,它们都具有相同的含义。在微妙他们做意味着不同的事情(当然,amd64
意味着什么不同x86_64
(前者是一个供应商特定的架构,以及两家公司的架构),后者的子集,但x86_64
=== x64
),但除了程序员谁在组装或机器写编码确实没有什么不同...