X86: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Pat Palmer
mNo edit summary
imported>Troy Martin
(started "Modes of Operation", explained a bit about the x86 registers.)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''x86''' is an [[instruction set architecture]] (ISA) designed for the Intel 8086 microprocessor, an 16-bit chip which was first produced in 1978<ref name="Intel Museum">{{cite web
{{subpages}}
|url="http://www.intel.com/museum/online/hist_micro/hof/index.htm"|title="Intel Museum: The Microprocessor Hall of Fame"|retrievedate=2007-04-09}}</ref>  The 8088, a direct descendant of this chip (an 8-bit data bus was added to the 8086) is notable for being the chip used in the very first [[IBM PC]], which was first sold beginning in 1983. The 8086 would later come to be called the "186" in Intel's long line of processors.<ref name="Intel Museum"/>


Remarkably, around this time Intel and Microsoft jointly made a decision to maintain [[backward compatibility]] in both hardware and software, with the result that all subsequent "Intel" processor chips could always execute the original '''x86''' instructions. This agreement would later have a profound impact on the Personal Computer industry, and came to be known as the "WinTel" agreement.  
{{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.


Furthermore, this joint decision meant that any program which ran on the original Microsoft DOS operating system, whose hardware platform was always guaranteed to be x86, continued to execute successfully on later versions of Microsoft operating systems.
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.


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.
==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.
 
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/>
[[Category:CZ Live]]
[[Category:Computers Workgroup]]

Latest revision as of 14:55, 7 July 2009

This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.
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 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