FACTOID # 22: South Dakota has the highest employment ratio in America, but the lowest median earnings of full-time male employees.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Intel x86

x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. Microprocessors, including an Intel 80486DX2 and an Intel 80386 A microprocessor (abbreviated as µP or uP) is an electronic computer central processing unit (CPU) made from miniaturized transistors and other circuit elements on a single semiconductor integrated circuit (IC) (aka microchip or just chip). ... Intel Corporation (NASDAQ: INTC) (founded 1968) is a US-based multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ...


The architecture is called x86 because the earliest processors in this family were identified only by numbers ending in the sequence "86": the 8086, the 80186, the 80286, the 386, and the 486. Because one cannot trademark numbers, Intel and most of its competitors began to use trademarkable names such as Pentium for subsequent generations of processors, but the earlier naming scheme has stuck as a term for the entire family. Intel now refers to x86 as IA-32, an abbreviation for Intel Architecture, 32-bit. The 8086 is a 16-bit microprocessor chip designed by Intel in 1978, which gave rise to the x86 architecture. ... The 80186 is a microprocessor that was developed by Intel circa 1982. ... The Intel 80286 is an x86-family 16-bit microprocessor that was introduced by Intel on February 1, 1982. ... An Intel 80386 Microprocessor The Intel 80386 is a microprocessor which was used as the central processing unit (CPU) of many personal computers from 1986 until 1994 and later. ... Intel i486 DX2- top view The Intel i486 (also called 486 or 80486) is a range of Intel CISC microprocessors which is part of the Intel x86 family of processors. ... Pentium MMX - top view The Pentium is a fifth-generation x86 architecture microprocessor by Intel which first shipped on March 22, 1993. ... IA-32, sometimes generically called x86 or even x86-32. ...

Contents

History

The x86 architecture first appeared inside the Intel 8086 CPU in 1978; the 8086 was a development of the 8008 processor (which itself followed the 4004). It was adopted (in the simpler 8088 version) three years later as the standard CPU of the IBM PC. The ubiquity of the PC platform has resulted in the x86 becoming one of the most successful CPU architectures ever. The 8086 is a 16-bit microprocessor chip designed by Intel in 1978, which gave rise to the x86 architecture. ... The central processing unit (CPU) is the part of a computer that interprets and carries out the instructions contained in the software. ... Events January January 1 - The Copyright Act of 1976 takes effect, making sweeping changes to United States copyright law. ... Intel 8008 The Intel 8008 was an early microprocessor designed and manufactured by Intel, and introduced in April, 1972. ... The Intel 4004, a 4-bit CPU, was the worlds first single-chip microprocessor, as well as the first commercial one. ... The Intel 8088 is an Intel microprocessor based on the 8086, with 16-bit registers and an 8-bit external data bus. ... IBM PC (IBM 5150) with keyboard and green screen monochrome monitor (IBM 5151), running MS-DOS 5. ...


Other companies also manufacture or have manufactured CPUs conforming to the x86 architecture: examples include Cyrix (now owned by VIA Technologies), NEC Corporation, IBM, IDT, and Transmeta. The most successful of the clone manufacturers has been AMD, whose Athlon series is a close second to the Pentium series for popularity. The central processing unit (CPU) is the part of a computer that interprets and carries out the instructions contained in the software. ... CPU manufacturer Cyrix began in 1988 as a specialist manufacturer of high-performance maths co-processors for 286 and 386 systems. ... VIA Technologies is a Taiwanese manufacturer of integrated circuits, mainly motherboard chipsets, CPUs, and memory, and is part of the Formosa Plastics group. ... NEC Corporation is a multi-national information technologies company headquarterd in Minato-ku, Tokyo, Japan. ... International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ... IDT was founded in 1980 as a semiconductor vendor. ... Transmeta (NASDAQ: TMTA) was founded in 1995 by Dave Ditzel as a US-based corporation that designed VLIW code morphing microprocessors. ... Advanced Micro Devices, Inc. ... Athlon is the brand name applied to a series of different x86 processors designed and manufactured by AMD. The original Athlon, or Athlon Classic, was the first seventh-generation x86 processor and, in a first, retained the initial performance lead it had over Intels competing processors for a significant... Pentium MMX - top view The Pentium is a fifth-generation x86 architecture microprocessor by Intel which first shipped on March 22, 1993. ...


