
Chapter 1: Overview of the AMD64 Architecture
5
24593—Rev. 3.09—September 2003
AMD 64-Bit Technology
these instructions load, store, or operate on data located in
the general-purpose registers (GPRs) or memory. Some of
the instructions alter sequential program flow program by
branching to other program locations.
128-Bit Media Instructions
—These are the
streaming SIMD
extension
(SSE and SSE2) instructions that load, store, or
operate on data located primarily in the 128-bit XMM
registers.
They
perform
operations on vector (packed) and scalar data types.
Because the vector instructions can independently and
simultaneously perform a single operation on multiple sets
of data, they are called
single-instruction, multiple-data
(SIMD) instructions. They are useful for high-performance
media and scientific applications that operate on blocks of
data.
64-Bit Media Instructions
—These are the
multimedia
extension
(MMX technology) and AMD 3DNow!
technology instructions. They load, store, or operate on data
located primarily on the 64-bit MMX registers. Like their
128-bit counterparts, described above, they perform integer
and floating-point operations on vector (packed) and scalar
data types. Thus, they are also SIMD instructions and are
useful in media applications that operate on blocks of data.
x87 Floating-Point Instructions
—These are the floating-point
instructions used in legacy x87 applications. They load,
store, or operate on data located in the x87 registers.
integer
and
floating-point
Some of these application-programming instructions bridge two
or more of the above subsets. For example, there are
instructions that move data between the general-purpose
registers and the XMM or MMX registers, and many of the
integer vector (packed) instructions can operate on either
XMM or MMX registers, although not simultaneously. If
instructions bridge two or more subsets, their descriptions are
repeated in all subsets to which they apply.
1.1.4
Media
Instructions
Media applications—such as image processing, music synthesis,
speech recognition, full-motion video, and 3D graphics
rendering—share certain characteristics:
They process large amounts of data.
They often perform the same sequence of operations
repeatedly across the data.