fbpx
Wikipedia

IA-32

IA-32 (short for "Intel Architecture, 32-bit", commonly called i386[1][2])[3] is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of x86 that supports 32-bit computing;[4] as a result, the "IA-32" term may be used as a metonym to refer to all x86 versions that support 32-bit computing.[5][6]

Within various programming language directives, IA-32 is still sometimes referred to as the "i386" architecture. In some other contexts, certain iterations of the IA-32 ISA are sometimes labelled i486, i586 and i686, referring to the instruction supersets offered by the 80486, the P5 and the P6 microarchitectures respectively. These updates offered numerous additions alongside the base IA-32 set including floating-point capabilities and the MMX extensions.

Intel was historically the largest manufacturer of IA-32 processors, with the second biggest supplier having been AMD. During the 1990s, VIA, Transmeta and other chip manufacturers also produced IA-32 compatible processors (e.g. WinChip). In the modern era, Intel still produced IA-32 processors under the Intel Quark microcontroller platform until 2019; however, since the 2000s, the majority of manufacturers (Intel included) moved almost exclusively to implementing CPUs based on the 64-bit variant of x86, x86-64. x86-64, by specification, offers legacy operating modes that operate on the IA-32 ISA for backwards compatibility. Even given the contemporary prevalence of x86-64, as of 2018, IA-32 protected mode versions of many modern operating systems are still maintained, e.g. Microsoft Windows (until Windows 10; Windows 11 requires x86-64-compatible processor for x86 versions)[7] and the Debian Linux distribution.[8] In spite of IA-32's name (and causing some potential confusion), the 64-bit evolution of x86 that originated out of AMD would not be known as "IA-64", that name instead belonging to Intel's Itanium architecture.

Architectural features

The primary defining characteristic of IA-32 is the availability of 32-bit general-purpose processor registers (for example, EAX and EBX), 32-bit integer arithmetic and logical operations, 32-bit offsets within a segment in protected mode, and the translation of segmented addresses to 32-bit linear addresses. The designers took the opportunity to make other improvements as well. Some of the most significant changes (relative to the 16-bit 286 instruction set) are described below.

32-bit integer capability
All general-purpose registers (GPRs) are expanded from 16 bits to 32 bits, and all arithmetic and logical operations, memory-to-register and register-to-memory operations, etc., can operate directly on 32-bit integers. Pushes and pops on the stack default to 4-byte strides, and non-segmented pointers are 4 bytes wide.
More general addressing modes
Any GPR can be used as a base register, and any GPR other than ESP can be used as an index register, in a memory reference. The index register value can be multiplied by 1, 2, 4, or 8 before being added to the base register value and displacement.
Additional segment registers
Two additional segment registers, FS and GS, are provided.
Larger virtual address space
The IA-32 architecture defines a 48-bit segmented address format, with a 16-bit segment number and a 32-bit offset within the segment. Segmented addresses are mapped to 32-bit linear addresses.
Demand paging
32-bit linear addresses are virtual addresses rather than physical addresses; they are translated to physical addresses through a page table. In the 80386, 80486, and the original Pentium processors, the physical address was 32 bits; in the Pentium Pro and later processors, the Physical Address Extension allowed 36-bit physical addresses, although the linear address size was still 32 bits.

Operating modes

Operating mode Operating system required Type of code being run Default address size Default operand size Typical GPR width
Protected mode 32-bit operating system or boot loader 32-bit protected-mode code 32 bits 32 bits 32 bits
16-bit protected-mode operating system or boot loader, or 32-bit boot loader 16-bit protected-mode code 16 bits 16 bits 16 or 32 bits
Virtual 8086 mode 16- or 32-bit protected-mode operating system 16-bit real-mode code 16 bits 16 bits 16 or 32 bits
Real mode 16-bit real-mode operating system or boot loader, or 32-bit boot loader 16-bit real-mode code 16 bits 16 bits 16 or 32 bits
Unreal mode 16-bit real-mode operating system or boot loader, or 32-bit boot loader 16-bit real-mode code 32 bits 16 bits 16 or 32 bits

See also

References

  1. ^ . BSD General Commands Manual. Apple. December 19, 2008. Archived from the original on June 2, 2012. Retrieved August 3, 2013. Thin Universal binaries to the specified architecture [...] should be specified as "i386", "x86_64", etc.
  2. ^ "Additional Predefined Macros". software.intel.com. Intel. from the original on February 15, 2021. Retrieved November 25, 2020.
  3. ^ Kemp, Steve. "Running 32-bit Applications on 64-bit Debian GNU/Linux". Debian Administration. from the original on September 16, 2013. Retrieved August 31, 2013.
  4. ^ "Intel 64 and IA-32 Architectures Software Developer's Manual". Intel Corporation. September 2014. p. 31. from the original on January 26, 2012. Retrieved December 19, 2014. The Intel386 processor was the first 32-bit processor in the IA-32 architecture family. It introduced 32-bit registers for use both to hold operands and for addressing.
  5. ^ Green, Ronald W. (May 5, 2009). "What do IA-32, Intel 64 and IA-64 Architecture mean?". software.intel.com. Intel. from the original on December 19, 2014. Retrieved December 19, 2014.
  6. ^ "Supported Hardware". Ubuntu Help. Canonical. Archived from the original on December 19, 2014. Retrieved August 31, 2013.
  7. ^ "Windows 10 System Requirements & Specifications | Microsoft". www.microsoft.com. from the original on May 1, 2018. Retrieved August 20, 2018.
  8. ^ "Debian GNU/Linux on x86 Machines". from the original on April 28, 2019. Retrieved August 20, 2020.