The 8086 was a 16-bit processor; the architecture remained 16-bit until 1985, when the 32-bit 80386 was developed. Subsequent processors represented refinements of the 32-bit architecture, introducing various extensions, until in 2003 AMD developed a 64-bit extension to the architecture in the form of the AMD64 standard, introduced with the Opteron processor family, which was also adopted a few years later (under a different name) in a new generation of Intel Pentiums. In computer science, 16-bit is an adjective used to describe integers that are at most two bytes wide, or to describe CPU architectures based on registers, address buses, or data buses of that size. ... 1985 is a common year starting on Tuesday of the Gregorian calendar. ... The Intel 80386 is a microprocessor which was used as the central processing unit (CPU) of many personal computers from 1986 until 1994 and later. ... The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... The AMD Opteron is the first eighth-generation x86 processor (K8 core), and the first of AMDs AMD64 (x86-64) processors, released April 22, 2003. ...


Note that Intel also introduced a separate 64-bit architecture used in its Itanium processors which it calls IA-64 or more recently IPF (Itanium Processor Family). IA-64 is a completely new system that bears no resemblance whatsoever to the x86 architecture; it should not be confused with IA-32, which is essentially synonymous with x86. In computing, the Itanium is an IA-64 microprocessor developed jointly by Hewlett-Packard and Intel. ... In computing, IA-64 (Instruction Architecture-64) is a 64-bit processor architecture developed in cooperation by Intel and Hewlett-Packard for processors such as Itanium and Itanium 2. ... IA-32, sometimes generically called x86 or even x86-32. ...


Design

The x86 architecture is essentially CISC with variable instruction length. Word sized memory access is allowed to unaligned memory addresses. Words are stored in the little-endian order. Backwards compatibility has always been a driving force behind the development of the x86 architecture (the design decisions this has required are often criticised, particularly by proponents of competing processors, who are frustrated by the continued success of an architecture widely perceived as quantifiably inferior). Modern x86 processors translate the x86 instruction set to more RISC-like micro-instructions upon which modern micro-architectural techniques can be applied. A Complex Instruction Set Computer (CISC) is an instruction set architecture (ISA) in which each instruction can indicate several low-level operations, such as a load from memory, an arithmetic operation, and a memory store, all in a single instruction. ... When integers or any other data are represented with multiple bytes, there is no unique way of ordering of those bytes in memory or in a transmission over some medium, and so the order is subject to arbitrary convention. ... Reduced Instruction Set Computing, is a Microprocessor CPU design philosophy that favors a smaller and simpler set of instructions that all take about the same amount of time to execute. ...


