x86
1978 年 6 月,Intel 发布了新款 16 位微处理器 8086,开创了一个全新时代,x86 架构由此诞生。x86 架构指的是特定微处理器执行的计算机语言指令集,定义了芯片的基本使用规则。
事实上,8086 处理器发布之初并没有获得太多关注,也没有被大范围采用。但 8086 在 PC 历史上的地位,怎么形容都不为过。这是因为它带来 x86 架构,奠定了 Intel 在微处理器界的霸主地位,也成为了一种业界标准。
在此后 40 年的发展中,x86 家族不断壮大,从桌面转战笔记本、服务器、超级计算机、移动设备,期间还打败了众多竞争对手,让不少处理器厂商及其架构技术成为历史名字。比如 2005 年,苹果就放弃了 IBM 的 PowerPC 架构,全面转入 Intel 怀抱。
amd64(x86-64)
2003 年,AMD 推出了业界首款 64 位处理器 Athlon 64,带来了 amd64(x86-64)指令集,即 x86 指令集的 64 位扩展超集,具备向下兼容的特点。amd64 代表 AMD 放弃跟随 Intel 标准的一贯作风,类似 Intel 把 16 位的 8086 扩充成 32 位的80386 那样,把 x86 架构扩充成 64 位版本,且兼容原有标准。
IA64、EM64T
在 amd64(x86-64) 出现以前,英特尔与惠普联合设计出 IA64 架构,但 IA64 并不与 x86 兼容,只是用在服务器处理器 Itanium(安腾)上。Intel 不想引起客户混淆,把高贵的 Itanium(安腾) IA-64 处理器与 x86 混为一谈。IA64 处理器市场反应较冷淡,同时受制于多个专利权,使其他厂商不能模仿。
为了和 AMD 展开竞争,Intel 在 2004 年推出了自己的 64 位版 x86,也就是 EM64T(Extended Memory 64 Tenchnology,扩展 64 位内存技术)。Intel 这种实现 64 位的方法和 AMD 的 x86-64 技术有异曲同工之妙,都是通过 64 位扩展指令同时兼容 32 位和 64 位运算。
其实 Intel 早就有 64 位处理器计划,眼见使用 amd64 的 Opteron(皓龙)及 Athlon(速龙) 取得成功,Intel 的计划被打乱。Intel 为了自身的面子,必然不能承认使用了对手 AMD 的技术,因此 Intel 把该技术以 EM64T 这个名字来推出,实际上与 AMD64 几乎相同。另外,如果使用 amd64 这个名字,等于在帮对手做广告宣传。
在以往 Intel 的行销中,Intel 总把 AMD 的产品贬为自家技术的仿制品。不过这回 AMD 率先开发民用 64 位技术,并取得成功,Intel 需要反过来吸纳 AMD 的技术,使 Intel 在研发 x86 处理器技术的领导地位受到重挫。在 EM64T 的资料中,Intel 对其指令集的起源只字不提,后来索性将此技术正式命名为Intel 64。
对此,AMD 和 Intel 互相指责对方,但无论如何至少推动了 64 位技术的发展和普及,也让 x86 技术得以发扬光大,平稳过渡。
第三方
由于 amd64 和 Intel 64 基本上一致,很多软硬件产品都使用一种不倾向任何一方的词汇来。出于这个目的,AMD 对这种 CPU架构的原始称呼 x86-64 被不时地使用,还有变体 x86_64。其他公司如微软和 Sun 在营销资料中使用 x64 作为对 x86-64 的缩写。许多操作系统及产品,尤其那些是在 Intel 进入这块市场之前就引入 x86-64 支持的,使用 amd64 同时指代 amd64 和 Intel 64。
转自:为什么64位计算机CPU架构叫amd64,不是 intel64?原来是这么回事!