An 8MHz Intel 80286 Microprocessor
|Produced||From 1982 to early 1990s|
|Max. CPU clock rate||6 MHz (4 MHz for a short time) to 25 MHz|
|Instruction set||x86-16 (with MMU)|
The Intel 80286 ("eighty-two-eighty-six"; also called the iAPX 286, "two-eighty-six"), introduced on 1 February 1982, was a 16-bit x86 microprocessor with 134,000 transistors. Like its contemporary simpler cousin, the 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088. It was employed for the IBM PC/AT, introduced in 1984, and then widely used in most PC/AT compatible computers until the early 1990s. The 80286 was the first x86 microprocessor with memory management and wide protection abilities.
After the 6 and 8 MHz initial releases, it was subsequently scaled up to 12.5 MHz. (AMD and Harris later pushed the architecture to speeds as high as 20 MHz and 25 MHz, respectively.) On average, the 80286 had a speed of about 0.21 instructions per clock. The 6 MHz model operated at 0.9 MIPS, the 10 MHz model at 1.5 MIPS, and the 12 MHz model at 2.66 MIPS.
The later E-stepping level of the 80286 was free of the several significant errata that caused problems for programmers and operating system writers in the earlier B-step and C-step CPUs (common in the AT and AT clones).
The 80286 was designed for multi-user systems with multitasking applications, including communications (such as automated PBXs) and real-time process control. It had 134,000 transistors and consisted of four independent units: address unit, bus unit, instruction unit and execution unit. These were organized into a pipeline, significantly increasing performance. It was produced in a 68-pin package including PLCC (Plastic Leaded Chip Carrier), LCC (Leadless chip carrier) and PGA (Pin Grid Array) packages.
The performance of the 80286 per clock cycle exceeded that of the Intel 8086 and Intel 8088 by more than two times. This increase of the 80286's performance over its immediate predecessors may be[according to whom?] the largest among the generations of x86 processors. Calculations of the addresses (such as base+index) were less expensive because they were performed by a special unit in the 286. The 8086 had to do effective address computation using its general ALU, which led to a significant clock penalty. Also, the 80286 was more efficient in complex mathematical operations (such as MUL/DIV) than its predecessor.
The intel 80286 had a 24-bit address bus and was able to address up to 16 MB of RAM, compared to 1 MB for its predecessor. However cost and initial rarity of software using the memory above 1 MB meant that 80286 computers were rarely shipped with more than one megabyte of RAM. Additionally, there was a performance penalty involved in accessing extended memory from real mode, as noted below.
An interesting feature of this processor is that it was the first x86 processor with protected mode. Protected mode enabled up to 16 MB of memory to be addressed by the on-chip linear memory management unit (MMU) with 1 GB logical address space. The MMU also provided protection from (crashed or ill-behaved) applications writing outside their allocated memory zones. The MMU and protection mechanisms are enabled only in case of protected mode (except for the segment overrun protection) keeping them disabled in real mode of operation. Several additional instructions were introduced in protected mode of 80286, which are helpful for multitasking operating systems.
Another important feature of 80286 is Prevention of Unauthorised Access. This is achieved by:
- Forming different segments for data, code, and stack, and preventing their overlapping
- Assigning Privilege levels to each segment. Segment with lower privilege level cannot access the segment with higher privilege level.
The 80286 provided built in memory protection mechanisms which had been almost exclusive to mainframes and minicomputers (CPUs like the NS320xx and M68000 needed additional components in order to implement MMU functions) and the large performance enhancements represented by the 80286 and many of its successors would pave the way for the x86 and the IBM PC architecture to extend from low performance personal computers all the way to high-end workstations and servers and even drive the market for other architectures.
In 80286 (and in its co-processor Intel 80287), arithmetic operations can be performed on the following different types of numbers:
- unsigned packed decimal,
- unsigned binary,
- unsigned unpacked decimal,
- signed binary, and
- floating point numbers.
By design, the 286 could not revert from protected mode to the basic 8086-compatible "real mode" without a hardware-initiated reset. In the PC/AT introduced in 1984, IBM added external circuitry as well as specialized code in the ROM BIOS to enable special series of program instructions to cause the reset, allowing real-mode reentry (while retaining active memory and control). Though it worked correctly, the method imposed a huge performance penalty.
In theory, real-mode applications could be directly executed in 16-bit protected mode if certain rules were followed; however, as many DOS programs broke those rules, protected mode was not widely used until the appearance of its successor, the 32-bit Intel 80386, which was designed to go back and forth between modes easily. When Intel designed the 286, it was not designed to be able to multitask real-mode applications; real mode was intended to be a simple way for a bootstrap loader to prepare the system and then switch to protected mode.
After its appearance in 1982, the protected mode of the 80286 had not been utilized for many years. For example, in 1986 the only program that made use of it was VDISK, a RAM disk driver included with the PC DOS 3.0 and 3.1. (The DOS could utilize the additional RAM available in the protected mode—extended memory either via BIOS call (INT 15h, AH=87h), or as RAM disk, or as emulation of expanded memory.) The difficulty lay in the incompatibility of old DOS (real mode) programs with protected mode. They simply could not natively run in this new mode without significant modification. In protected mode, memory management and interrupt handling were done differently than in real mode. In addition, DOS programs would not be allowed to access or modify data and code segments that did not belong to them as they could in real mode. The choice that OS system developers faced was either to start from scratch and create an OS that would not run the vast majority of the old programs or to come up with a version of DOS that was slow and ugly but still would run a majority of the old programs.
In January 1985, Digital Research previewed the Concurrent DOS 286 operating system made in cooperation with Intel. The product would function strictly as an 80286 native mode operating system, allowing users to take full advantage of the protected mode to perform multi-user, multitasking operations while running 8086 emulation. This worked on the B-1 prototype step of the chip, but Digital Research discovered problems with the emulation on the production level C-1 step in May, which would not allow Concurrent DOS 286 to run 8086 software in protected mode. The release of Concurrent DOS 286 was delayed until Intel would develop a new version of the chip. In August, after extensive testing E-1 step samples of the 80286, Digital Research acknowledged that Intel corrected all documented 286 errata, but said there were still undocumented chip performance problems with the prerelease version of Concurrent DOS 286 running on the E-1 step. Intel said the approach Digital Research wished to take in emulating 8086 software in protected mode differed from the original specifications. Nevertheless, they implemented minor changes in the microcode that would allow Digital Research to run emulation mode much faster, incorporated into the E-2 step. Named IBM 4680 OS, IBM originally chose DR Concurrent DOS 286 as the basis of their IBM 4680 computer for IBM Plant System products and Point-of-Sale terminals in 1986. The same limitations affected Digital Research's FlexOS 286 version 1.0, a derivation of Concurrent DOS 286, developed in 1986, introduced in January 1987, and later adopted by IBM for their IBM 4690 OS.
The problems led to Bill Gates famously referring to the 80286 as a "brain dead chip", since it was clear that the new Microsoft Windows environment would not be able to run multiple MS-DOS applications with the 286. It was arguably responsible for the split between Microsoft and IBM, since IBM insisted that OS/2, originally a joint venture between IBM and Microsoft, would run on a 286 (and in text mode).
- U80601 – Almost identical copy of the 80286 manufactured 1989/90 in the German Democratic Republic.
- LOADALL – Undocumented 80286/80386 instruction that could be used to gain access to all available memory in real mode.
- "Microprocessor Hall of Fame". Intel. Archived from the original on 2007-07-06. Retrieved 2007-08-11.
- "Intel Museum – Microprocessor Hall of Fame". Intel.com. 2009-05-14. Retrieved 2009-06-20.[dead link]
- "Intel Architecure [sic] Programming and Information". Intel80386.com. 2004-01-13. Retrieved 2009-04-28.
- "80286 Microprocessor Package, 1982". Content.cdlib.org. Retrieved 2009-04-28.
- Edward Foster (26 August 1985). "Intel shows new 80286 chip – Future of DRI's Concurrent DOS 286 still unclear after processor fixed". InfoWorld (InfoWorld Media Group) 7 (34): 21. ISSN 0199-6649.
- Bahadure, Nilesh B. (2010). "15 Other 16-bit microprocessors 80186 and 80286". Microprocessors: 8086/8088, 80186/80286, 80386/80486 and the Pentium Family. PHI Learning Pvt. Ltd. pp. 503–537. ISBN 8120339428.
- "Intel 80286 microprocessor family". CPU-World. Retrieved 19 May 2012.
- Petzol, Charles (1986). "Obstacles to a grown up operating system". PC Magazine 5 (11): 170–74.
- Edward Foster (13 May 1985). "Super DOS awaits new 80286 – Concurrent DOS 286 – delayed until Intel upgrades chip – offers Xenix's power and IBM PC compatibility". InfoWorld (InfoWorld Media Group) 7 (19): 17–18. ISSN 0199-6649.
- Melissa Calvo and Jim Forbes (1986-02-10). InfoWorld, ed. IBM to use a DRI operating system. Retrieved 2011-09-06.
- Dewar, Robert B. K.; Smosna, Matthew (1990). Microprocessors: A Programmer's View. New York: McGraw-Hill. ISBN 0-07-016638-2.
|Wikimedia Commons has media related to Intel 80286.|
- Intel Datasheets
- Intel 80286 Programmer's Reference Manual 1987(txt). Hint: use e.g. Hebrew (IBM-862) encoding.
- Linux on 286 laptops and notebooks
- Intel 80286 images and descriptions at cpu-collection.de
- CPU-INFO: 80286, in-depth processor history
- Overview of all 286 compatible chips