- IA-32
IA-32 ("Intel Architecture, 32-bit"), often generically called "
x86 " or "x86-32", is theinstruction set architecture ofIntel 's most commercially successfulmicroprocessor s. It is a32-bit extension, first implemented in theIntel 80386 , of the earlier16-bit Intel 8086, 80186 and 80286 processors and the common denominator for all subsequent "x86" designs. This architecture defines theinstruction set for the family of microprocessors installed in the vast majority ofpersonal computer s in the world.The longevity is partially due to full backward compatibility and the architecture has also recently been extended to
64-bit s, without breaking compatibility. This is now calledIntel 64 by Intel (generically called "x86-64") and is basically unrelated to the64-bit IA-64 architecture implemented in Intel'sItanium series.The IA-32 instruction set is usually described as a CISC (
Complex Instruction Set Computer ) architecture, though such classifications have become less meaningful with advances in microprocessor design. Modern x86microarchitecture s such as K7,NetBurst , and newer, are often referred to as post-RISC processors.History
The IA-32 instruction set was introduced in the
Intel 80386 microprocessor in1985 and remains the basis of most PC microprocessors over twenty years later. Even though the instruction set has remained intact, the successive generations of microprocessors that run it have become much faster. Within variousprogramming language directives, IA-32 is still sometimes referred to as the "i386" architecture.Intel was the inventor and is the biggest supplier of IA-32 processors, but it is not the only supplier. The second biggest supplier is AMD. There are other suppliers, but their volumes are small. As of 2007, Intel is moving to x86-64, but still produces IA-32 processors such as
Celeron M for laptops.VIA Technologies continues to produce theVIA C3 /C7 family of "pure" IA-32 devices, and AMD still produces the Geode line and mobile IA-32 processors. For a timeTransmeta produced IA-32 processors.The IA-32 architecture was expanded by AMD in 2003 to natively support 64 bits, creating a new derivative
x86-64 architecture. The first family of processors to support this architecture, which AMD calls AMD64, was theAMD K8 family of processors. This was the first time any company other than Intel made significant additions to the IA-32 architecture. Intel was forced to follow suit, introducing modifiedNetBurst family processors, initially referred to as "IA-32e" or "EM64T" and now called Intel 64 and almost identical to AMD64. x86-64 is backwards compatible with 32-bit code without any performance loss. For example, The Developers Manuals available from Intel on the IA-32 architecture refer to IA-32 and IA-32e in tandem.ucceeding architectures
The original IA-32 instruction set has been evolved over time with the addition of the matrix maths instruction updates. Many new architectures, including 64-bit ones, have since succeeded IA-32. However, the ultimate evolution of IA-32 was when it was extended again to 64-bits, but of course at that point it cannot be called IA-32 anymore; the 64-bit extension is called
x86-64 . It could not be calledIA-64 as Intel had already used this label for theItanium design (a design which is not really an evolution of the IA-32 architecture). AMD's AMD64 was the first x86-64 instruction set designed. Later, Intel followed by imitating AMD's design with what they call Intel 64 (formerly IA-32e and EM64T).IA-64
Intel's IA-64 architecture is not directly compatible with the IA-32 instruction set, despite having a similar name. It completely discards all IA-32 instructions, and starts from scratch with a completely different instruction set as well as using a VLIW design instead of
out-of-order execution . IA-64 is the architecture used by theItanium line of processors. Itanium initially had hardware-support for IA-32, but it was very slow. Intel shifted to the use of a softwareemulator instead. The nomenclature "IA-64" means "Intel Architecture, 64-bit", but the connection with IA-32 is only in the name.Further improvements are:
* Sixteen times the number of general purpose registers (now 128)
* Sixteen times the number of floating point registers (now 128)
* Register rotation mechanism to keep values in registers over function callsAMD64
AMD 's AMD64 instruction set, initially called x86-64, is largely built on top of IA-32, and thus maintains thex86 family heritage, despite having a different name. While extending the instruction set, AMD took the opportunity to clean up some of the odd behavior of this instruction set that has existed since its earliest 16-bit days, while the processor is operating in 64-bit mode.Further improvements are:
* Two times the number of general purpose registers (now 16)
* Two times the number of SSE registers (now 16)
* The general purpose registers are now truly general-purpose registers and are no longer restricted.
* Most of the functionality of the segment registers has been deprecated, since their usage has steadily declined even during the IA-32 days.Intel 64
By February 2004, Intel announced the Intel 64 instruction set, formerly known as
Yamhill . It was derived from AMD's AMD64. Intel 64 is generally compatible with code written for the AMD64, though it lacks some AMD64 features. Intel started using the set starting with theXeon Nocona core in late 2004, introducing it to the desktop market with thePentium 4 E0 revision in early 2005.ee also
*
x86
*Wintel
*IA-64
*x86-64 (AMD's "AMD64" and Intel's "Intel64")
*List of AMD microprocessors
*List of Intel microprocessors
*IA-4
*IA-8
*IA-16
*Intel P6
*NetBurst
*Intel Core microarchitecture
*Microarchitecture External links
* [http://developer.intel.com/products/processor/manuals/index.htm Free IA-32 documentation] , provided by Intel
* [http://siyobik.info/index.php?module=x86 IA-32 Instruction Set Reference] , HTML/non-PDF version
Wikimedia Foundation. 2010.