想要搞清楚 x64、IA64、AMD64 指令集之间的关系,就要先了解 Intel 和 AMD 这两家公司在生产处理器上的发展历史。

x86 处理器

1978年 Intel 生产了它的第一款 16bit 处理器8086,之后几款处理器名字也都以86结尾,包括80186,80286, 80386,80486,这些处理器的架构被统一称为 x86 架构。其中8086、80186、80286是 16bit 处理器,80386和80486是 32bit 处理器,32bit 处理器向前兼容 16bit 的处理器。由于指令集属于处理器架构层面,因此这些处理器使用的指令集被称为 x86 指令集。后来 Intel 生产了比如奔腾、Xeon 等新的 32bit 处理器,它们仍然使用 x86 架构。

The CPU architecture defines the basic instruction set, and the exception and memory models that are relied on by the operating system and hypervisor.

The CPU microarchitecture determines how an implementation meets the architectural contract by defining the design of the processor and covering such things as: power, performance, area, pipeline length, and levels of cache.

针对 32bit 的 x86 系列处理器,Intel 给了一个全新的处理器架构名字 IA-32。同时由于 80386 是 Intel 第一款 32bit 处理器,32bit 的 x86 系列处理器也被称为 i386 处理器。总之,IA-32 与 i386 处理器都是指 Intel 的 32 bit 处理器,而 x86 处理器可能是 32bit 的,也可能是 16bit 的。但是无论是 32bit 还是 16bit,他们都属于 x86 架构,使用 x86 指令集。

合作

当1978年 Intel 生产出它的 x86 处理器时,1981年 IBM 生产了第一台个人 PC 电脑,并且希望搭载 Intel 的 x86 处理器。不过,为了防止 Intel 作为 x86 处理器唯一的供应商后期一家独大,IBM 留了一个心眼,提出 Intel 如果想合作,就必须授权另一家公司,也能生产 x86 处理器。为了达成这次合作,Intel 找到了 AMD 公司,签了一个10年期协议,将 x86 架构授权给 AMD,让 AMD 可以生产基于 x86 架构的处理器。

AMD(Advanced Micro Devices) 公司早期主要从事存储器生产,生产的存储器也会卖给 Intel 公司使用。1975年,AMD 开始涉足处理器市场,但是当时对 Intel 还够不成威胁。通过1981年这次和 Intel 的合作,AMD 经过10年来发展迅猛,已经成为 Intel 在处理器市场上最大的一个劲敌,Intel 完全可以说是养虎为患。

由于 AMD 和 Intel 生产的 CPU 都是基于 x86 架构,所以,在使用 Intel 处理器电脑上能运行的软件,在使用 AMD 处理器上的电脑也可以运行。

x64 处理器

时间来到1999年,Intel 向世界宣布了它全新的 64bit 处理器安腾,其使用的架构被命名为 IA-64。不过由于 Intel 过于激进,IA-64 架构并不兼容 x86 处理器,也就是原先众多运行在 x86 处理器上的 32bit 软件,完全不能运行在 IA-64 处理器上。这种不兼容问题,很快让 Intel 遭遇了滑铁卢,基于 IA-64 架构的安腾处理器并未得到市场的广泛认可。

就在 Intel 宣布安腾处理器的第二天,AMD 公司也向世界公布了自己全新的 64bit 处理器架构 AMD64。AMD64 架构可以看成是 x86 架构的扩展,完全向下兼容 x86 处理器,得到了市场的强烈反响。Intel 眼见大事不妙,赶忙调整了技术方向,放弃了之前的 IA-64 架构,采用了几乎与 AMD64 完全一样的技术方案,实现了自己的兼容 x86 处理器的 64bit 架构。不过为了面子,Intel 一开始将自己的 64bit 架构命令为 EM64T,后来又改为 IA-32e,再后来又改为 Intel64,总之就是只字不提 AMD 三个字。

由于 Intel 和 AMD 64bit 处理器都是遵循同样的架构,因此它们被统一被称为 x64 处理器。

