- Harris ( Intersil )
- Siemens AG
- Texas Instruments
The Intel 8086 is a 16 -bit microprocessor from Intel. Developed in 1978, he became the forefather of the 80x86 family. The design was based on Intel's 8 -bit CPUs 8080 and 8085, the instruction set was designed so that assembly language source code for the 8080/8085 could be automatically converted to valid 8086 source code easily. A direct compatibility, that is the possibility to run the programs 8080 without reassembly, but did not exist. How the 8080 lacked the 8086 some essential building blocks such as interrupt and DMA controllers, who joined as an external chip. The 8086 also does not support floating-point operations, but can together work from home with an Intel 8087 co-processor, which then performs the floating point calculations. The Intel 8089 co-processor provides expanded I / O capabilities and serves inter alia as a DMA controller.
The 8086 was one of the slowest among the 16 -bit CPUs that came in the late 1970s on the market.
A special feature is the memory segmentation. Since it is only possible with a 16 -bit address register to address up to 64 kB of memory, a way had to be found to address more still possible memory can; Intel had the processor 20 address lines for 220 addresses ( maximum of 1 megabyte of RAM ). To address the memory into 65,536 overlapping address ranges (segments) is divided with 64 KB size. In this way, it is the chip possible to address up to 1 MB which can be used within each segment with 16- bit addresses. As a formula for access to a physical memory location, the following relationship was established: Physical address = segment registers × 16 offset. With a total of four, also 16 bits wide segment registers segments can begin on any 16- byte boundary.
For example, if the segment registers, the address 1234hex and the offset register contains the address 5678hex, which is usually written as 1234:5678, the actual memory access to the address is 1234hex × 10hex 5678hex = 12340hex 5678hex = 179B8hex.
Advantage of the memory segmentation is inter alia an easier portability of 8 -bit programs and a higher code density, disadvantage the complex programming and the limitation to one megabyte; other 16 -bit architectures usually allowed an address space of 16 MB. However, it was 1 MB In the late 1970s, for a microcomputer anyway much more than needed or was actually built in memory, also due to the high prices of RAM ( the IBM PC for example, had initially depending on the variant, only a maximum of 64 KB of memory home computers from the same period usually still significantly less).
Compared to other 16 -bit processors, the 8086, only a small number of registers. For many operations is often only a specific register used - the 8086 is thus an extended Akkumulatorrechner, as general-purpose registers are usually only four available. Permanently assigned to a register function, for example, the ( integer ) multiplication: The multiplicand has to be stored and then the multiply instruction be called with the multiplier as an argument in register AX. The result is then obtained in the registers DX and AX. By this firm register binding one is often forced to be securely stored on the stack or in memory and load them from there because the processor instructions often specify which registers can be used just for the intermediate values . Other 16 -bit processors allow, however, that one selects the general-purpose registers to be used for each operation and must therefore secure rare intermediate results on the stack and in memory (register machine); also had these architectures usually 16 or more registers, while the 8086 ( minus the mentioned segment registers ) only four fairly general and four specific registers supported. This is a problem inasmuch as that accesses to the memory compared to register access are very slow.
This register concept inherited the 8086 scoring on his successor 80286 and on all later, the so-called x86 - family processors, but the number of registers has been doubled in the new x64 mode, current processors, after all, in addition, the registers of the current x86 generation 64-bit "wide".
8086 (and 8088 ) can be operated in a minimum and a maximum mode. The choice is made via the MN / MX pin 33 it is connected to 0 V (low ), the 8086/88 operates in the maximum mode at 5 V (High) in the minimum mode. At the minimum, mode compact simple circuits can be realized; the necessary control lines, the processor itself is available. The maximum mode is primarily intended for multiprocessor operation or for working with the co-processors 8087 and 8089.
The 8086 has no internal oscillator. The required clock is therefore externally generated by the oscillator chip 8284. If the processor is operating in maximum mode - which is usually the case - the necessary control lines WR, M / IO, DT / R, DEN, ALE and INTA are not provided, but must be provided by the bus controller 8288. The processor is part of a multi-processor system, the bus arbiter 8289 is additionally required. Further, a latch is to separate the address from the multiplexed Adress-/Datenbus required, such as the 8282nd For adequate control of the entire bus system as well as in multi-processor operation is required bi-directional drivers, such as the 8286th
Like its little brother the 8088, which came on the market a little later, was the 8086 mainly used in the IBM PC and its clones. His greatest distribution received the processor in the successfully marketed by the British computer manufacturer Amstrad PC -clone PC1512 and PC 1640th In Germany, these computers were marketed by Schneider Computer Division.
NASA by repeatedly sought the remainders market after a certain, already no longer in production at that time long, special version of the 8086 to be able to perform to the shuttle program. This version of the 8086 is particularly insensitive to electromagnetic radiation and was not only the military but also by manufacturers of medical devices.
- Maximum addressable memory: 1 MB
- Processing width: 16 bits
- Data bus: 16 bits
- Address bus: 20 bit
- Commands: about 100 in the format " [ prefix ] mnemonic [Operand 1 ] [, operand 2 ] '([ ... ] not always necessary )
- 14 register: 4 16-bit general register ( accessible as a low or high portion of 8 - bit): AX - accumulator
- BX - base register
- CX - Count Register
- DX - the data register
- SP - Stack Pointer
- BP - base pointer
- SI - Source Index
- DI - Destination Index
- CS - Code Segment
- DS - Data Segment
- SS - Stack Segment
- ES - Extra Segment
- CF - Übertragflag ( engl. carry flag )
- PF - parity flag ( engl. parity flag )
- AF - Hilfsübertragsflag (English auxiliary carry flag )
- ZF - zero flag ( engl. zero flag )
- SF - sign flag ( engl. sign flag )
- TF - Einzelschrittflag (English trap flag )
- IF - Interrupt enable flag (English interrupt enable flag )
- DF - direction flag ( engl. direction flag )
- OF - overflow flag (English overflow flag )
- L1 cache: No
- L2 cache: No
- Number of transistors: 29,000
- Type: 40-pin DIL
- Operation voltage ( Vcore ): 5 volts
- Release Date: 1978
- Manufacturing Technology: 3 microns
- The size: 33 mm2 with 29,000 transistors
- Clock rates: 8086: 4.77 MHz (0.33 MIPS)
- 8086-2: 8 MHz (0.66 MIPS)
- 8086-1: 10 MHz (0.75 MIPS)
In addition to pin - and function the same replicas ( esp. those produced in CMOS technology, NEC V20 and V30 ) and the cheaper, " slimmed down " version 8088, were like the Motorola used in competitors to the IBM PC 68000 processor, rarely the Zilog Z8000, rarely the National Semiconductor NS16032. ( However, both the Motorola 68000 and NS16032 are 32- bit processors. )