Intel 80286 - Intel 80286

Intel 80286
KL Intel i286.jpg
Ein Intel A80286-8-Prozessor mit einem grauen Keramik-Heatspreader
Allgemeine Information
Gestartet 1982
Abgesetzt 1991
Gängige Hersteller
Leistung
max. CPU- Taktrate 5 MHz bis 25 MHz
FSB- Geschwindigkeiten 5 MHz bis 25 MHz
Datenbreite 16 Bit
Adressbreite 24 Bit
Architektur und Klassifizierung
Mindest. Feature-Größe 1,5 µm
Befehlssatz x86-16 (mit MMU )
Physikalische Spezifikationen
Transistoren
Co-Prozessor Intel 80287
Pakete)
Steckdosen)
Geschichte
Vorgänger 8086 , 8088 (während 80186 zeitgenössisch war)
Nachfolger Intel 80386

Der Intel 80286 (auch als iAPX 286 vermarktet und oft als Intel 286 ) bezeichnet ist ein 16-Bit- Mikroprozessor , der am 1. Februar 1982 eingeführt wurde. Es war die erste 8086-basierte CPU mit separaten, nicht gemultiplexten Adress- und Datenbussen und auch die erste mit Speicherverwaltung und umfassenden Schutzfunktionen. Der 80286 verwendete in seiner ursprünglichen nMOS ( HMOS ) Inkarnation ungefähr 134.000 Transistoren und konnte, genau wie der zeitgenössische 80186 , die meisten Software, die für die früheren Intel 8086- und 8088- Prozessoren geschrieben wurde, korrekt ausführen .

Der 80286 wurde für den 1984 eingeführten IBM PC/AT verwendet und dann bis Anfang der 1990er Jahre in den meisten PC/AT-kompatiblen Computern verwendet.

Geschichte und Leistung

AMD 80286 (16-MHz-Version)

Intels erste 80286-Chips wurden für eine maximale Taktrate von 5, 6 oder 8 MHz spezifiziert  und spätere Releases für 12,5 MHz. AMD und Harris produzierten später 16-MHz-, 20-MHz- bzw. 25-MHz-Teile. Intersil und Fujitsu haben auch vollständig statische CMOS- Versionen von Intels ursprünglicher Depletion-Load-nMOS- Implementierung entwickelt, die hauptsächlich auf batteriebetriebene Geräte ausgerichtet sind.

Im Durchschnitt soll der 80286 bei "typischen" Programmen eine Geschwindigkeit von etwa 0,21 Befehlen pro Takt haben , obwohl er bei optimiertem Code und in engen Schleifen deutlich schneller sein könnte, da viele Befehle in jeweils 2 Taktzyklen ausgeführt werden könnten . Die 6-MHz-, 10-MHz- und 12-MHz-Modelle wurden Berichten zufolge mit 0,9 MIPS, 1,5 MIPS bzw. 2,66 MIPS betrieben.

Die spätere E- Stepping-Stufe des 80286 war frei von mehreren signifikanten Errata , die Programmierern und Betriebssystemschreibern in den früheren B-Step- und C-Step-CPUs (bei den AT- und AT-Klonen üblich) Probleme bereiteten. Dieses E-2-Trittteil könnte später 1986 erhältlich gewesen sein.

Die Architektur

Vereinfachte 80286-Mikroarchitektur
Intel 80286 sterben erschossen

Intel erwartete nicht, dass Personalcomputer den 286er verwenden würden. Die CPU wurde für Mehrbenutzersysteme mit Multitasking- Anwendungen entwickelt, einschließlich Kommunikation (wie automatisierte PBXs ) und Echtzeit- Prozesssteuerung . Er hatte 134.000 Transistoren und bestand aus vier unabhängigen Einheiten: Adresseinheit, Buseinheit, Befehlseinheit und Ausführungseinheit, die wie beim 8086 in einer lose gekoppelten (gepufferten) Pipeline organisiert sind. Sie wurde in einem 68-Pin-Gehäuse hergestellt , einschließlich PLCC ( Plastic Leaded Chip Carrier ), LCC ( Leadless Chip Carrier ) und PGA ( Pin Grid Array ) Gehäusen.

Die Leistungssteigerung des 80286 gegenüber dem 8086 (oder 8088) könnte in vielen Programmen mehr als 100 % pro Taktzyklus betragen (dh eine doppelte Leistung bei gleicher Taktgeschwindigkeit). Dies war eine große Steigerung, die mit den Geschwindigkeitsverbesserungen sieben Jahre später, als der i486 (1989) oder der ursprüngliche Pentium (1993) eingeführt wurden , völlig vergleichbar war . Dies lag zum Teil an den nicht gemultiplexten Adress- und Datenbussen, hauptsächlich aber daran, dass Adressberechnungen (wie base+index ) kostengünstiger waren. Sie wurden von einer dedizierten Einheit im 80286 ausgeführt, während der ältere 8086 eine effektive Adressberechnung unter Verwendung seiner allgemeinen ALU durchführen musste , was in vielen Fällen mehrere zusätzliche Taktzyklen verbrauchte. Außerdem war der 80286 effizienter beim Vorabholen von Befehlen, Puffern, Ausführen von Sprüngen und bei komplexen mikrocodierten numerischen Operationen wie MUL / DIV als sein Vorgänger.

