Warning: mkdir() [
function.mkdir]: Permission denied in
/home/webs/affiliatelib2/CacheManager.php on line
12
Warning: mkdir() [
function.mkdir]: No such file or directory in
/home/webs/affiliatelib2/CacheManager.php on line
12
Warning: fopen(/home/templatecore2cache//*cluesnet.com/f6/f6ac77ca3ebd8f0e4dbdf81de33aa049b6975993.tc2cache) [
function.fopen]: failed to open stream: No such file or directory in
/home/webs/affiliatelib2/CacheManager.php on line
130
Warning: fwrite(): supplied argument is not a valid stream resource in
/home/webs/affiliatelib2/CacheManager.php on line
131
Warning: fclose(): supplied argument is not a valid stream resource in
/home/webs/affiliatelib2/CacheManager.php on line
132
MMX is a SIMD
instruction set designed by
Intel, introduced in 1997 in their
Pentium line of
microprocessors, designated as "Pentium with MMX Technology".http://www.bdti.com/procsum/mmx_pent.htmhttp://www.intel.com/design/intarch/mmx/mmx.htm It developed out of a similar unit first introduced on the Intel i860. It has been supported on most subsequent IA-32 processors by Intel and other vendors.
Intel's competitor AMD enhanced Intel's MMX with the 3DNow! instruction set to work with floating-point numbers. Intel would follow AMD's lead on floating-point math and create Streaming_SIMD_Extensions two years later.
Naming
MMX has been incorrectly said to stand for
MultiMedia eXtension or
Multiple Math or
Matrix Math eXtension, but officially it is a meaningless
initialism trademarked by Intel. (Note that Advanced Micro Devices, during one of its numerous court battles with Intel, produced marketing material from Intel indicating that MMX stood for "Matrix Math Extensions". The idea that it stands for nothing is an Intel corporate position meant to suggest that it is of trademarked status and cannot be used by AMD or other x86 clone manufacturers in their own marketing material.) Controversy brews over use of MMX moniker - Intel's multimedia extension - Industry Trend or Event
Technical details
MMX added 8 new processor register to the architecture, known as MM0 through MM7 (henceforth referred to as MMn). In reality, these new "registers" were just aliases for the existing x87
floating point unit stack registers. Hence, anything that was done to the floating point stack would also affect the MMX registers. Unlike the FP stack, these MMn registers were fixed, not relative, and therefore they were randomly accessible.
Each of the MMn registers is a 64-bit integer. However, one of the main concepts of the MMX instruction set is the concept of packed data types, which means instead of using the whole register for a single 64-bit integer (quadword), two 32-bit integers (doubleword), four 16-bit integers (word) or eight 8-bit integers (byte) may be used.
To simplify the design and to avoid modifying the operating system to preserve additional state through context switches, MMX re-uses the existing eight IA-32 FPU registers. This made it difficult to work with floating point and SIMD data at the same time. To maximize performance, programmers must use the processor exclusively in one mode or the other, deferring the relatively slow switch between them as long as possible.
Also because the MMX's 64-bit MMn registers are aliased to the FPU stack, and each of the stack registers is 80 bits wide, the upper 16 bits of the stack registers go unused in MMX, and these bits are set to all ones, which makes it look like NaN or infinities in the floating point view. This makes it easier to tell whether the work is on floating point data or MMX data.
Another problem for MMX is that it only provides integer operations. Each of the eight 64-bit MMX vector registers, aliased on the eight existing floating point registers, could represent two 32-bit
integers, four 16-bit short integers, or eight 8-bit chars. 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 fell out of favor and vectored-floating point became much more important. On the other hand, its new arithmetic operations did include saturation arithmetic operations, which could significantly speed up some digital signal processing applications.
Successor
Intel addressed the shortcomings of the MMX technology through
Streaming SIMD Extensions, a greatly expanded set of SIMD instructions with 32-bit floating point support and an additional set of 128-bit vector registers that made it easy to perform SIMD and FPU operations at the same time. SSE was in turn expanded with SSE2, which also extended MMX instructions so they can operate on 128-bit XMM registers (Later SSE extensions would still support operating integer data on MMX registers because the new SSE registers require OS support, until SSE4, which ended this support) and recently with SSSE3, introduced in the Intel Core microarchitecture. Support for any of these later instruction sets implies support for MMX.
MMX in embedded applications
Intel's XScale processors starting with PXA270 include an extension to the ARM core called
iwMMXt whose functions are similar to those of the
IA-32 MMX extension. IwMMXt stands for "Intel® Wireless MMX™ Technology". It provides arithmetic and logic operations on 64-bit integer numbers (the software may choose to instead perform two 32-bit, four 16-bit or eight 8-bit operations in a single instruction). The extension contains 16 data registers of 64-bits and 8 control registers of 32-bits. All registers are accessed through standard
ARM architecture coprocessor mapping mechanism. IwMMXt occupies coprocessors 0 and 1 space, and its opcodes coincide with the opcodes of an earlier floating-point extension,
FPA.
See also
References
External links
- Intel® Pentium Processor with MMX™ Technology Documentation
- The MMX Instruction Set from The Art of Assembly Language
- IA Software Developer's Manual, Vol 1 (PDF), see chapter 8 for MMX programming
MMX MOTOCROSS CHAMPIONSHIP HOME
home │ news │ team news │ 2008 results │ archive results │ calendar │ forms │ contacts │ galleries │ youth quad results
As part of the new look British 2008 MMX Championship News Page
The SUSO backed ACU MMX championships head east to Blaxhall Pits this weekend. Blaxhall has been a traditional part of the series for some years and the Woodbridge ...
MMX - Wikipedia, the free encyclopedia
MMX may refer to: MMX (instruction set), a single-instruction, multiple-data instruction set designed by Intel; Michelson-Morley Experiment, the 1887 experiment attempting to find ...
MMX (instruction set) - Wikipedia, the free encyclopedia
MMX is a single instruction, multiple data (SIMD) instruction set designed by Intel, introduced in 1997 in their Pentium line of microprocessors, designated as "Pentium with MMX ...
Intel® Pentium® Processors with MMX™ Technology for Embedded ...
Intel's applied computing roadmap includes Pentium(R) III, Celeron, Pentium II processors. Available in high-performance and low power.
Intel extends Wireless MMX | The Register
Related Whitepapers. Making Green IT a Reality Customer Perspectives on the Impact of Storage Vendor Decisions on Power, Cooling, & Space in Enterprise Data Centers; Solution Brief ...
Washbrook Farm Motocross
Washbrook Farm Motocross Track. We are a friendly family run business offering three practice tracks for youngsters to adults alike
MMX - Murchison Metals Ltd. - Google Finance
Get the latest on Murchison Metals Ltd. (MMX) including up to date news, high quality discussion groups and more on Google Finance.
MMX - Hutchinson encyclopedia article about MMX
In computing, umbrella name for improvements to the Intel Pentium line of processors in 1996, including 57 new instructions to handle multimedia and communications data.
MMX - What does MMX stand for? Acronyms and abbreviations by the Free ...
Acronym Definition; MMX: Multi-Media Extensions: MMX: Malmo, Sweden - Sturup (Airport Code) MMX: Matrix Math Extensions: MMX: MegamanX (video game) MMX: Michelson-Morley Experiment