一文搞懂 x64 IA-64 AMD64 Inte64 IA-32e 架构之间的关系的更多相关文章

  1. 一文搞清楚Minor GC、Major GC 、Full GC 之间的关系

    前言 文章要求读者熟悉 JVM 内置的通用垃圾回收原则.堆内存划分为 Eden.Survivor 和 Tenured/Old 空间,代假设和其他不同的 GC 算法超出了本文讨论的范围. Minor G ...

  2. 一文搞懂所有Java集合面试题

    Java集合 刚刚经历过秋招,看了大量的面经,顺便将常见的Java集合常考知识点总结了一下,并根据被问到的频率大致做了一个标注.一颗星表示知识点需要了解,被问到的频率不高,面试时起码能说个差不多.两颗 ...

  3. 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质

    一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...

  4. 基础篇|一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  5. 一文搞懂 Prometheus 的直方图

    原文链接:一文搞懂 Prometheus 的直方图 Prometheus 中提供了四种指标类型(参考:Prometheus 的指标类型),其中直方图(Histogram)和摘要(Summary)是最复 ...

  6. Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!

    本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...

  7. 一文搞懂vim复制粘贴

    转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻 ...

  8. 三文搞懂学会Docker容器技术(中)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 6,Docker容器 6.1 创建并启动容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] --na ...

  9. 三文搞懂学会Docker容器技术(下)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 三文搞懂学会Docker容器技术(中) 7,Docker容器目录挂载 7.1 简介 容器目录挂载: 我们可以在创建容器的时候,将宿主机的目录与容器 ...

  10. 一文搞懂 js 中的各种 for 循环的不同之处

    一文搞懂 js 中的各种 for 循环的不同之处 See the Pen for...in vs for...of by xgqfrms (@xgqfrms) on CodePen. for &quo ...

随机推荐

  1. 爬快手,graphql查询语言

    graphql查询语言:https://blog.csdn.net/qq_41882147/article/details/82966783 即:前端调用同一个接口传入不同的操作,得到不同的返回值 一 ...

  2. LaTeX in 24 Hours - 书籍信息

    书籍信息 书名: LaTex in 24 Hours: A Practical Guide for Scientific Writing 作者: Dilip Datta 出版日期: 2017 ISBN ...

  3. Vscode 界面语言换成中文

    作为编译器,Visual Studio Code是非常多能化的,但是界面英文对于我这种菜鸟新手造成了很大的困扰. 所以切换成中文更方便. Ctrl+shift+x   在左侧出现"扩展&qu ...

  4. K8S 性能优化 - 大型集群 CIDR 配置

    前言 K8S 性能优化系列文章,本文为第三篇:Kubernetes 大型集群 CIDR 配置最佳实践. 系列文章: <K8S 性能优化 - OS sysctl 调优> <K8S 性能 ...

  5. Nginx如何升级Openssl

    1. 什么是Openssl? 在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份.这个包广泛被应用在互联网的网页服务器 ...

  6. Python笔记--练习题(都来瞧一瞧,看一看嘞)

    利用Python对文件进行操作 重新写入的文件如下图所示: 统计学生成绩文件的最高分最低分和平均分 Python如何统计英文文章出现最多的单词 Python统计目录下的文件大小 Python按照文件后 ...

  7. Android笔记--动态申请权限

    动态申请权限 在动态申请权限这里,一共分为两种不同的模式,分别是Lazy模式(懒汉式)和Hungry模式(饿汉式),这两种模式区分的话,可以通俗地解释一下就是,对于懒汉来说,只有在我们点击某个按钮需要 ...

  8. 2019徐州网络赛 M Longest subsequence 序列自动机

    题目链接https://nanti.jisuanke.com/t/41395 题意:给两个字符串,s和t,在s中求字典序严格大于t的最长子序列. 思路:分类讨论即可.先建个s的序列自动机. 1 如果有 ...

  9. Mathematica制作和使用程序包

    步骤 这里拿你制作并且使用一个程序包lost为例子 新建一个空白.wl文档,输入代码如下 BeginPackage[ "MyPkg`"] MainFunction::usage = ...

  10. 自学UI设计有哪些书籍推荐?

    自学UI设计大致分为两种情况:其一.业余学习,技能拓展,不以求职为目的;其二.谋生手段,小白进阶学习或者有转行的打算.前者,无论是学习内容或者深度都可以根据自己的需求和兴趣点来做学习选择,相对来说,学 ...