Although there are three basic distinctions of IA-16 – the now-ubiquitous IA-32 and x86-64 – this doesn’t make IA-32 a closed standard that can’t be changed; it simply means that it’s backwards compatible. IA-32 has continually evolved, with additional instructions to take advantage of new processor features and cope with changes in software trends.
The most well known of these instructions are the SIMD (streaming instruction, multiple data) extensions, which started with the MMX Pentiums released in 1997. Most people took MMX to mean MultiMedia eXtensions, although Intel has always denied this.
The addition of MMX introduced new larger 64-bit registers to the processor, which were able to hold more than one value – two 32-bit numbers, or four 16-bit or eight 8-bit values. MMX would then allow a single instruction to operate on all of the numbers in the register simultaneously. This theoretically provides a speed boost of up to eight times for ‘data parallel’ tasks such as media encoding.
AMD later responded to MMX – the functions of which it had to incorporate into its processors to keep pace with Intel – by building 3DNow! extensions into later versions of its K6 processor (which was by then competing with Intel’s Pentium II). 3DNow! was capable of everything of which MMX was capable, but allowed the MMX instructions to operate on floating-point numbers (fractional numbers with a decimal point) as well
as whole integers.
A game of cat and mouse ensued over the next few years. Intel produced the next set of extensions and dubbed them SSE (streaming SIMD extensions), and AMD responded with additional 3DNow! extensions. The recent release of Intel’s modern 45nm Core 2 CPUs brought SSE4 to the table, and AMD has its own variant, SSE4a, found in the current Phenom range.
Fastest, cheapest 3G mobile broadband dongles from 3, Vodafone, T-Mobile and Orange
from just £10/month