Der 80286 umfasste zusätzlich zu allen 8086-Befehlen alle neuen Befehle des 80186: ENTER, LEAVE, BOUND, INS, OUTS, PUSHA, POPA, PUSH unmittelbar, IMUL unmittelbar und sofortige Verschiebungen und Drehungen. Der 80286 fügte auch neue Anweisungen für den geschützten Modus hinzu: ARPL, CLTS, LAR, LGDT, LIDT, LLDT, LMSW, LSL, LTR, SGDT, SIDT, SLDT, SMSW, STR, VERR und VERW. Einige der Anweisungen für den geschützten Modus können (oder müssen) im realen Modus verwendet werden, um den geschützten Modus einzurichten und zu wechseln, und einige (wie SMSW und LMSW) sind für den realen Modus selbst nützlich.

Der Intel 80286 hatte ein 24-Bit-Adreßbus und konnte 16 bis adressieren  MB von RAM im Vergleich zur 1 MB Adressierbarkeit des Vorgängers. Die Speicherkosten und die anfängliche Seltenheit von Software, die den Speicher über 1 MB verwendet, führten jedoch dazu, dass 80286-Computer selten mit mehr als einem Megabyte RAM ausgeliefert wurden. Darüber hinaus gab es eine Leistungseinbuße beim Zugriff auf den Erweiterungsspeicher aus dem Realmodus (in dem DOS, das bis Mitte der 1990er Jahre dominierende PC-Betriebssystem, lief), wie unten erwähnt.

Merkmale

Siemens 80286 (10-MHz-Version)
IBM 80286 (8-MHz-Version)

Sicherheitsmodus

Der 286 war der erste der x86-CPU-Familie, der den geschützten virtuellen Adressmodus unterstützte , der allgemein als " geschützter Modus " bezeichnet wird. Darüber hinaus war es der erste kommerziell erhältliche Mikroprozessor mit On-Chip- MMU- Fähigkeiten (Systeme, die die gleichzeitigen Motorola 68010 und NS320xx verwenden, konnten mit einem optionalen MMU-Controller ausgestattet werden). Dies würde es IBM-Kompatiblen zum ersten Mal ermöglichen, über fortschrittliche Multitasking-Betriebssysteme zu verfügen und auf dem von Unix dominierten Server- / Workstation- Markt zu konkurrieren .

Im geschützten Modus von 80286 wurden mehrere zusätzliche Anweisungen eingeführt, die für Multitasking-Betriebssysteme hilfreich sind.

Ein weiteres wichtiges Merkmal von 80286 ist die Verhinderung von unbefugtem Zugriff. Dies wird erreicht durch:

  • Bilden verschiedener Segmente für Daten, Code und Stack und Verhindern ihrer Überlappung.
  • Zuweisen von Berechtigungsstufen zu jedem Segment. Segmente mit niedrigeren Berechtigungsstufen können nicht auf Segmente mit höheren Berechtigungsstufen zugreifen.

In 80286 (und in seinem Co-Prozessor Intel 80287 ) können arithmetische Operationen mit den folgenden verschiedenen Arten von Zahlen durchgeführt werden:

Der 286 konnte ohne ein hardwareinitiiertes Zurücksetzen nicht vom geschützten Modus in den grundlegenden 8086-kompatiblen realen Adressmodus (" realer Modus ") zurückkehren. In dem 1984 eingeführten PC/AT fügte IBM externe Schaltungen sowie speziellen Code im ROM-BIOS und dem 8042- Peripherie-Mikrocontroller hinzu, damit die Software das Zurücksetzen veranlassen kann, um einen Wiedereintritt in den Realmodus zu ermöglichen, während der aktive Speicher beibehalten wird und die Kontrolle an das System zurückgegeben wird Programm, das den Reset ausgelöst hat. (Das BIOS ist notwendigerweise beteiligt, da es die Kontrolle direkt erhält, wenn die CPU zurückgesetzt wird.) Obwohl es korrekt funktionierte, verursachte die Methode einen enormen Leistungseinbruch.