Note that the names for instructions and registers (mnemonics) that appear in this brief review are the ones specified in Intel documentation and used by Intel (and compatible, eg. Microsoft's MASM, Borland's TASM, CAD-UL's as386, etc.) assemblers. An instruction that is specified in the Intel syntax by mov al, 30h is equivalent to AT&T-syntax movb $0x30, %al, and both translate to the two bytes of machine code B0 30 (hexadecimal). You can see that there is no trace left in this code of either "mov" or "al", which are the original Intel mnemonics. If we wanted, we could write an assembler that would produce the same machine code from the command "move immediate byte hexadecimally encoded 30 into low half of the first register". However, the convention is to stick to Intel's original mnemonics. A mnemonic (AmE [] or BrE []) is a memory aid. ... In mathematics, hexadecimal or simply hex is a numeral system with a radix or base of 16 usually written using the symbols 0–9 and A–F or a–f. ...


The x86 assembly language is discussed in more detail in the x86 assembly language article. Assembly language or simply assembly is a human-readable notation for the machine language that a specific computer architecture uses. ... x86 assembly language is the assembly language for the x86 class of processors, which includes Intels Pentium series and AMDs Athlon series. ...


Real mode

Intel 8086 and 8088 had 14 16-bit registers. Four of them (AX, BX, CX, DX) were general purpose (although each had also an additional purpose; for example only CX can be used as a counter with the loop instruction). Each could be accessed as two separate bytes (thus BX's high byte can be accessed as BH and low byte as BL). In addition to them, there are 4 segment registers (CS, DS, SS and ES). They are used to form a memory address. There are 2 pointer registers (SP which points to the bottom of the stack, and BP which can be used to point at some other place in the stack or the memory). There are two index registers (SI and DI) which can be used to point inside an array. Finally, there are the flag register (containing flags such as carry, overflow, zero and so on), and the instruction pointer (IP) which points at the current instruction. A bit (abbreviated b) is the most basic information unit used in computing and information theory. ... In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values—typically, the values being in the midst of a calculation at a given point in time. ...


In real mode, memory access is segmented. This is done by shifting the segment address left by 4 bits and adding an offset in order to receive a final 20-bit address. Thus the total address space in real mode is 220 bytes, or 1 MB, quite an impressive figure for 1978. There are two addressing modes: near and far. In far mode, both the segment and the offset are specified. In near mode, only the offset is specified, and the segment is taken from the appropriate register. For data the register is DS, for code is CS, and for stack it is SS. For example, if DS is A000h and SI is 5677h, DS:SI will point at the absolute address DS × 16 + SI = A5677h.


In this scheme, two different segment/offset pairs can point at a single absolute location. Thus, if DS is A111h and SI is 4567h, DS:SI will point at the same A5677h as above. In addition to duplicity, this scheme also makes it impossible to have more than 4 segments at once. Moreover, CS, DS and SS are vital for the correct functioning of the program, so that only ES can be used to point somewhere else. This scheme, which was intended as a compatibility measure with the Intel 8085 has caused no end of grief to programmers. The Intel 8085 is an 8-bit microprocessor made by Intel in the mid-1970s. ...


In addition to the above-said, the 8086 also had 64K of 8-bit (or alternatively 32K of 16-bit) I/O space, and a 64K (one segment) stack in memory supported by hardware. Only words (2 bytes) can be pushed to the stack. The stack grows downwards, its bottom being pointed by SS:SP. There are 256 interrupts, which can be created by both hardware and software. The interrupts can cascade, using the stack to store the return address. This article is about the computer interface. ... Depending on the context in which it is used, the word kilobyte may mean either 1,000 or 1,024 bytes. ... A stack is a data structure that works on the principle of Last In First Out (LIFO). ... Hardware is equipment such as fasteners, keys, locks, hinges, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts, especially when they are made of metal. ... In computer engineering, an interrupt is a signal from a device which typically results in a context switch: that is, the processor sets aside what its doing and does something else. ...


16-bit protected mode

The Intel 80286 could support 8086 real mode 16-bit software without any changes, however it also supported another mode of work called the protected mode, which expanded addressable physical memory to 16MB and addressable virtual memory to 1GB. This was done by using the segment registers only for storing an index to a segment table. There were two such tables, the GDT and the LDT, holding each up to 8192 segment descriptors, each segment giving access to up to 64 KB of memory. The segment table provided a 24-bit base address, which could then be added to the desired offset to create an absolute address. In addition, each segment could be given one of four privilege levels (called the rings). Real mode is an operating mode of 80286 and later x86-compatible CPUs. ... Protected mode (sometimes abbreviated pmode) is an operational mode of x86-compatible CPUs of the 80286 series or later. ... mb, Mb, and MB may stand for: Manitoba Mercedes Benz a manned base Bachelor of Medicine (academic degree) Medical Board megabit (Mb)¹, or 1,048,576 (220) bits, or 1,000,000 bits megabyte (MB)¹, or 1,048,576 (220) bytes, or 1,000,000 bytes millibar (mb... GB or gb may stand for: Game Boy GB (supermarket) in Belgium Gigabit (Gb) Gigabyte (GB) Government and binding theory by Noam Chomsky Great Britain United Kingdom (ISO 3166-1 code) Guobiao, the National Standards of the Peoples Republic of China The nerve agent sarin GunBound This is a... The GDT or Global Descriptor Table is a data structure used by Intel x86-family processors starting with the 80286 in order to define the characteristics of the various memory areas used during program execution, for example the base address, the size and access privileges like executability and writability. ... HyperTransport (HT), formerly known as Lightning Data Transport (LDT), is a bidirectional serial/parallel high-bandwidth, low-latency computer bus. ... In computing, a base address denotes a memory address serving as a reference point (base) for other addresses. ...


Although the introductions were an improvement, they were not widely used because a protected mode operating system could not run existing real mode software as processes. Such capability only appeared with the virtual 8086 mode of the subsequent 80386 processor. In the x86 CPU architecture Virtual 8086 mode, also called virtual-real mode, allows the emulation of real mode in protected mode. ...


In the meantime, operating systems like OS/2 tried to ping-pong the processor between protected and real modes. This was both slow and unsafe, as in real mode a program could easily crash the computer. OS/2 also defined restrictive programming rules which allowed a Family API or bound program to run either in real mode or in protected mode. This was however about running programs originally designed for protected mode, not vice-versa. By design, protected mode programs did not suppose that there is a relation between selector values and physical addresses. It is sometimes mistakenly believed that problems with running real mode code in 16-bit protected mode resulted from IBM having chosen to use Intel reserved interrupts for BIOS calls. It is actually related to such programs using arbitrary selector values and performing "segment arithmetic" described above on them. OS/2 is an operating system created by Microsoft and IBM and later developed by IBM exclusively. ...


This problem also appeared with Windows 3.0. Optimally, this release wanted to run programs in 16-bit protected mode, while previously they were running in real mode. Theoretically, if a Windows 1.x or 2.x program was written "properly" and avoided segment arithmetic it would run indifferently in both real and protected modes. Windows programs generally avoided segment arithmetic because Windows implemented a software virtual memory scheme and moved program code and data in memory when programs were not running, so manipulating absolute addresses was dangerous; programs were supposed to only keep handles to memory blocks when not running, and such handles were quite similar to protected-mode selectors already. Starting an old program while Windows 3.0 was running in protected mode triggered a warning dialog, suggesting to either run Windows in real mode (it could presumably still use expanded memory, possibly emulated with EMM386 on 80386 machines, so it was not limited to 640KB) or to obtain an updated version from the vendor. Well-behaved programs could be "blessed" using a special tool to avoid this dialog. It was not possible to have some GUI programs running in 16-bit protected mode and other GUI programs running in real mode, probably because this would require having two separate environments and (on 80286) would be subject to the previously mentioned ping-ponging of the processor between modes. In version 3.1 real mode disappeared. A typical Windows 3. ...


32-bit protected mode

The Intel 80386 introduced, perhaps, the greatest leap so far in the x86 architecture. With the notable exception of the Intel 80386SX, which was 32-bit yet only had 24-bit addressing (and a 16-bit data bus), it was all 32-bit - all the registers, instructions, I/O space and memory. To work with the latter, it used a 32-bit extension of Protected Mode. As it was in the 286, segment registers were used to index inside a segment table that described the division of memory. Unlike the 286, however, inside each segment one could use 32-bit offsets, which allowed every application to access up to 4GB without segmentation and even more if segmentation was used. In addition, 32-bit protected mode supported paging, a mechanism which made it possible to use virtual memory. A gigabyte (symbol GB) is a unit of measurement in computers of one thousand million bytes (the same as one billion bytes in the short scale usage). ... Alternate meanings: See paging (telecommunications). ... Virtual memory is a computer design feature that permits software to use more main memory (the memory which the CPU can read and write to directly) than the computer actually physically possesses. ...


No new general-purpose registers were added. All 16-bit registers except the segment ones were expanded to 32 bits. Intel represented this by adding "E" to the register mnemonics (thus the expanded AX became EAX, SI became ESI and so on). Since there was a greater number of registers, instructions and operands, the machine code format was expanded as well. In order to provide backwards compatibility, the segments which contain executable code can be marked as containing either 16 or 32 bit instructions. In addition, special prefixes can be used to include 32-bit instructions in a 16-bit segment and vice versa.


Paging and segmented memory access were both required in order to support a modern multitasking operating system. Linux, 386BSD, Windows NT and Windows 95 were all initially developed for the 386, because it was the first CPU that made it possible to reliably support the separation of programs' memory space (each into its own address space) and the preemption of them in the case of necessity (using rings). The basic architecture of the 386 became the basis of all further development in the x86 series. Tux, a lovable and cuddly penguin sitting down after having gorged itself on herring, is the official Linux mascot. ... 386BSD was a free operating system produced from the BSD derived UNIX operating systems for the Intel 80386. ... Windows NT is an operating system produced by Microsoft. ... The Start button made its debut in Windows 95. ...


The Intel 80387 math co-processor was integrated into the next CPU in the series, the Intel 80486. The new FPU could be used to make floating point calculations, important for scientific calculation and graphic design. A floating point unit (FPU) is a part of a CPU specially designed to carry out operations on floating point numbers. ... A floating-point number is a digital representation for a number in a certain subset of the rational numbers, and is often used to approximate an arbitrary real number on a computer. ...


MMX and beyond

1996 saw the appearance of the MMX (Matrix Math Extensions, though sometimes incorrectly referred to as Multi-Media Extensions) technology by Intel. While the new technology has been advertised widely and vaguely, its essence is very simple: MMX defined 8 64-bit SIMD registers overlayed onto the FPU stack to the Intel Pentium CPU design. Unfortunately, these instructions were not easily mappable to the code generated by ordinary C compilers, and Microsoft, the dominant compiler vendor, was slow to support them even as intrinsics. MMX also is limited to integer operations. These technical shortcomings caused MMX to have little impact in its early existence. Nowadays, MMX is typically used for some 2D video applications. MMX is a SIMD instruction set designed by Intel, introduced in their Pentium MMX microprocessors. ... SIMD is an acronym for Single Instruction, Multiple Data. ... Pentium MMX - top view The Pentium is a fifth-generation x86 architecture microprocessor by Intel which first shipped on March 22, 1993. ...


3DNow!

In 1997 AMD introduced the 3DNow! which were SIMD floating point instruction enhancements to MMX (targeting the same MMX registers). While this did not solve the compiler difficulties, the introduction of this technology coincided with the rise of 3D entertainment applications in the PC space. 3D video game developers and 3D graphics hardware vendors used 3DNow! to help enhance their performance on AMD's K6 and Athlon series of processors. 3DNow! is the name of a multimedia extension created by AMD for its processors, starting with the K6-2 in 1998. ... The AMD K6 is a Pentium-class microprocessor, manufactured by AMD, which superseded the K5. ... Athlon is the brand name applied to a series of different x86 processors designed and manufactured by AMD. The original Athlon, or Athlon Classic, was the first seventh-generation x86 processor and, in a first, retained the initial performance lead it had over Intels competing processors for a significant...


SSE

In 1999 Intel introduced the SSE instruction set which added 8 new 128 bit registers (not overlayed with other registers). These instructions were analogous to AMD's 3DNow! in that they primarily added floating point SIMD. SSE (Streaming SIMD Extensions) is a SIMD instruction set designed by Intel, and introduced in their Pentium III series processors as a reply to AMDs 3DNow!, which had debuted a year or so earlier. ...


SSE2

In 2001 Intel introduced the SSE2 instruction set which added 1) a complete complement of integers instructions (analogous to MMX) to the original SSE registers and 2) 64-bit SIMD floating point instructions to the original SSE registers. The first addition made MMX almost obsolete, and the second allowed the instructions to be realistically targeted by conventional compilers. SSE2 is one of the IA-32 SIMD instruction sets, designed by Intel. ...


SSE3

Introduced in 2004 along with the Prescott revision of the Pentium 4 processor, SSE3 added specific memory and thread-handling instructions to boost the performance of Intel's HyperThreading technology. 2004 is a leap year starting on Thursday of the Gregorian calendar. ... The Pentium 4 is a seventh-generation x86 architecture microprocessor produced by Intel and is their first all-new CPU design since the Pentium Pro of 1995. ... SSE3, also known by its Intel code name Prescott New Instructions or PNI, is the third iteration of the SSE instruction set for the IA-32 architecture. ... Many programming languages, operating systems, and other software development environments support what are called threads of execution. ... Hyper-Threading (HTT = Hyper Threading Technology) is Intels trademark for their implementation of the simultaneous multithreading technology on the Pentium 4 microarchitecture. ...


64-bit

As of 2002, the x86 architecture began to reach some design limits due to the 32-bit character length. This makes it more difficult to handle massive information stores larger than 4 GB, such as those found in databases or video editing. 2002 is a common year starting on Tuesday of the Gregorian calendar. ...


Intel had originally decided to completely drop x86 compatibility with the 64-bit generation, by introducing a new architecture called IA-64. IA-64 technology is the basis for its Itanium line of processors. IA-64 is not software compatible with x86 software natively; it uses various forms of emulation to run x86 software. In computing, IA-64 (Instruction Architecture-64) is a 64-bit processor architecture developed in cooperation by Intel and Hewlett-Packard for processors such as Itanium and Itanium 2. ... In computing, the Itanium is an IA-64 microprocessor developed jointly by Hewlett-Packard and Intel. ...


AMD took the initiative of extending out the 32-bit x86, aka IA-32 to 64-bit. It came up with an architecture, called AMD64 (it was called x86-64 until being rebranded), and the first products based on this technology were the Opteron and Athlon 64 family of processors. Due to the success of the AMD64 line of processors, Intel adopted the AMD64 instruction set and added some new extensions of their own, rebranding it the EM64T architecture (apparently not wishing to acknowledge that the instruction set came from its main rival). Advanced Micro Devices, Inc. ... IA-32, sometimes generically called x86 or even x86-32. ... In computing, a 64-bit component is one in which data are processed or stored in 64-bit units (words). ... The AMD64 or x86-64 or x64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... The AMD64 or x86-64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... The AMD Opteron is the first eighth-generation x86 processor (K8 core), and the first of AMDs AMD64 (x86-64) processors, released April 22, 2003. ... The Athlon 64 (codenamed ClawHammer, Newcastle, Winchester, and Venice) represents AMDs entry into the consumer 64-bit microprocessor market, released on September 23rd, 2003. ... Extended Memory 64-bit Technology (EM64T) is Intels implementation of AMDs AMD64 architecture, an extension to the IA-32 instruction set which adds 64 bit extensions to the x86 architecture. ...


This was the first time that a major upgrade of the x86 architecture was initiated and originated by a manufacturer other than Intel. Perhaps more importantly, it was the first time that Intel actually accepted technology of this nature from an outside source.


Virtualization

x86 virtualization is difficult because the architecture does not meet the Popek and Goldberg virtualization requirements. Nevertheless, there are several commercial x86 virtualization products, such as VMware and Microsoft Virtual PC. Intel and AMD have both announced that future x86 processors will have new enhancements to facilitate more efficient virtualization. Intel's code names for their virtualization features are "Vanderpool" and "Silvervale"; AMD uses the code name "Pacifica". In general terms, a virtual machine in computer science is software that creates an environment between the computer platform and the end user in which the end user can operate software. ... In the article Formal Requirements for Virtualizable Third Generation Architectures (Communications of the ACM vol. ... The x86 processor architecture as used in modern PCs does not meet the Popek and Goldberg virtualization requirements. ... VMware is a commercial software product sold by EMC Corporation. ... Screenshot of Virtual PC 6. ...


Manufacturers

x86 and compatibles have been designed, manufactured and sold by a number of companies, including:


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m