All Topics  
Intel 8086

 
Intel 8086

   Email Print
   Bookmark   Link






 

Intel 8086



 
 
The 8086 is a 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 chip designed by Intel and introduced on the market in 1978, which gave rise to the x86 architecture
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
. Intel 8088
Intel 8088

The Intel 8088 is an Intel x86 microprocessor based on the Intel 8086, with 16-bit registers and an 8-bit external data bus. It can address up to 1 megabyte of random access memory....
, released in 1979, was essentially the same chip, but with an external 8-bit data bus (allowing the use of cheaper and fewer supporting logic chips), and is notable as the processor used in the original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
.

972, Intel launched the 8008
Intel 8008

The Intel 8008 was an early byte-oriented microprocessor designed and manufactured by Intel and introduced in April 1972. Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation to implement an instruction set designed for their Datapoint 2200 programmable terminal....
, the first 8-bit microprocessor.






Discussion
Ask a question about 'Intel 8086'
Start a new discussion about 'Intel 8086'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The 8086 is a 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 chip designed by Intel and introduced on the market in 1978, which gave rise to the x86 architecture
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
. Intel 8088
Intel 8088

The Intel 8088 is an Intel x86 microprocessor based on the Intel 8086, with 16-bit registers and an 8-bit external data bus. It can address up to 1 megabyte of random access memory....
, released in 1979, was essentially the same chip, but with an external 8-bit data bus (allowing the use of cheaper and fewer supporting logic chips), and is notable as the processor used in the original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
.

History


Background
In 1972, Intel launched the 8008
Intel 8008

The Intel 8008 was an early byte-oriented microprocessor designed and manufactured by Intel and introduced in April 1972. Originally known as the 1201, the chip was commissioned by Computer Terminal Corporation to implement an instruction set designed for their Datapoint 2200 programmable terminal....
, the first 8-bit microprocessor. It implemented an instruction set
Instruction set

An instruction set is a list of all the instruction , and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
 designed by Datapoint
Datapoint

Datapoint Corporation, originally known as Computer Terminal Corporation , was a computer company based in San Antonio, Texas, United States....
 corporation with programmable CRT terminals
Computer terminal

A computer terminal is an electronic or electromechanical computer hardware device that is used for entering data into, and displaying data from, a computer or a computing system....
 in mind, that also proved to be fairly general purpose. The device needed several additional IC
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
s to produce a functional computer, in part due to its small 18-pin "memory-package", which ruled out the use of a separate address bus (Intel was primarily a DRAM manufacturer at the time).

Two years later, in 1974, Intel launched the 8080
Intel 8080

The Intel 8080 was an early microprocessor designed and manufactured by Intel. The 8-bit microprocessor was released in April 1974 running at 2 megahertz , and is generally considered to be the first truly usable microprocessor....
, employing the new 40-pin DIL package
Dual in-line package

File:Three_IC_circuit_chips.JPGIn microelectronics, a dual in-line package , sometimes called a DIL package, is an electronic device package with a rectangular housing and two parallel rows of electrical connecting pins....
s originally developed for calculator
Calculator

A calculator is a device for performing mathematical calculations, distinguished from a computer by having a limited problem solving ability and an interface optimized for interactive calculation rather than programming....
 ICs to enable a separate address bus. It had an extended instruction set that was source- (not binary
Binary compatible

Having the exact same data format, down to the binary level. That is, two files that are binary compatible will have the same pattern of zeros and ones in the data portion of the file....
-) compatible with the 8008 and also included some 16-bit instructions to make programming easier. The 8080 device, often described as the first truly useful microprocessor, was nonetheless soon replaced by the 8085
Intel 8085

The Intel 8085 is an 8-bit microprocessor introduced by Intel in 1977. It was binary-compatible with the more-famous Intel 8080 but required less supporting hardware, thus allowing simpler and less expensive microcomputer systems to be built....
 which could cope with a single 5V power supply instead of the three different operating voltages of earlier chips. Other well known 8-bit microprocessors that emerged during these years were Motorola 6800
Motorola 6800

The 6800 is an 8-bit microprocessor produced by Motorola and released shortly after the Intel 8080 in late 1974. It had 78 instructions, including the famous, undocumented Halt and Catch Fire bus test instruction....
 (1974), Microchip PIC16X (1975), MOS Technology 6502
MOS Technology 6502

The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured central processing unit on the market by a considerable margin, costing less than one-sixth the price of competing designs from larger companies such...
 (1975), Zilog Z80
Zilog Z80

The Zilog Z80 is an 8-bit microprocessor designed and sold by Zilog from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes....
 (1976), and Motorola 6809
Motorola 6809

The Motorola 6809 is an 8-bit microprocessor central processing unit from Motorola, introduced circa 1977-78. It was a major advance over both its predecessor, the Motorola 6800, and the related, MOS Technology 6502....
 (1977), as well as others.

The first x86 design
The 8086 was originally intended as a temporary substitute for the ambitious iAPX 432 project in an attempt to draw attention from the less-delayed 16 and 32-bit processors of other manufacturers (such as Motorola
Motorola

Motorola, Inc. is an United States, multinational, Fortune 100, telecommunications company based in Schaumburg, Illinois. It is a manufacturer of wireless telephone handsets, also designing and selling wireless network infrastructure equipment such as cellular transmission base stations and signal amplifiers....
, Zilog
Zilog

Zilog, Inc., often seen as ZiLOG , is a manufacturer of 8-bit, 16-bit, 24-bit, and 32-bit microprocessors, and is most famous for its Intel 8080-compatible Zilog Z80 series....
, and National Semiconductor
National Semiconductor

National Semiconductor is a semiconductor manufacturer, specializing in analog devices and subsystems,headquartered in Santa Clara, California, California, United States....
) and at the same time to top the successful Z80 (designed by former Intel employees). Both the architecture and the physical chip were therefore developed quickly (in a little more than two years), using the same basic microarchitecture
Microarchitecture

In computer engineering, microarchitecture is a description of the electrical circuitry of a computer, central processing unit, or digital signal processor that is sufficient for completely describing the operation of the hardware....
 elements and physical implementation techniques as employed by the older 8085
Intel 8085

The Intel 8085 is an 8-bit microprocessor introduced by Intel in 1977. It was binary-compatible with the more-famous Intel 8080 but required less supporting hardware, thus allowing simpler and less expensive microcomputer systems to be built....
, and for which it also functioned as its continuation. Marketed as source compatible, it was designed so that assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 for the 8085, 8080, or 8008 could be automatically converted into equivalent (sub-optimal) 8086 source code, with little or no hand-editing. This was possible because the programming model and instruction set was (loosely) based on the 8085. However, the 8086 design was expanded to support full 16-bit processing, instead of the fairly basic 16-bit capabilities of the 8080/8085. New kinds of instructions were added as well; self-repeating operations and instructions to better support nested ALGOL
Algol

Algol , known colloquially as the Demon Star, is a bright star in the constellation Perseus . It is one of the best known eclipsing binary, the first such star to be discovered, and also one of the first variable stars to be discovered....
-family languages such as Pascal
Pascal (programming language)

Pascal is an influential imperative programming and Procedural programming programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structure....
, among others.

The 8086 was sequenced using a mix of random logic and microcode
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 and was implemented using depletion load nMOS circuitry with approximately 20,000 active transistors (29,000 counting all ROM and PLA
Programmable logic array

A programmable logic array is a programmable device used to implement combinational logic electrical network. The PLA has a set of programmable AND gate planes, which link to a set of programmable OR gate planes, which can then be conditionally complemented to produce an output....
 sites). It was soon moved to a new refined nMOS manufacturing process called HMOS
HMOS

HMOS, high-performance n-channel metal-oxide-semiconductor, also called depletion-load NMOS, is a digital circuit logic family which uses n-type MOSFETs to implement logic gates....
 (for High performance MOS) that Intel originally developed for manufacturing of fast static RAM products. This was followed by HMOS-II, HMOS-III, and eventually a CMOS version. The original chip measured 33 mm² and minimum feature size was 3.2 µm.

The architecture was defined by Stephen P. Morse
Stephen Morse (designer)

Stephen Morse is the architect of the Intel 8086 chip.He has degrees in Electrical Engineering from CCNY, the Polytechnic Institute of Brooklyn and New York University....
 and Bruce Ravenel. Peter A.Stoll was lead engineer of the development team and William Pohlman the manager. While less known than the 8088 chip, the legacy of the 8086 is enduring; references to it can still be found on most modern computers in the form of the Vendor ID
PCI Configuration Space

