yichao firstname, zeaster nickname, zhang lastname

intel MMX, SSE, SSE2区别与联系

MMX(MultiMediaExtensions) 多媒体增强指令集
实现了单道指令多道数据流(SIMD,single-instruction, multiple-data)的执行模式
支持MMX指令集的处理器有八个64位的寄存器,这个寄存器可以存放的数据类型有四种:字节(byte)、字(word),双字(double-word)
分别可以存放8,4,2个。
举个例子:
支持MMX指令集就是说原来对每个数组中(byte)元素加一的操作现在可以一次性load 8个元素,一次性对这个八个元素加一
这就是所谓的”单道指令多道数据流“
http://blog.csdn.net/guanchanghui/archive/2006/07/28/989256.aspx 上有个很好的演示代码

SSE(Streaming SIMD Extensions)单指令多数据流式扩展
就是扩展了MMX支持的SIMD,支持SSE指令集的处理器有八个128位的寄存器,另外支持的数据类型多了个单精度浮点型

SSE2
就是扩展了的SSE,它的寄存器支持的数据类型比SSE多了个双精度浮点型

除了在多媒体处理方面,在多线程处理方面,也是它们的英雄用武地!

No comments: