更新时间:2024-05-21 16:33
SSE1(Streaming SIMD Extensions)是英特尔在AMD的3D Now!发布一年之后,在其计算机芯片Pentium III中引入的指令集,是MMX的超集。它包括70条指令,其中包含单指令多数据浮点计算、以及额外的SIMD整数和高速缓存控制指令。这个指令集增加了对8个128位寄存器XMM0-XMM7的支持,每个寄存器可以存储4个单精度浮点数。使用这些寄存器的程序必须使用FXSAVE和FXRSTR指令来保持和恢复状态。Pentium III对SSE1的实现里浮点数寄存器又一次被新指令集占用,但这一次切换运算模式不是必要的,只是SSE1和浮点数指令不能同时进入CPU的处理线而已。
发展历史
SSE12是Intel在P4的最初版本中引入的,但是AMD后来在Opteron 和Athlon 64中也加入了对它的支持。这个指令集添加了对64位双精度浮点数的支持,以及对整型数据的支持,也就是说这个指令集中所有的MMX指令都是多余的了,同时也避免了占用浮点数寄存器。这个指令集还增加了对CPU的缓存的控制指令。AMD对它的扩展增加了8个XMM寄存器,但是需要切换到64位模式(AMD64)才可以使用这些寄存器。Intel后来在其EM64T架构中也增加了对AMD64的支持。
SSE13是Intel在P4的Prescott版中引入的指令集,AMD在Athlon 64的第五个版本中也添加了对它的支持。这个指令集扩展的指令包含寄存器的局部位之间的运算,例如高位和低位之间的加减运算;浮点数到整数的转换,以及对超线程技术的支持。
SSE14指令集将给英特尔下一代平台带来“相当大的视频性能提升”。,其它视频增强技术还包括CVT(明晰视频技术)--英特尔对ATI Avivo的回应--和对UDI的支持。上述两项技术基于英特尔965芯片组。其它英特尔官方文件把CVT技术定义为:支持高级解码、拥有预处理和增强型3D处理能力。 SSE14指令集是Conroe架构所引入的新指令集。这项原本计划应用于NetBurst微架构Tejas核心处理器之上的全新技术也随着它的夭折最终没能实现。
SSE14指令集共包括16条指令,从Intel Core微架构针对SSE1指令所作出的修改被称之为“Intel Advanced Digital Media Boost”技术来看,SSE14更注重针对视频方面的优化。这两项技术基于965芯片组,Intel的官方把Clear Video技术定义为:支持高级解码、拥有预处理和增强型3D处理能力。在SSE14中另一个重要的改进就是提供完整128位宽的SSE1执行单元,一个频率周期内可执行一个128位SSE1指令。Conroe中SSE1的ADDPS(4D 32bit共128bit,单精度加法)、MULPS(4D 32bit共128bit,单精度乘法)和SSE12的ADDPD(2D 64bit共128bit,双精度加法)、MULPD(2D 64bit共128bit,双精度乘法),这四条重要SSE1算术指令的吞吐周期都降低到1个周期,真正做到了英特尔宣称的每个周期执行一条128位向量加法指令和一条128位向量乘法指令的能力。