this, article, about, generation, intel, microprocessor, architecture, architecture, general, short, intel, architecture, commonly, called, i386, version, instruction, architecture, designed, intel, first, implemented, 80386, microprocessor, 1985, first, incar. This article is about the 32 bit generation of Intel microprocessor architecture For the x86 architecture in general see x86 IA 32 short for Intel Architecture 32 bit commonly called i386 1 2 3 is the 32 bit version of the x86 instruction set architecture designed by Intel and first implemented in the 80386 microprocessor in 1985 IA 32 is the first incarnation of x86 that supports 32 bit computing 4 as a result the IA 32 term may be used as a metonym to refer to all x86 versions that support 32 bit computing 5 6 Within various programming language directives IA 32 is still sometimes referred to as the i386 architecture In some other contexts certain iterations of the IA 32 ISA are sometimes labelled i486 i586 and i686 referring to the instruction supersets offered by the 80486 the P5 and the P6 microarchitectures respectively These updates offered numerous additions alongside the base IA 32 set including floating point capabilities and the MMX extensions Intel was historically the largest manufacturer of IA 32 processors with the second biggest supplier having been AMD During the 1990s VIA Transmeta and other chip manufacturers also produced IA 32 compatible processors e g WinChip In the modern era Intel still produced IA 32 processors under the Intel Quark microcontroller platform until 2019 however since the 2000s the majority of manufacturers Intel included moved almost exclusively to implementing CPUs based on the 64 bit variant of x86 x86 64 x86 64 by specification offers legacy operating modes that operate on the IA 32 ISA for backwards compatibility Even given the contemporary prevalence of x86 64 as of 2018 IA 32 protected mode versions of many modern operating systems are still maintained e g Microsoft Windows until Windows 10 Windows 11 requires x86 64 compatible processor for x86 versions 7 and the Debian Linux distribution 8 In spite of IA 32 s name and causing some potential confusion the 64 bit evolution of x86 that originated out of AMD would not be known as IA 64 that name instead belonging to Intel s Itanium architecture Contents 1 Architectural features 2 Operating modes 3 See also 4 ReferencesArchitectural features EditThe primary defining characteristic of IA 32 is the availability of 32 bit general purpose processor registers for example EAX and EBX 32 bit integer arithmetic and logical operations 32 bit offsets within a segment in protected mode and the translation of segmented addresses to 32 bit linear addresses The designers took the opportunity to make other improvements as well Some of the most significant changes relative to the 16 bit 286 instruction set are described below 32 bit integer capability All general purpose registers GPRs are expanded from 16 bits to 32 bits and all arithmetic and logical operations memory to register and register to memory operations etc can operate directly on 32 bit integers Pushes and pops on the stack default to 4 byte strides and non segmented pointers are 4 bytes wide More general addressing modes Any GPR can be used as a base register and any GPR other than ESP can be used as an index register in a memory reference The index register value can be multiplied by 1 2 4 or 8 before being added to the base register value and displacement Additional segment registers Two additional segment registers FS and GS are provided Larger virtual address space The IA 32 architecture defines a 48 bit segmented address format with a 16 bit segment number and a 32 bit offset within the segment Segmented addresses are mapped to 32 bit linear addresses Demand paging 32 bit linear addresses are virtual addresses rather than physical addresses they are translated to physical addresses through a page table In the 80386 80486 and the original Pentium processors the physical address was 32 bits in the Pentium Pro and later processors the Physical Address Extension allowed 36 bit physical addresses although the linear address size was still 32 bits Operating modes EditOperating mode Operating system required Type of code being run Default address size Default operand size Typical GPR widthProtected mode 32 bit operating system or boot loader 32 bit protected mode code 32 bits 32 bits 32 bits16 bit protected mode operating system or boot loader or 32 bit boot loader 16 bit protected mode code 16 bits 16 bits 16 or 32 bitsVirtual 8086 mode 16 or 32 bit protected mode operating system 16 bit real mode code 16 bits 16 bits 16 or 32 bitsReal mode 16 bit real mode operating system or boot loader or 32 bit boot loader 16 bit real mode code 16 bits 16 bits 16 or 32 bitsUnreal mode 16 bit real mode operating system or boot loader or 32 bit boot loader 16 bit real mode code 32 bits 16 bits 16 or 32 bitsSee also Editx86 64 IA 64 List of former IA 32 compatible processor manufacturers Transient execution CPU vulnerabilityReferences Edit DITTO BSD General Commands Manual Apple December 19 2008 Archived from the original on June 2 2012 Retrieved August 3 2013 Thin Universal binaries to the specified architecture should be specified as i386 x86 64 etc Additional Predefined Macros software intel com Intel Archived from the original on February 15 2021 Retrieved November 25 2020 Kemp Steve Running 32 bit Applications on 64 bit Debian GNU Linux Debian Administration Archived from the original on September 16 2013 Retrieved August 31 2013 Intel 64 and IA 32 Architectures Software Developer s Manual Intel Corporation September 2014 p 31 Archived from the original on January 26 2012 Retrieved December 19 2014 The Intel386 processor was the first 32 bit processor in the IA 32 architecture family It introduced 32 bit registers for use both to hold operands and for addressing Green Ronald W May 5 2009 What do IA 32 Intel 64 and IA 64 Architecture mean software intel com Intel Archived from the original on December 19 2014 Retrieved December 19 2014 Supported Hardware Ubuntu Help Canonical Archived from the original on December 19 2014 Retrieved August 31 2013 Windows 10 System Requirements amp Specifications Microsoft www microsoft com Archived from the original on May 1 2018 Retrieved August 20 2018 Debian GNU Linux on x86 Machines Archived from the original on April 28 2019 Retrieved August 20 2020 Retrieved from https en wikipedia org w index php title IA 32 amp oldid 1127816113, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.