SIMD浮点数据类型
IA流式SIMD扩展的基本数据类型是紧缩单精度浮点操作数,即4个32位,单精度浮点(SP ~ FP)数。新的SIMD整型指令可以按紧缩字节、紧缩字或者紧缩双字的数据类型进行操作。新的预取指令是在32字节或者更大的数据规模基础之上工作的,它不管这些数据属于何种类型。4个32位单精度浮点数编号为0~3,第0个数据位于寄存器的低32位之中。[2]
SSE与存储器之间的紧缩数据(单精度的浮点双字)传送,按64位的块或者128位的块来进行。但是,当按紧缩数据类型执行算术操作或者逻辑操作时,却按SIMD浮点寄存器中4个独立的双字并行地进行操作。新的SIMD整型指令遵循MMX指令的惯例,按MMX寄存器的数据类型,而不是按SIMD浮点128位寄存器的数据类型进行操作。
SSE的数据格式是
SSE的紧缩128位数据,编号为0~127。位0为最低有效位(ISB),127为最高有效位( MSB)。当存储数据时,128位的数据总是按“小端”法进行排序,即低地址的字节为低有效字节,高地址的字节为高有效字节。[2]
Pentium II处理器的SIMD浮点指令以32位单精度浮点数据为单位进行操作。SIMD浮点寄存器中的值与存储器中的128位数具有相同的格式。