IA-32

From Wikipedia, the free encyclopedia

Jump to: navigation, search

IA-32 (Intel Architecture, 32-bit), often generically called x86 or x86-32, is the instruction set architecture of Intel's most commercially successful microprocessors. It is a 32-bit extension, first implemented in the Intel 80386, of the earlier 16-bit Intel 8086, 80186 and 80286 processors and the common denominator for all subsequent x86 designs. This architecture defines the instruction set for the family of microprocessors installed in the vast majority of personal computers in the world.

The longevity is partially due to full backward compatibility and the architecture has also recently been extended to 64-bits, without breaking compatibility. This is now called Intel 64 by Intel (generically called x86-64) and is basically unrelated to the 64-bit IA-64 architecture implemented in Intel's Itanium 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 x86 microarchitectures such as K7, NetBurst, and newer, are often referred to as post-RISC processors.

Contents

[edit] History

The IA-32 instruction set was introduced in the Intel 80386 microprocessor in 1986 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 various programming 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 the VIA C3/C7 family of "pure" IA-32 devices, and AMD still produces the Geode line and mobile IA-32 processors. For a time Transmeta produced IA-32 processors.

In 2000, AMD announced a derivative of IA-32 called x86-64 (later renamed AMD64), which added 64-bit computing capabilities. This extended architecture was later also adopted by Intel with minor changes.

[edit] Succeeding architectures

[edit] IA-64

Intel's IA-64 ("Intel Architecture, 64-bit") architecture, launched in 1999, is not directly compatible with the IA-32 instruction set, despite having a similar name. It has completely different instruction set and uses a VLIW design instead of out-of-order execution. IA-64 is the architecture used by the Itanium line of processors. Itanium initially also included hardware-support for IA-32 emulation, but it was very slow. Intel shifted to the use of a software emulator instead.

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 calls

[edit] x86-64

[edit] AMD64

AMD's AMD64 instruction set, initially called x86-64 when it was announced in 2000, is a 64-bit extension to IA-32 and thus maintains the x86 family heritage. 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.

[edit] Intel 64

In 2004, Intel announced the EM64T ("Extended Memory 64 Technology") instruction set, formerly codenamed Yamhill or IA-32e, and later renamed Intel 64.[1] It was derived from AMD64 and is generally compatible with code written for AMD64, though it lacks some AMD64 features. Intel started using the set starting with the Xeon Nocona core in late 2004, introducing it to the desktop market with the Pentium 4 E0 revision in early 2005.

[edit] See also

[edit] References

  1. ^ "What is EM64T (Intel 64)?". www.tech-faq.com. http://www.tech-faq.com/em64t.shtml. Retrieved on 2009-03-06. 

[edit] External links

Personal tools