X86: Difference between revisions
imported>Pat Palmer No edit summary |
imported>Troy Martin (started "Modes of Operation", explained a bit about the x86 registers.) |
||
(15 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{subpages}} | |||
The x86 instruction set | {{Image|8088CPU1978.jpg|right|200px|The Intel 8088 processor, as a ceramic 40-pin Dual Inline Package (DIP) chip}} | ||
'''x86''' is the [[instruction set architecture]] (ISA) for the [[Intel 8086]] and [[Intel 8088|8088]] chips, 16-bit microprocessors first produced in 1978 and 1979, respectively, and their descendants. | |||
<ref name="Intel Museum">{{cite web|url=http://www.intel.com/museum/online/hist_micro/hof/index.htm|title="Intel Museum: The Microprocessor Hall of Fame"|accessdate=2007-04-09 }}</ref> The cheaper 8088 chip (which contained an 8-bit multiplexed data bus, as opposed to a full 16-bit bus in the 8086) was used in the very first incarnation of an [[IBM compatible PC]], the [[IBM PC 5150]] in 1981. The term "x86" is also used colloquially to describe the entire line of processors that are based on this chipset, e.g. the [[Intel 80286|286]], [[Intel 80386|386]], [[Intel 80486|486]], etc. | |||
The x86 has 8 16-bit general-purpose registers, one of which is used for the stack. They are AX, BX, CX, DX, SI, DI, SP, and BP. The 386 and higher allow the registers to be extended to a 32-bit width by prepending the register name with the letter E, and to 64 bits under an x86-64 processor by prepending the name with the letter R. | |||
==Modes of Operation== | |||
The 8086/88 and the [[Intel 80186|80186]]/[[Intel 80188|88]] operated solely in the 16-bit real mode. Programmers in real mode had control over the entire 1 MB address space using [[memory segmentation]], a technique that included the use of two 16-bit registers, each with a maximum value of 65,536, and simple multiplication to address up to 1 MB. The segment, the first number in the segment:offset pair, was multiplied by 16 and added to the offset, the second number. | |||
This decision to maintain backward compatibility of hardware and software laid the groundwork for the subsequent success of the x86 family of microprocessors, and the IBM compatible | With the advent of the 286 came 16-bit [[protected mode]]. This protected execution system could prevent users from messing with specific part of memory through the [[Global Descriptor Table]], yet allowing a 24-bit address space to be used, allowing a maximum memory size of 16 MB. | ||
The 386 introduced true 32-bit protected mode operation, along with the [[TSS]], a 32-bit flat 4 GB address space, 32-bit registers to allow complete addressing without need for segmentation, [[memory paging]], and more. User mode, also known as "ring 3", protects the programs in memory and the computer from the programmer and user, and vice-versa. The [[operating system]] [[kernel]] can initiate by a far call using a GDT selector, can limit memory size, offset, and length, as well as read, write, and execute permissions. The ISA that the 386 introduced with the 32-bit features is commonly known as IA-32. | |||
==Success== | |||
The x86 instruction set achieved historic status due to a remarkable decision, made jointly by the designers of the original IBM compatible PC. They decided to maintain backward compatibility in both software and hardware, and to maintain it ''indefinitely'', Thus, all subsequent "Intel" processor chips in the x86 family would always execute the original x86 instructions, and all subsequent Microsoft operating systems would execute programs which ran on the original IBM PC. This agreement has stayed in effect from the introduction of the PC to the present time, a remarkable collaboration involving many different companies who came to manufacture hardware associated with IBM compatible PCs, including x86-compatible processors from non-Intel companies such as [[AMD]]. | |||
This decision to maintain backward compatibility of hardware and software laid the groundwork for the subsequent success of the x86 family of microprocessors, and the [[IBM compatible PC]]s which contain them. | |||
==References== | ==References== | ||
<references/> | <references/> | ||
Latest revision as of 13:55, 7 July 2009
x86 is the instruction set architecture (ISA) for the Intel 8086 and 8088 chips, 16-bit microprocessors first produced in 1978 and 1979, respectively, and their descendants. [1] The cheaper 8088 chip (which contained an 8-bit multiplexed data bus, as opposed to a full 16-bit bus in the 8086) was used in the very first incarnation of an IBM compatible PC, the IBM PC 5150 in 1981. The term "x86" is also used colloquially to describe the entire line of processors that are based on this chipset, e.g. the 286, 386, 486, etc.
The x86 has 8 16-bit general-purpose registers, one of which is used for the stack. They are AX, BX, CX, DX, SI, DI, SP, and BP. The 386 and higher allow the registers to be extended to a 32-bit width by prepending the register name with the letter E, and to 64 bits under an x86-64 processor by prepending the name with the letter R.
Modes of Operation
The 8086/88 and the 80186/88 operated solely in the 16-bit real mode. Programmers in real mode had control over the entire 1 MB address space using memory segmentation, a technique that included the use of two 16-bit registers, each with a maximum value of 65,536, and simple multiplication to address up to 1 MB. The segment, the first number in the segment:offset pair, was multiplied by 16 and added to the offset, the second number.
With the advent of the 286 came 16-bit protected mode. This protected execution system could prevent users from messing with specific part of memory through the Global Descriptor Table, yet allowing a 24-bit address space to be used, allowing a maximum memory size of 16 MB.
The 386 introduced true 32-bit protected mode operation, along with the TSS, a 32-bit flat 4 GB address space, 32-bit registers to allow complete addressing without need for segmentation, memory paging, and more. User mode, also known as "ring 3", protects the programs in memory and the computer from the programmer and user, and vice-versa. The operating system kernel can initiate by a far call using a GDT selector, can limit memory size, offset, and length, as well as read, write, and execute permissions. The ISA that the 386 introduced with the 32-bit features is commonly known as IA-32.
Success
The x86 instruction set achieved historic status due to a remarkable decision, made jointly by the designers of the original IBM compatible PC. They decided to maintain backward compatibility in both software and hardware, and to maintain it indefinitely, Thus, all subsequent "Intel" processor chips in the x86 family would always execute the original x86 instructions, and all subsequent Microsoft operating systems would execute programs which ran on the original IBM PC. This agreement has stayed in effect from the introduction of the PC to the present time, a remarkable collaboration involving many different companies who came to manufacture hardware associated with IBM compatible PCs, including x86-compatible processors from non-Intel companies such as AMD.
This decision to maintain backward compatibility of hardware and software laid the groundwork for the subsequent success of the x86 family of microprocessors, and the IBM compatible PCs which contain them.
References
- ↑ "Intel Museum: The Microprocessor Hall of Fame". Retrieved on 2007-04-09.