Theoretisch könnten Real-Mode-Anwendungen direkt im 16-Bit-geschützten Modus ausgeführt werden, wenn bestimmte Regeln befolgt werden (neu vorgeschlagen mit der Einführung des 80286); Da jedoch viele DOS-Programme diesen Regeln nicht entsprachen, wurde der geschützte Modus bis zum Erscheinen seines Nachfolgers, dem 32-Bit- Intel 80386 , der entwickelt wurde, um leicht zwischen den Modi hin- und herzuwechseln und eine Emulation von Real-Modus innerhalb des geschützten Modus. Als Intel den 286 entwarf, war er nicht für Multitasking-Real-Mode-Anwendungen ausgelegt; Der Real-Modus war als einfache Möglichkeit für einen Bootstrap-Loader gedacht, das System vorzubereiten und dann in den geschützten Modus zu wechseln; Im Wesentlichen wurde der 80286 im geschützten Modus als neuer Prozessor mit vielen Ähnlichkeiten zu seinen Vorgängern entwickelt, während der Realmodus des 80286 für kleinere Systeme angeboten wurde, die von einer fortschrittlicheren Version des 80186-CPU-Kerns mit Vorteilen profitieren könnten wie höhere Taktraten, schnellere Befehlsausführung (gemessen in Taktzyklen) und nicht gemultiplexte Busse, jedoch nicht der 24-Bit (16 MB) Speicherplatz.

Um den geschützten Modus zu unterstützen, wurden neue Anweisungen hinzugefügt: ARPL, VERR, VERW, LAR, LSL, SMSW, SGDT, SIDT, SLDT, STR, LMSW, LGDT, LIDT, LLDT, LTR, CLTS. Es gibt auch neue Ausnahmen (interne Interrupts): ungültiger Opcode, Koprozessor nicht verfügbar, Doppelfehler, Koprozessorsegmentüberlauf, Stapelfehler, Segmentüberlauf/allgemeiner Schutzfehler und andere nur für den geschützten Modus.

Betriebssystemunterstützung

Der geschützte Modus des 80286 wurde erst viele Jahre nach seiner Veröffentlichung routinemäßig in PC-Anwendungen verwendet, zum Teil wegen der hohen Kosten für das Hinzufügen von Erweiterungsspeicher zu einem PC, aber auch wegen des Bedarfs an Software zur Unterstützung der großen Benutzerbasis von 8086 PC. 1986 war zum Beispiel das einzige Programm, das davon Gebrauch machte, VDISK, ein RAM-Disk- Treiber, der in PC DOS 3.0 und 3.1 enthalten ist. Ein DOS könnte den im Protected Mode ( Extended Memory ) zusätzlich verfügbaren Arbeitsspeicher entweder über einen BIOS- Aufruf (INT 15h, AH=87h), als RAM-Disk oder als Emulation von Expansionsspeicher nutzen . Die Schwierigkeit lag in der Inkompatibilität älterer Real-Mode- DOS-Programme mit dem Protected Mode. Sie konnten in diesem neuen Modus einfach nicht ohne wesentliche Änderungen nativ ausgeführt werden. Im geschützten Modus wurden Speicherverwaltung und Interrupt-Handling anders ausgeführt als im Real-Modus. Darüber hinaus greifen DOS-Programme normalerweise direkt auf Daten und Codesegmente zu, die nicht zu ihnen gehören, da der Real-Modus ihnen dies ohne Einschränkung erlaubt; Im Gegensatz dazu bestand die Designabsicht des geschützten Modus darin, Programme daran zu hindern, auf andere Segmente als ihre eigenen zuzugreifen, es sei denn, ein besonderer Zugriff wurde ausdrücklich erlaubt. Es war zwar möglich, eine Umgebung im geschützten Modus einzurichten, die allen Programmen den Zugriff auf alle Segmente ermöglichte (indem alle Segmentdeskriptoren in die GDT eingegeben und ihnen alle die gleiche Berechtigungsstufe zugewiesen wurden), aber dies untergrub fast alle Vorteile des geschützten Modus, mit Ausnahme von den erweiterten (24-Bit) Adressraum. Die Wahl, die OS-Entwickler hatten, war, entweder bei Null anzufangen und ein Betriebssystem zu entwickeln, das die überwiegende Mehrheit der alten Programme nicht ausführen würde, oder eine DOS-Version zu entwickeln, die langsam und hässlich war (dh hässlich von einem internen technischen viewpoint), würde aber immer noch einen Großteil der alten Programme ausführen. Der geschützte Modus bot auch keinen ausreichenden Leistungsvorteil gegenüber dem 8086-kompatiblen realen Modus, um die Unterstützung seiner Fähigkeiten zu rechtfertigen; tatsächlich, abgesehen von Taskwechseln beim Multitasking, führte dies tatsächlich nur zu einem Leistungsnachteil, indem viele Anweisungen durch eine Litanei zusätzlicher Privilegienprüfungen verlangsamt wurden. Im geschützten Modus waren die Register immer noch 16-Bit, und der Programmierer war immer noch gezwungen, eine aus 64-kB-Segmenten bestehende Speicherabbildung zu verwenden, genau wie im realen Modus.