One of the major improvements Peripheral Component Interconnect had over other I/O architectures was its configuration mechanism. In addition to the normal memory-mapped and port spaces, each device on the bus has a configuration space....
 entry for all Intel devices, which is 8086H (hexadecimal
Hexadecimal

In mathematics and computer science, hexadecimal is a numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 09 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen....
). It also lent its last two digits to Intel's later extended versions of the design, such as the 286 and the 386, all of which eventually became known as the x86 family.

Details


Buses and operation

All internal registers as well as internal and external data buses were 16 bits wide, firmly establishing the "16-bit microprocessor" identity of the 8086. A 20-bit external address bus gave an 1 MB
Megabyte

Megabyte is a SI prefix-multiple of the unit byte for digital information computer storage or transmission and is equal to 106 bytes....
 (segmented) physical address space (220 = 1,048,576). The data bus was multiplexed with the address bus in order to fit a standard 40-pin dual in-line package
Dual in-line package

File:Three_IC_circuit_chips.JPGIn microelectronics, a dual in-line package , sometimes called a DIL package, is an electronic device package with a rectangular housing and two parallel rows of electrical connecting pins....
. 16-bit I/O addresses meant 64 KB
KB

The abbreviation KB or kb can refer to:*Kilobit , a unit of information used, for example, to quantify computer memory or storage capacity...
 of separate I/O space (216 = 65,536). The maximum linear address space were limited to 64 KB, simply because internal registers were only 16 bits wide. Programming over 64 KB boundaries involved adjusting segment registers (see below) and were therefore fairly awkward (and remained so until the 80386).

Some of the control pins, which carry essential signals for all external operations, had more than one function depending upon whether the device was operated in "min" or "max" mode. The former were intended for small single processor systems whilst the latter were for medium or large systems, using more than one processor.

Registers and instructions

The 8086 had eight (more or less general) 16-bit registers
Processor register

In computer architecture, a processor register is a small amount of Computer storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere....
 including the stack pointer
Stack-based memory allocation

Stack s in computing architectures are regions of memory where data is added or removed in a LIFO manner.In most modern computer systems, each Thread has a reserved region of memory referred to as its stack....
, but excluding the instruction pointer, flag register and segment registers. Four of them (AX,BX,CX,DX) could also be accessed as (twice as many) 8-bit registers (AH,AL,BH,BL, etc), the other four (BP,SI,DI,SP) were 16-bit only.

Due to a compact encoding inspired by 8085 and other 8-bit processors, most instructions were one-address or two-address operations which means that the result were stored in one of the operands. At most one of the operands could be in memory, but this memory operand could also be the destination, while the other operand, the source, could be either register or immediate. A single memory location could also often be used as both source and destination which, among other factors, further contributed to a code density
Instruction set

An instruction set is a list of all the instruction , and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
 comparable to (often better than) most eight bit machines.

Although the degree of generality of most registers were much greater than in the 8080 or 8085, it was still fairly low compared to the typical contemporary minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
, and registers were also sometimes used implicitly by instructions. While perfectly sensible for the assembly programmer, this complicated register allocation for compilers compared to more regular 16- and 32-bit processors (such as the PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
, VAX, 68000, etc); on the other hand, compared to contemporary 8-bit microprocessors (such as the 8085, or 6502), it was significantly easier to generate code for the 8086 design.

As mentioned above 8086 also featured 64 KB of 8-bit (or alternatively 32 K-word or 16-bit) I/O
I/O

I/O may refer to:* Input/output, a system of communication for information processing systems* The input-output model, an economic model of flow prediction between sectors...
 space. A 64 KB (one segment) stack
Stack (data structure)

In computer science, a stack is an abstract data type and data structure based on the principle of LIFO . Stacks are used extensively at every level of a modern computer system....
 growing towards lower addresses is supported by hardware
Hardware

Hardware is a general term that refers to the physical cultural artifacts of a technology. It may also mean the physical components of a computer system, in the form of computer hardware....
; 2-byte words are pushed to the stack and the stack top (bottom) is pointed out by SS:SP. There are 256 interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
s, which can be invoked by both hardware and software. The interrupts can cascade, using the stack to store the return address
Return address

In postal mail, a return address is an explicit inclusion of the address of the person sending the message. It provides the recipient with a means to determine how to respond to the sender of the message if needed....
.

The processor had some new instructions (not present in the 8085) to better support stack based high level programming languages such as Pascal and PL/M
PL/M

The PL/M programming languageis a high-level programming language developed byGary Kildall in 1972 for Intel for its list of Intel microprocessors....
; some of the more useful ones were push mem-op, and ret size, supporting the "pascal calling convention". (Several others, such as push immed and enter, would be added in the subsequent 80186, 80286, and 80386 designs.)

