SSE2(Streaming SIMD Extensions 2,Intel官方称为单指令多数据流技术扩展 2或单指令多数据流
扩展指令集 2)指令集是Intel公司在
SSE指令集的基础上发展起来的。相比于SSE,SSE2使用了144个新增指令,扩展了MMX技术和SSE技术,这些指令提高了广大应用程序的运行性能。随MMX技术引进的单指令多数据流整数指令从
64位扩展到了128 位,使
SIMD整数类型操作的有效执行率成倍提高。双倍精度浮点(实数)单指令多数据流指令允许以 单指令多数据流格式同时执行两个浮点(实数)操作,提供双倍精度操作支持有助于加速内容创建、财务、工程和科学应用。除SSE2指令之外,最初的
SSE指令也得到增强,通过支持多种数据类型(例如,双字和四字)的算术运算,支持灵活并且动态范围更广的计算功能。
SSE2指令可让软件开发员极其灵活的实施算法,并在运行诸如MPEG-2、MP3、3D图形等之类的软件时增强性能。Intel是从Willamette核心的Pentium 4开始支持
SSE2指令集的,而AMD则是从K8架构的SledgeHammer核心的Opteron开始才支持SSE2指令集的。它有两个部分组:SSE部分和MMX部分.SSE主要负责处理浮点数,MMX则专门计算整数.SSE2的
寄存器容量是MMX的两倍。寄存器存储的数据量也增加了两倍。在指令处理器速度保持不变的情况下,通过SSE2优化过的程序和软件运行速度也能提升两倍。由于SSE指令集和MMX指令集相兼容。因此,被MMX优化过的程序很容易被SSE2进行更深层次的优化,达到更好的效果。