Im Januar 1985 stellte Digital Research eine Vorschau des in Zusammenarbeit mit Intel entwickelten Betriebssystems Concurrent DOS 286 1.0 vor . Das Produkt würde ausschließlich als 80286-Betriebssystem im nativen Modus (dh im geschützten Modus) funktionieren, das es Benutzern ermöglicht, den geschützten Modus voll auszunutzen, um Multi-User-Multitasking-Operationen durchzuführen, während die 8086-Emulation ausgeführt wird. Dies funktionierte beim B-1-Prototypschritt des Chips, aber Digital Research entdeckte im Mai Probleme mit der Emulation auf dem Produktionslevel C-1-Schritt, die es Concurrent DOS 286 nicht erlauben würden, 8086-Software im geschützten Modus auszuführen. Die Veröffentlichung von Concurrent DOS 286 wurde verzögert, bis Intel eine neue Version des Chips entwickeln würde. Im August, nach umfangreichen Tests an E-1-Step-Samples des 80286, bestätigte Digital Research, dass Intel alle dokumentierten 286-Errata korrigiert hat, sagte jedoch, dass es immer noch undokumentierte Chipleistungsprobleme mit der Vorabversion von Concurrent DOS 286, die auf dem E- 1 Schritt. Intel sagte, dass der Ansatz, den Digital Research bei der Emulation von 8086-Software im geschützten Modus verfolgen wollte, von den ursprünglichen Spezifikationen abwich. Trotzdem haben sie im E-2-Schritt kleinere Änderungen am Mikrocode vorgenommen , die es Digital Research ermöglichen würden, den Emulationsmodus viel schneller auszuführen. Benannt IBM 4680 OS , IBM ursprünglich DR Concurrent DOS 286 als Basis ihrer wählt IBM 4680 Computer für IBM Anlagensystemprodukte und Point-of-Sale - Terminals im Jahr 1986 Digitale Research FlexOS 286 Version 1.3, eine Ableitung von Concurrent DOS 286, war 1986 entwickelt, im Januar 1987 eingeführt und später von IBM für das Betriebssystem IBM 4690 übernommen , aber die gleichen Einschränkungen betrafen es.

Die Probleme führten dazu, dass Bill Gates den 80286 bekanntlich als "hirntoten Chip" bezeichnete, da klar war, dass die neue Microsoft Windows- Umgebung nicht in der Lage sein würde, mehrere MS-DOS- Anwendungen mit dem 286 auszuführen. Es war wohl verantwortlich für die Spaltung zwischen Microsoft und IBM, da IBM darauf bestand, dass OS/2 , ursprünglich ein Joint Venture zwischen IBM und Microsoft, auf einem 286er (und im Textmodus) laufen würde.

Andere Betriebssysteme, die den geschützten Modus des 286 verwendeten, waren Microsoft Xenix (um 1984), Coherent und Minix . Diese wurden durch die Einschränkungen des geschützten 80286-Modus weniger behindert, da sie nicht darauf abzielten, MS-DOS-Anwendungen oder andere Real-Modus-Programme auszuführen. In seinem Nachfolgechip 80386 hat Intel den Protected Mode erweitert, um mehr Speicher zu adressieren, und fügte auch den separaten virtuellen 8086-Modus hinzu , einen Modus innerhalb des Protected-Modus mit viel besserer MS-DOS-Kompatibilität, um den unterschiedlichen Anforderungen des Marktes gerecht zu werden.

Unterstützungskomponenten

Diese Liste der Busschnittstellenkomponenten, die mit dem Intel 80286-Mikroprozessor verbunden sind.

  • 82258 Advanced Direct Memory Access Controller - Übertragungsrate von 8 MB pro Sekunde, unterstützt bis zu 32 Unterkanäle, Maskieren und Vergleichen, Verifizieren, Übersetzen und Montage-/Demontagevorgänge, die gleichzeitig verarbeitet werden. Es unterstützt auch einen Adressbereich von 16 MB. Diese waren für 170 US-Dollar in Mengen von 100 erhältlich.
  • 82C284 Taktgenerator und Treiber
  • 82288 Buscontroller
  • 82289 Bus-Schiedsrichter

Siehe auch

  • U80601 – Fast identische Kopie des 80286 hergestellt 1989/90 in Ostdeutschland . In der Sowjetunion wurde ein Klon des 80286 als KR1847VM286 ( russisch : КР1847ВМ286 ) bezeichnet.
  • iAPX , für den iAPX-Namen
  • LOADALL – Undokumentierter 80286/80386-Befehl, der verwendet werden könnte, um im Realmodus auf den gesamten verfügbaren Speicher zuzugreifen.
  • Windows/286

Verweise

Externe Links