1. SIMD发展历程

Posted 踟蹰横渡口,彳亍上滩舟。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1. SIMD发展历程相关的知识,希望对你有一定的参考价值。

SIMD指令集总结

SIMD指令集发展历程

1.1 MMX
英特尔在1996年引入了MMX(Multi Media Extensions)多媒体扩展指令集,包括有57条多媒体指令,开创了SIMD(Single Instruction Multiple Data,单指令多数据)指令集之先河,即在一个周期内一个指令可以完成多个数据操作。
MMX寄存器实际上用的就是浮点寄存器(就是原来的ST0、……、ST7)的低64Bit,分别被命名为MM0、MM1、……、MM7,每个寄存器都可以被看作是8个BYTE,4个WORD、2个DWORD或1个QWORD,具体以什么为单位取决于所用的指令。MMX指令可以把这几个数据在一条指令里同时操作,而且相互间各不相干。这对数据密集型的计算(比如图像处理)是个相当大的喜讯,但是因为它实际使用的是浮点寄存器,所以不能和浮点运算同时执行,要执行浮点指令前必须执行一条EMMS指令,通知CPU“我的租期到了,现在该把房子还给你了”。这么一条指令也是要花时钟周期的(可能还绝对不止一个时钟周期),要是频繁的切换MMX状态和浮点状态,会极大降低效率。所以在使用MMX指令集的时候要注意,务必使MMX指令的运算和浮点运算分开来。
如图1,MMX指令可处理8Bit字符型、16bit整型和32bit整型,无法处理浮点型。

以上是关于1. SIMD发展历程的主要内容,如果未能解决你的问题,请参考以下文章

1操作系统发展历程

震旦的发展历程

.NET平台系列6 .NET Core 发展历程

.NET平台系列6 .NET Core 发展历程

社交网络的起源,发展历程及未来的发展趋势。越详细越好啊,多谢了各位

机器学习:人工智能发展历程