Segmentation

There were also four sixteen-bit segment registers (CS, DS, SS, ES, standing for "code segment", "data segment", "stack segment" and "extra segment") that allowed the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 to access one megabyte
Megabyte

Megabyte is a SI prefix-multiple of the unit byte for digital information computer storage or transmission and is equal to 106 bytes....
 of memory in an unusual way. Rather than concatenating the segment register with the address register, as in most processors whose address space exceeded their register size, the 8086 shifted the segment register left 4 bits and added it to the offset address (physical address = 16·segment + offset), producing a 20-bit effective address from the 32-bit segment:offset pair. As a result, each physical address could be referred to by 212 = 4096 different segment:offset pairs. This scheme had the advantage that a small program (less than 64 kilobytes) could be loaded starting at a fixed offset (such as 0) in its own segment, avoiding the need for relocation
Relocation

In computer science, relocation is the process of replacing symbolic references or names of Library with actual usable addresses in primary storage before running a program....
, with at most 15 bytes of alignment waste. The 16-byte separation between segment bases was known as a "paragraph".

Compilers for the 8086 commonly supported two types of pointer, "near" and "far". Near pointers were 16-bit addresses implicitly associated with the program's code or data segment (and so made sense only in programs small enough to fit in one segment). Far pointers were 32-bit segment:offset pairs. C compilers also supported "huge" pointers, which were like far pointers except that pointer arithmetic on a huge pointer treated it as a flat 20-bit pointer, while pointer arithmetic on a far pointer wrapped around
Integer overflow

In computer programming, an integer overflow occurs when an arithmetic operation attempts to create a numeric value that is larger than can be represented within the available storage space....
 within its initial 64-kilobyte segment.

To avoid the need to specify "near" and "far" on every pointer and every function which took or returned a pointer, compilers also supported "memory models" which specified default pointer sizes. The "small", "compact", "medium", and "large" models covered every combination of near and far pointers for code and data. The "tiny" model was like "small" except that code and data shared one segment. The "huge" model was like "large" except that all pointers were huge instead of far by default. Precompiled libraries often came in several versions compiled for different memory models.

In principle the address space of the x86 series could have been extended in later processors by increasing the shift value, as long as applications obtained their segments from the operating system and did not make assumptions about the equivalence of different segment:offset pairs. In practice the use of "huge" pointers and similar mechanisms was widespread, and the shift value was never changed.

According to Morse et al, the designers of the 8086 considered using a shift of eight bits instead of four, which would have given the processor a 16-megabyte address space..

Subsequent expansion
The 80286
Intel 80286

The Intel 286, introduced on February 1, 1982, was an x86 16-bit microprocessor with 134,000 transistors.It was widely used in IBM PC compatible computers during the mid 1980s to early 1990s....
's protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
 extended the processor's address space to 224 bytes (16 megabytes), but not by increasing the shift value. Instead, the 16-bit segment registers supply an index into a table of 24-bit base addresses, to which the offset is added. To support old software the 80286 also had a "real mode" in which address calculation mimicked the 8086. There was, however, one small difference: on the 8086 the address was truncated to 20 bits, while on the 80286 it was not. Thus real-mode pointers could refer to addresses between 100000 and 10FFEF (hexadecimal). This roughly 64-kilobyte region of memory was known as the High Memory Area
High Memory Area

The High Memory Area is the random-access memory area consisting of the first 64 kibibyte, minus 16 bytes, of the extended memory on an IBM PC or IBM PC compatible microcomputer....
, and later versions of MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 could use it to increase available low memory.

The 80386
Intel 80386

The Intel 80386, otherwise known as the i386 or just 386, is a microprocessor which has been used as the central processing unit of many personal computers and workstations since 1986....
 increased both the base address and the offset to 32 bits and introduced two more general-purpose segment registers, FS and GS. The 80386 also introduced paging
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
. The segment system can be used to enforce separation of unprivileged processes in a 32-bit operating system, but most operating systems using paging for this purpose instead, and set all segment registers to point to a segment with an offset of 0 and a length of 232, giving the application full access to its virtual address space through any segment register.

The x86-64
X86-64

