博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
x86 指令集发展历程
阅读量:2380 次
发布时间:2019-05-10

本文共 2469 字,大约阅读时间需要 8 分钟。

从 1976 年第 1 代 x86 processor 算起,x86 指令发展经过了 35 年,这里回顾一下 x86 指令集的历程以及 AMD 与 Intel 的指令斗争史:

  • 8086 指令:伴随着第 1 代的 x86 processor 推出第 1 代的 x86 指令集,之后发展的处理器都兼容于第 1 代的指令。
  • MMX 指令:Intel 在 1996 年推出的第 1 代 SIMD(Single Instruction Multiple Data)指令集,使用在 p5 microarchitecture(微架构)上的 Pentium 处理器。随后 AMD 在 1997 年的 K6 处理器上加入了 MMX 指令的支持。
  • 3DNow!指令:1998 年 AMD 首发推出了 21 条自己的 SIMD 指令集,3DNow! 的性能要优于 MMX 指令,使用在 AMD K6-2 处理器上。随后 AMD 在 1999 年 6 月发布的 Athlon 处理器上使用了增强版的 3DNow! 指令(3DNow!+)。
  • SSE 指令:1999 年 Intel 推出了第 1 代的 SSE(Streaming SIMD Extensions)指令以回击 AMD 的 3DNow! 指令,使用在 Pentium III 处理器上。随后 AMD 在 2001 年 10 月 发布 的 Athlon XP 处理器上首次加入了 SSE 指令集。
  • SSE2 指令:Intel 在 2001 年推出第 2 个版本的 SSE 指令,使用在 Pentium 4 处理器上,AMD 在 2003 年推出的 Athlon 64 和 Opteron 处理器上加入对 SSE2 指令的支持。
  • x86-64 指令:2003 年 AMD 推出了第 8 代名为 K8 的 microarchitecture,实现了 x86-64 架构,支持 64位 的扩展技术。从Athlon 64 处理器开始使用 x86-64 扩展技术,AMD 将自己的 x86-64 架构实现称为 AMD64 架构。Intel 最终在 2004 年发布的 Prescott 微架构的 Pentium 4 处理器上实现 x86-64 扩展技术,最初被称为 IA-32e 或者 EM64T 技术,最终被统一为 Intel64 架构,Intel64 是 x86-64 体系的 Intel 实现,完全兼容于 AMD64 架构。这是 Intel 唯一的一次追随 AMD
  • SSE3 指令:Intel 在 2004 年推出了第 3 版 SSE 指令,使用在 Prescott 微架构的 Pentium 4 处理器上,在 2005 年 AMD 在对 Athlon 64 处理器上加入了 SSE3 的支持。
  • SSSE3 指令:SSSE3 指令是对 SSE3 指令的补充,新增了 16 条指令,在最后的一版 Prescott 微架构代号为 Tejas 的 Pentium 4 处理器上首次加入 SSSE3 指令,以及 2006 年的 Core 微架构的处理器上开始加入 SSSE3 指令。在 AMD 阵营中,目前已经发布的 Bobcat 微架构的 APU 处理器上加入了对 SSSE3 的支持,以及在即将发布的 Bulldozer 微架构的处理器上支持。
  • SSE4.1 指令:Intel 在 2007 年 11 月发布的 Penryn 微架构的处理器上加入了 SSE4.1 指令,SSE4.1 指令共 47 条。在AMD阵营中,目前发布的处理器不支持 SSE4.1 指令,即将发布的 Bulldozer 微架构的处理器将支持 SSE4.1 指令。
  • SSE4a 指令:AMD 在 2007 年在 K10 微架构的处理器加入了 SSE4A 指令集,SSE4A 只有 4 条。在 K10 微架构处理器上还加入 POPCNT 与 LZCNT 指令
  • SSE4.2 指令:Intel 在 2008 年 11 月发布的 Nehalem 微架构的 Core i7 处理器上加入 SSE4.2 指令共 7 条。在 AMD 阵营中,目前发布的处理器不支持 SSE4.2 指令,即将发布的 Bulldozer 微架构的处理器将支持 SSE4.2 指令
  • SSE5 指令:SSE5 是一个纸面上的指令集,并没有最终实现,AMD 在 2007 年 8 月公布 SSE5 指令集规范,在 2009 年 5 月 AMD 推出了 XOP,FMA4 以及 CVT16 来取代 SSE5 指令。
  • AVX 指令:2008 年 3 月 Intel 发布了 AVX(Advanced Vector Extensions)指令集,首次在 Sandy Bridge 微架构的 Core i7/i5/i3 处理器上使用。AMD 将在 Bulldozer 微架构的处理器上加入 AVX 指令的支持。
  • AES 指令:2008 年 3 月 Intel 发布了 AES(Advanced Encryption Standard)指令,使用在 Westmere 微架构的 Core i7/i5 处理器上。AMD 将在 Bulldozer 微架构的处理器上使用。
  • FMA 指令:FMA 指令是 AVX 指令集中的一部分,Intel 将在 2013 年的 Haswell 微架构处理器上使用。
  • XOP,FMA4 以及 CVT16 指令:AMD 在 2009 年 5 月发布了 XOP,FMA4 以及 CVT16 指令,这些指令集取代了 SSE5 指令,在原有的 SSE5 指令基础上,使用了兼容 AVX 指令的设计方案重新进行了设计,因此,XOP,FMA4 以及 CVT16 在指令的编码方面是兼容于 AVX 的方案。这使得 AVX/FAM4/CVT16 指令与 AVX 指令同时存在,而不会产生冲突,这些指令将在 Bulldozer 微架构的处理器上使用,Intel 暂时没宣告支持。

转载地址:http://kpqxb.baihongyu.com/

你可能感兴趣的文章
SpringCloud Zuul 网关
查看>>
SpringCloud 分布式链路追踪、分布式日志系统
查看>>
SpringCloud Config 配置管理
查看>>
富文本编辑器wangEditor
查看>>
一种适合中小团队的的Android自动化压力测试方案
查看>>
CNNs在图像压缩领域的运用——An End-to-End Compression Framework Based on Convolutional Neural Networks
查看>>
今天 把git攻克了
查看>>
Win7下的一些EXE文件图标莫名奇妙丢失
查看>>
[ZZ]变速齿轮作者的文章--绝杀反外挂方案
查看>>
了解内核的装入地址和入口地址,vmlinux.bin与vmlinux
查看>>
内核里面对大小写字符的转换
查看>>
网络分层的好处是什么?
查看>>
thinking in linux 机制与策率
查看>>
linux samba服务与VISTA互通
查看>>
在svn和git之间选择
查看>>
龙星课程: 局部性原理在计算机和分布式系统中的应用
查看>>
eclipse的奇怪的更新方式
查看>>
MIPS技术公司官方对linux的支持信息
查看>>
openflow简介
查看>>
windows7配置虚拟AP的脚本
查看>>