9-4
PROGRAMMING WITH THE STREAMING SIMD EXTENSIONS
The 32-bit, single-precision, floating-point numbers (doublewords) are numbered 0 through 3,
with 0 being contained in the least significant 32-bits (doubleword) of the register.
The Streaming SIMD Extensions move the packed data types (single-precision, floating-point -
doublewords) to-and-from memory in 64-bit or 128-bit blocks. However, when performing
arithmetic or logical operations on the packed data types, the Streaming SIMD Extensions
operate in parallel on the individual doublewords contained in the SIMD floating-point regis-
ters, as described in the following, Section 9.1.3., Single Instruction, Multiple Data (SIMD)
Execution Model.
The new SIMD-integer instructions follow the conventions of the MMX instructions and
operate on data in the MMX registers, not the SIMD floating-point 128-bit registers (refer to
Section 8.1.1., MMX Registers and Section 8.1.2., MMX Data Types in Chapter 8,
Programming with the Intel MMX Technology).
9.1.3.Single Instruction, Multiple Data (SIMD) Execution Model
The Streaming SIMD Extensions use the Single Instruction, Multiple Data (SIMD) technique
for performing arithmetic and logical operations on the single-precision, floating-point values
in the 128-bit SIMD floating-point registers. This technique speeds up software performance by
processing multiple data elements in parallel, using a single instruction. The Streaming SIMD
Extensions support operations on packed, single-precision, floating-point data types, and the
additional SIMD Integer instructions support operations on packed quadrate data types (byte,
word, or doubleword).
This approach was chosen because most media processing applications have the following char-
acteristics:
inherently parallel;
wide dynamic range, hence floating-point based;
regular and re-occurring memory access patterns;
localized re-occurring operations performed on the data;
data independent control flow.
The Streaming SIMD Extensions are 100% compatible with the IEEE Standard 754 for Binary
Floating-Point Arithmetic. The Streaming SIMD Extensions are accessible from all IA execu-
tion modes: Protected mode, Real-address mode, and Virtual 8086 mode.
9.1.4.Pentium
®
III Processor Single Precision Floating-Point
Format
The Pentium
®
III processors SIMD floating-point instructions operate on a 32-bit single preci-
sion floating-point number. For specific information and details on real numbers and special
values represented by the IEEE single precision (32-bit) format, and how the Pentium
®
III