x86-64 is a superset of the x86. x86-64 Central processing units can run existing 32-bit or 16-bit x86 programs at full speed, but also support new programs written with a 64-bit address space and other additional capabilities....
 architecture drops most support for segmentation. The segment registers still exist, but the base addresses for CS, SS, DS, and ES are forced to 0, and the limit to 264.

In x86 versions of Microsoft Windows, the FS segment does not cover the entire address space. Instead it points to a small data structure, different for each thread
Thread (computer science)

In computer science, a thread of execution is a Fork of a computer program into two or more Concurrency running task s. The implementation of threads and process es differs from one operating system to another, but in most cases, a thread is contained inside a process....
, which contains information about exception handling, thread-local variables, and other per-thread state. The x86-64 architecture supports this technique by allowing a nonzero base address for FS and GS.

Porting older software
Small programs could ignore the segmentation and just use plain 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 addressing. This allowed 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 software to be quite easily ported to the 8086. The authors of MS-DOS took advantage of this by providing an Application Programming Interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 very similar to CP/M
CP/M

CP/M is an operating system originally created for Intel 8080/Intel 8085 based microcomputers by Gary Kildall of Digital Research. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors....
 as well as including the simple .com executable file format, identical to CP/M. This was important when the 8086 and MS-DOS was new, because it allowed many existing CP/M (and other) applications to be quickly made available, greatly easing the acceptance of the new platform.

Performance

Although partly shadowed by other design choices in this particular chip, the multiplexed bus limited performance slightly; transfers of 16-bit or 8-bit quantities were done in a four-clock memory access cycle. As instructions varied from 1 to 6 bytes, fetch and execution were made concurrent
Concurrency (computer science)

