3D instruction sets--known as 3DNow!
in AMD CPUs; SSE (Streaming
SIMD Extensions) in Pentium-III's--are
meant to complement rather than replace the functions of separate
3D graphics accelerators. They are an attempt to enhance floating point
operations used in games and multimedia applications, similar to how
Intel's MMX instruction set first enhanced integer-based multimedia
operations.
3DNow! and SSE also incorporate SIMD (Single Instruction-Multiple
Data) functions, the ability to perform the same instruction on a array of
data all at the same time. As graphics intensive applications involve the
processing of multiple arrays of data, CPU-based SIMD provides a distinct
performance boost.
3D graphics processing begins with 3D physical modelling and geometry
transformations, lighting, and clipping, which are floating-point
intensive. It ends with integer-intensive rendering, which is done
primarily by 3D graphics accelerator cards. Today's graphics accelerators
are now so fast that the CPU cannot always provide data fast enough to
keep up. Overall 3D graphics performance is thus often limited by the
floating-point calculation speed of the CPU at the beginning of the
graphics pipeline. The 3DNow! and SSE instruction sets help
relieve this bottleneck.