Thursday 22 October 2015

Remembering… MMX Processors

MMX Processor

David Hayward tries to understand Intel’s abbreviations

Just as the computing world was getting used to the high clock speeds of the DX range of Intel processors, there came a point early in 1997, when adverts in magazines and on the TV announced the next generation of CPU: the MMX.


No doubt you recall the dancing Intel engineers in their hazmat (Bunny People) suits, grooving along to the Bee-Gees, with narration from the legendary Casey Kasem? Well, if you do, then you’ll probably also remember that the MMX processor was hailed as the greatest advance in home computing ever, with support for better video, improved gaming, faster processing and a better cache to handle all these ultra-new instructions.

Ranging in speeds from 133MHz through to a massive (for the time) 233MHz, the Pentium MMX was the bee’s knees. Indeed, Intel’s fifth-generation processor certainly had everyone in a fever over the amount of transistors it had compared to the previous generation of processors, and the enhancements we were led to believe it would offer.

Here’s where things get a little confusing for us. See, after all this time, our recollection of the numbers involved is a little hazy, and so it would seem online as well. There are sites that say the MMX CPU had 52 (which is what we initially thought) added enhancements, others say 54, 57 and even 64. Furthermore, there’s some argument over what MMX actually stood for. We always thought it was Multi-Media eXtensions, but others seems to claim it was actually Multiple Math eXtension, Matrix Math eXpansion and even Massive Media eXpression (which is a new one to us).

Its History

The original Pentium was released in 1993, combining the suffix ‘–ium’, to make it sound like an element, with ‘pent-‘ meaning five, because it was the fifth generation of processors.

As the Pentium gained ground in the home computer market, Intel started to experiment with extending its capabilities, and thanks to the new generation of multimedia applications and the PC becoming more of a gaming and entertainment base, the MMX element was a natural evolution.

The P55C was the first processor with the MMX enhancements, which continued with more modern processors, until it was eventually overtaken by SSE (Streaming SIMD Extensions).

The processors speeds were the fastest around, but more notable was the doubling of the L1 cache to 32KB. This is one of the main reasons the MMX performed as well as it did, at least until the Pentium M upped the game with a 64KB L1 cache.

Of course, the MMX side wasn’t any use without the software written specifically for its use. Uptake was slow to begin with, but soon enough, and thanks to Intel not creating new MMX CPU registers, the developers caught up.

Interestingly, the MMX processing side was handled by allowing the enhancements to borrow from the CPU’s floating point calculations. It worked, but in order to do so, the processor had to be switched from floating point mode to MMX mode, which took around 50 clock cycles. That meant developers had to limit the number of floating point entries to make better use of MMX in favour of processing speed.

The Good

Faster processors, better cache and media enhancements.

The Bad

Expensive to begin with, and all these new enhancements were a little confusing.

Conclusion

Although to the processor engineer MMX seemed to be flawed due to its design, it did the job exceedingly well – enough to catapult Intel into the lead when it came to home computing.

Did You Know?
• AMD developed its own improvement to MMX, called 3DNow!
• According to the internet, MMX is officially a meaningless initialism trademarked by Intel.
• One of the main enhancements that MMX brought was Saturation Arithmetic, used in modern graphics routines.
• Some early P55C processors failed to switch out of MMX mode to floating point, so after playing a game and going into a spreadsheet, you’d find your PC slowing to a crawl.