词条 AVX指令集

AVX指令集

AVX指令集英语:Advanced Vector Extensions,即高级向量扩展指令集)是x86架构处理器中的指令集,被英特尔和AMD的处理器所支持。AVX指令集由英特尔在2008年3月提出,并在2011年第一季度出品的Sandy Bridge系列处理器首获支持。随后,AMD在2011年第三季度的Bulldozer系列处理器也支持了AVX。

AVX是X86指令集的SSE延伸架构,如IA16至IA32般的把暂存器XMM 128bit提升至YMM 256bit,以增加一倍的运算效率。此架构支持了三运算指令(3-Operand Instructions),减少在编码上需要先复制才能运算的动作。在微码部分使用了LES LDS这两少用的指令作为延伸指令Prefix。

AVX2指令集将整数操作扩展到了256位,并引入了FMA指令集作为扩充。AVX-512则将指令进一步扩展到了512位。

AVX指令集相关文献
精简指令集
历史精简指令集的名称最早来自1980年大卫·帕特森在加州大学柏克莱分校主持的BerkeleyRISC计划。但在他之前,已经有人提出类似的设计理念。由约翰·科克主持,在1975年开始,1980年完成的IBM801项目,可能是第一个使用精简指令集理念来设计的系统。这种设计思路最早的产生缘自于有人发现,尽管传统处理器设计了许多特性让代码编写更加便捷,但这些复杂特性需要几个指令周期才能实现,并且常常不被运行程序所采用。此外,处理器和主内存之间运行速度的差别也变得越来越大。在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。早期,这种指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、中央处理器的实现细节对于机器级程序是可见的等等。实际上在后来的发展中,RISC与CISC在竞争的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定...
查看全文
指令集架构
指令集的分类复杂指令集计算机包含许多应用程序中很少使用的特定指令,由此产生的缺陷是指令长度不固定。精简指令集计算机通过只执行在程序中经常使用的指令来简化处理器的结构,而特殊操作则以子程序的方式实现,它们的特殊使用通过处理器额外的执行时间来弥补。理论上的重要类型还包括最小指令集计算机(英语:Minimalinstructionsetcomputer)与单指令集计算机,但都未用作商业处理器。另外一种衍生类型是超长指令字,处理器接受许多经过编码的指令并通过检索提取出一个指令字并执行。机器语言机器语言是由声明和指令所组成的。在处理结构上,一个特定指令指明了以下几个部分:用于算术运算,寻址或者控制功能的特定寄存器;特定存储空间的地址或偏移量;用于解译操作码的特定寻址模式;复杂的操作可以借由将简单的指令合并而达成,可以(在冯·诺依曼体系中)连续的执行,也可以藉控制流来执行指令。指令类型有效的指令操作须...
查看全文
AVX指令集
支援目前AppleOSX10.6.8(雪豹的更新版本)及更高,Linux2.6.30内核以后,以及Windows7SP1(ServicePack1)KB976932,WindowsServer2008RC2SP1与Windows8支援AVX。参见组合语言MMXSSE
查看全文
FMA指令集
参见AVXSSSE3SSE
查看全文
AVX指令集相关标签
并行计算
X86架构
学科&术语