MMX
MMX (Multimedia extensions) is a SIMD instruction set designed by Intel, introduced in their Pentium MMX microprocessors. It developed out of a similar unit first introduced on the Intel i860.
In order to simplify the design, MMX re-used the FPUs registers. This rendered the CPU unable to work on both floating point data and SIMD data at the same time (at least not effectively). In order to get value from MMX, programmers had to use the processor exclusively in one mode or the other as long as possible, which was difficult to do as most customers were moving to one or another multitasking operating systems at the same time (newer versions of Microsoft Windows), removing this control from the programmer.
Another problem for MMX is that it operated on only two 32-bit integers, four 16-bit integers, or eight 8-bit integers at a time. When originally developed in the i860, the use of vectored-integer math made sense (both 2D and 3D setup required it), but as the systems moved to using graphics cards that did this, MMX became largely useless and vectored-floating point became much more important.
As a result, MMX was largely ignored. Intel later addressed both of these problems with a completely new set of SIMD instructions, SSE.
Referenced By
3DNow! | AMD K6-2 | AltiVec | Digital Signal Processor | Digital signal processors | Digital signals processor | IA-32 | IA32 | Intel Pentium | Intel Pentium II | Intel Pentium Pro | Intel i860 | K6-2 | List of computing topics | Pentium | Pentium 1 | Pentium II | Pentium MMX | Pentium Pro | Pentium family | SIMD | TLAs from MAA to PZZ | Velocity Engine | Visual Instruction Set
|