In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other....
 (as it remains in today's x86 processors): The bus interface unit fed the instruction stream to the execution unit through a 6 byte prefetch queue (a form of loosely coupled pipelining), speeding up operations on register
Processor register

In computer architecture, a processor register is a small amount of Computer storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere....
s and immediate
Operand

An operand is one of the inputs of an operator in mathematics. The following arithmetic expression shows an example of operators and operands:...
s, while memory operations unfortunately became slower (4 years later, this performance problem was fixed with the 80186 and 80286). However, the full (instead of partial) 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 architecture with a full width ALU
Alū

Al? is one of the Utukku, vengeful spirits in the lore of the ancient Assyrians. According to Pamela Allardice, they were feared more greatly than death itself....
 meant that 16-bit arithmetic instructions could now be performed with a single ALU cycle (instead of two, via carry), speeding up such instructions considerably. Combined with orthogonalization
Orthogonalization

In linear algebra, orthogonalization is the process of finding a set of orthogonal vectors that span a particular linear subspace. Formally, starting with a linearly independent set of vectors in an inner product space , orthogonalization results in a set of Orthogonality vectors that generate the same subspace as the vectors v1<...
s of operations versus operand
Operand

An operand is one of the inputs of an operator in mathematics. The following arithmetic expression shows an example of operators and operands:...
-types and addressing mode
Addressing mode

Addressing modes are an aspect of the instruction set architecture in most central processing unit designs. The various addressing modes that are defined in a given instruction set architecture define how Machine code Instruction in that architecture identify the operand of each instruction....
s, as well as other enhancements, this made the performance gain over the 8080 or 8085 fairly significant, despite cases where the older chips may be faster (see below).

Execution times for typical instructions (in clock cycles):

Timings are best case, depending on prefetch status, instruction alignment, and other factors.

MOV reg,reg: 2, reg,im: 4, reg,mem: 8+EA, mem,reg: 9+EA, mem,im: 10+EA cycles ALU reg,reg: 3, reg,im: 4, reg,mem: 9+EA, mem,reg: 16+EA, mem,im: 17+EA cycles

JMP reg: 11, JMP label: 15, Jcc label: 16 (cc = condition code)

MUL reg: 70..118 cycles IDIV reg: 101..165 cycles

EA: time to compute effective address, ranging from 5 to 12 cycles.

As can be seen from these tables, operations on registers and immediates were fast (between 2 and 4 cycles), while memory-operand instructions and jumps were quite slow; jumps took more cycles than on the simple 8080
Intel 8080

The Intel 8080 was an early microprocessor designed and manufactured by Intel. The 8-bit microprocessor was released in April 1974 running at 2 megahertz , and is generally considered to be the first truly usable microprocessor....
 and 8085
Intel 8085

The Intel 8085 is an 8-bit microprocessor introduced by Intel in 1977. It was binary-compatible with the more-famous Intel 8080 but required less supporting hardware, thus allowing simpler and less expensive microcomputer systems to be built....
, and the 8088 (used in the IBM PC) was additionally hampered by its narrower bus. The reasons why most memory related instructions were slow were threefold:
  • Loosely coupled fetch and execution units are efficient for instruction prefetch, but not for jumps and random data access (without special measures).
  • No dedicated address calculation adder was afforded; the microcode routines had to use the main ALU for this (although there was a dedicated segment + offset adder).
  • The address and data buses were multiplex
    Multiplexing

    In telecommunications and computer networks, multiplexing is a process where multiple analog message signals or digital data streams are combined into one signal over a shared medium....
    ed, forcing a slightly longer (33~50%) bus cycle than in typical contemporary 8-bit processors.


It should be noted, however, that memory access performance was drastically enhanced with Intel's next generation chips. The 80186
Intel 80186

The 80186 is a microprocessor that was developed by Intel circa 1982. The 80186 was an improvement on the Intel 8086 and Intel 8088. As with the 8086, it had a 16-bit external bus and was also available as the Intel 80188, with an 8-bit external data bus....
 and 80286
Intel 80286

The Intel 286, introduced on February 1, 1982, was an x86 16-bit microprocessor with 134,000 transistors.It was widely used in IBM PC compatible computers during the mid 1980s to early 1990s....
 both had dedicated address calculation hardware, saving many cycles, and 80286
Intel 80286

The Intel 286, introduced on February 1, 1982, was an x86 16-bit microprocessor with 134,000 transistors.It was widely used in IBM PC compatible computers during the mid 1980s to early 1990s....
 also had separate (non-multiplexed) address and data buses.

Floating point

The 8086/8088 could be connected to a mathematical coprocessor to add floating point
Floating point

In computing, floating point describes a system for numerical representation in which a String of digits represents a rational number.The term floating point refers to the fact that the radix point can "float": that is, it can be placed anywhere relative to the Significant figures of the number....
 capability. The Intel 8087
Intel 8087

The 8087 was the first math coprocessor for 16 bit processors designed by Intel ; it was built to be paired with the Intel Intel 8088 and Intel 8086 microprocessors....
 was the standard math coprocessor, operating on 80-bit numbers, but manufacturers like Weitek
Weitek

Weitek Corporation was a former chip-design company that originally concentrated on floating point units for a number of commercial Central processing unit designs....
 soon offered higher performance alternatives.

Chip versions

The clock frequency was originally limited to 5 MHz (IBM PC used 4.77 MHz, 3/4 the standard NTSC color burst frequency), but the last versions in HMOS
HMOS

HMOS, high-performance n-channel metal-oxide-semiconductor, also called depletion-load NMOS, is a digital circuit logic family which uses n-type MOSFETs to implement logic gates....
 were specified for 10 MHz. HMOS-III and CMOS
CMOS

Complementary metal?oxide?semiconductor , is a major class of integrated circuits. CMOS technology is used in microprocessors, microcontrollers, Static Random Access Memory, and other digital logic circuits....
 versions were manufactured for a long time (at least a while into the 1990s) for embedded system
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
s, although its successor, the 80186
Intel 80186

The 80186 is a microprocessor that was developed by Intel circa 1982. The 80186 was an improvement on the Intel 8086 and Intel 8088. As with the 8086, it had a 16-bit external bus and was also available as the Intel 80188, with an 8-bit external data bus....
/80188
Intel 80188

The Intel 80188 is a version of the Intel 80186 microprocessor with an 8 bit external data bus, instead of 16 bit. This makes it less expensive to connect to computer peripheral....
, has been more popular for embedded use.

Derivatives and clones

Compatible and, in many cases, enhanced versions were manufactured by Fujitsu
Fujitsu

is a Japanese company specializing in semiconductors, air conditioners, computers , telecommunications, and Service , and is headquartered in Minato, Tokyo, Tokyo....
, Harris
Harris Corporation

Harris Corporation is an international communications equipment company that produces wireless equipment, electronic systems, and both terrestrial and spaceborne antennas for use in the government, defense, and commercial sectors....
/Intersil
Intersil

Intersil Corporation specializes in the design and manufacture of high-performance analog semiconductors for four high-growth markets ? Communications, Computing, High End Consumer and Industrial....
, OKI
Oki Electric Industry

is a Japan electronics company, founded in January 1881 by Kibataro Oki....
, Siemens AG
Siemens AG

Siemens Aktiengesellschaft is Europe's largest engineering Conglomerate . Siemens' international headquarters are located in Berlin and Munich, Germany....
, Texas Instruments
Texas Instruments

Texas Instruments , better known in the electronics industry as TI, is an United States company based in Dallas, Texas, Texas, United States, renowned for developing and commercializing semiconductor and computer technology....
, NEC
NEC

is a Japan multinational corporation IT company headquartered in Minato, Tokyo, Japan. NEC, part of the Sumitomo Group, provides information technology and network solutions to business enterprises, communications services providers and government....
, and AMD. For example, the NEC V20
NEC V20

The NEC V20 was a central processing unit made by NEC Corporation that was a Reverse engineering, pin-compatible version of the Intel 8088 with an instruction set compatible with the Intel 80186....
 and NEC V30 pair were hardware compatible with the 8088 and 8086, respectively, but incorporated the instruction set of the 80186 along with some (but not all) of the 80186 speed enhancements, providing an drop-in capability to upgrade both instruction set and processing speed without manufacturers having to modify their designs. Such relatively simple and low power 8086-compatible processors in CMOS are still used in embedded systems.

The electronics industry of the Soviet Union
Soviet Union

The Union of Soviet Socialist Republics was a Constitution of the Soviet Union socialist state that existed in Eurasia from 1922 to 1991.The name is a translation of the , romanization of Russian Soyuz Sovetskikh Sotsialisticheskikh Respublik, abbreviated ????, SSSR....
 was able to replicate the 8086 through both industrial espionage and reverse engineering. The resulting chip, K1810BM86, was pin-compatible with the original Intel 8086 and had the same instruction set. This IC was the core of Soviet-made PC-compatible ES1840 and ES1841 desktops. However, in hardware these computers had significant differences from their authentic prototypes (respectively PC and PC/XT): the K1810BM86 was a copy from Intel 8086, not Intel 8088, and the data/address bus circuitry was designed independently of original Intel products.

Notable bugs

8086/8088 CPUs produced prior to 1982 had a severe interrupt bug. IBM provided an upgrade free of charge to affected PCs. Processors remaining with original 1979 markings are quite rare; they have become collectors' items.

Microcomputers using the 8086

  • One of the most influential microcomputers of all, the IBM PC
    IBM PC

    The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
    , used the Intel 8088
    Intel 8088

    The Intel 8088 is an Intel x86 microprocessor based on the Intel 8086, with 16-bit registers and an 8-bit external data bus. It can address up to 1 megabyte of random access memory....
    , a version of the 8086 with an eight-bit data bus (as mentioned above).
  • The first commercial microcomputer built on the basis of the 8086 was the Mycron
    Mycron

    Mycron was a pioneer manufacturer of microcomputers, located in Oslo, Norway. Originally named Norsk Data Industri, the company was founded in 1975 by Lars Monrad Krohn, who was also one of the founding fathers of Norsk Data....
     2000.
  • The IBM Displaywriter word processing machine and the Wang Professional Computer, manufactured by Wang Laboratories
    Wang Laboratories

    Wang Laboratories was a computer company founded in 1951 by Dr. An Wang and Dr. G. Y. Chu. The company was successively headquartered in Cambridge, Massachusetts , Tewksbury, Massachusetts , and Lowell, Massachusetts ....
    , also used the 8086. Also, this chip could be found in the AT&T 6300 PC (built by Olivetti
    Olivetti

    Ing. C. Olivetti & Co., SpA., known as Olivetti, is an Italy manufacturer of computers, computer printers and other business machines....
    ).
  • The first Compaq Deskpro
    Compaq Deskpro

    The Compaq Deskpro was a line of business-oriented personal computers manufactured by Compaq, discontinued after the merger with Hewlett-Packard....
     used an 8086 running at 7.14 MHz, but was capable of running add-in cards designed for the 4.77 MHz IBM PC XT.
  • The FLT86 is a well established training system for the 8086 CPU still being manufactured by in Southampton, England
  • The IBM PS/2 models 25 and 30 were built with an 8MHz 8086
  • The Tandy 1000 SL-series machines used 8086 CPUs.


See also

  • IBM Personal Computer XT
    IBM Personal Computer XT

    The IBM Personal Computer XT, often shortened to the IBM XT or simply XT, was IBM's successor to the original IBM Personal Computer....
  • x86 architecture
    X86 architecture

    The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....


External links