• 一文搞懂 x64 IA-64 AMD64 Inte64 IA-32e 架构之间的关系


    想要搞清楚 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 处理器。

     

  • 相关阅读:
    java验证码的实现
    【LeetCode】No.79. Word Search -- Java Version
    mysql面试题52:MySQL中你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?
    【进阶C语言】动态内存分配
    (22)语义分割--LR-ASPP
    List集合数据拷贝方式
    Ace编辑器
    Java中ReentrantLock锁的尝试锁,可中断锁,公平锁讲解与实例代码
    Hrnet_DEKR 简单理解和计算评价指标
    Kubeflow基础知识
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/17368572.html