REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Familie von Intel

Die 80x86-Familie von Intel


Die 80x86-Familie von Intel

Entwicklung, Prozessoren, Betriebsmodi, Multitasking

Referat: Olaf Schmidt, Dezember 1992


Der 8086 ist der erste Vertreter dieser Prozessorgruppe. Er wurde

bereits 1978 entwickelt. Dieser Prozessor unterstützt nur den



Real Mode, in dem auch DOS abläuft. Alle folgenden Prozessoren,

unabhängig von den Erweiterungen, die sie erfahren haben, sind

kompatibel zu diesem Prozessor. Der Nachfolger 8088 stellt jedoch

eine rückwärtige Entwicklung dar. Er hat im Vergleich zum 8086,

der über einen 16 Bit breiten Datenbus verfügt, nur einen 8 Bit

breiten Datenbus. Der Befehlssatz und der interne Aufbau sind

jedoch identisch.

Die anderen Familienmitglieder sind Weiterentwicklungen des 8086.

Der 80186 besitzt einige neue Zusatzfunktionen, hat sich aber nie

durchgesetzt.

Der 80286

Der 80286 erhielt von den Entwicklern einige neue Register und

einen größeren Adressraum. Die wichtigste Neuerung ist der

Protected Mode, der jedoch unter DOS nicht zum Einsatz kommt.

Der Protected Mode

Der Protected Mode wurde für die Unterstützung von

leistungsfähigen Multitasking-Betriebssystemen entwickelt. Bei

solchen Betriebssystemen laufen zwei oder mehrere Tasks1

(scheinbar) parallel ab2. In einer Textverarbeitung z.B. wird,

während Sie im Vordergrund einen Text schreiben (1.Task), im

Hintergrund ein anderer Text aufbereitet und an den Drucker

gesendet (2.Task). Bei Ausführung dieser Tasks muß eine sinnvolle

Koordination gewährleistet sein, und die Tasks müssen

gegeneinander gesichert und geschützt werden (z.B. gegen

Überschreiben).

Folgende Anforderungen an den Prozessor zur Unterstützung eines

Multitasking-Betriebsystems werden erfüllt:

a)Gegenseitiger Schutz der Tasks und des Betriebssystems vor dem

unerlaubten Überschreiben fremder Speicherbereiche

b)Unterstützung beim Taskwechsel, vor allem beim Sichern und

Restaurieren des Betriebszustandes eines Tasks

c)Privilegierung des Betriebssystems3 bei der Ausführung

bestimmter Maschinensprache-Befehle und Operationen

d)Unterstützung bei der Errichtung einer virtuellen

Speicherverwaltung4

Die Programmierung des Protected Mode beim 80286 unterscheidet

sich nicht wesentlich von der Programmierung des Real Mode des

8086. Hauptsächlich sind ein paar neue Register dazugekommen, und

die Adressierung hat sich grundlegend geändert. Um die Adressie

rung braucht sich der Assembler-Programierer jedoch nicht

kümmern, da dies Aufgabe des Assemblers (z.B. MASM) ist. Die

neuen Register sind allein für die Adressierung zuständig.

Der 80386

Der 80386 erhielt eine Weiterentwicklung des Protected Mode (V86-

Mode). Er hat zum ersten Mal in der Familie 32 Bit Register. Es

gibt eine SX-Version mit 16 Bit Datenbus und eine DX-Version mit

32 Bit Datenbus. Dieser Prozessor erhielt als Erweiterung den

Virtual-86-Mode.

Die auch für den Real Mode interessante Erweiterung betrifft die

Register. Sie sind jetzt nicht mehr nur 16 Bit breit sondern 32

Bit breit. Die alten Register AX, BX, CX, DX bleiben weiterhin

erhalten. Sie stellen die Lo-Word Teile der 32 Bit Register dar.

Die neuen Register heißen EAX, EBX, ECX, EDX ('E'=Extended). Das

Hi-Word des 32 Bit Registers läßt sich im Gegensatz zu den Lo-

Word Registern weder alleine noch in zwei 8 Bit Register (z.B.

AH, AL) aufgeteilt ansprechen. Auch die Segmentregister sind nun

32 Bit breit. So lassen sich theoretisch bis zu 4 GByte in einem

Segment verwalten. Es gibt auch noch weitere Debug- und

Steuerregister, die hier aber nicht betrachtet werden sollen.

Der Virtual-86-Mode

Der Virtual-86-Mode (V86-Mode) ist eine Kompromißlösung zwischen

Proteced Mode und Real Mode. Da sich der Protected Mode des 80286

nicht durchsetzen konnte, wurde der V86-Mode eingeführt. Er wird

von vielen Erweiterungen (z.B. EMM386.SYS von Microsoft zur EMS-

Simulation) und Multitasking Systemen (z.B. DOS-Box von Windows)

benutzt.

Im V86-Mode erscheint dem Programm das System wie ein Rechner im

Real Mode. Gleichzeitig läuft jedoch im Hintergrund das

Multitasking      Betriebssystem mit Speicherverwaltung,

Taskumschaltung und Privilegregeln des Protected Mode weiter. Dem

Programm stehen jedoch die Register und Möglichkeiten des 80386

im vollem Umfang zur Verfügung. Nur bei der Verwendung einer

80386 Adressierung (z.B. Segmente >64 KByte) unterbricht das

System und führt eine Fehlerroutine aus.

Über die Besonderheit des 80386, Speicherbereiche irgendwo im

physikalischen Speicher simulieren5 zu können, läßt sich der

1 MByte große Adressraum des Real Mode beliebig plazieren.

Der 80486 oder i486

Dieser Nachfolger des 80386 hat auf dem Prozessor zusätzlich den

mathematischen Coprozessor 80387 untergebracht. Außerdem zeichnet

er sich durch die Bereitstellung eines auf dem Prozessor

untergebrachten Code-Caches6 und durch eine wesentlich schnellere

Verarbeitung vieler Maschinensprachebefehle aus.

Der 80486 ist bei gleicher Taktfrequenz etwa 3 mal so schnell wie

ein 80386. Er unterstützt eine 5-stufige Pipeline Technik, bei

der fünf Befehle in unterschiedlichen Ausführungsstadien7

parallel verarbeitet werden. Die Anwendung von RISC-Techniken

verhalf dem Prozessor dazu häufig, benutzte Befehle in einem oder

wenigen Taktzyklen zu bearbeiten. Die internen Datenwege des

80486 zwischen Prozessoreinheit, Arithmetikeinheit und Cache-

Speicher sind 128-Bit breit und erlauben deshalb eine besonders

schnelle Datenübertragung. Auch können Prozessor- und

Arithmetikeinheit zum Teil parallel arbeiten.

Literaturverzeichnis

PC-Intern 3.0, Tischer, Data Becker, 1992

DOS International 6/1989, DMV Verlag


1 Task (=Vorgang): voneinander überwiegend unabhängige Programme

oder Programmteile, die selbstständig arbeiten können

2 Da nur ein Prozessor zur Verfügung steht, kann auch nur ein

Task gleichzeitig abgearbeitet werden. Meist wird die

Prozessorzeit eingeteilt und die Tasks dann nacheinander

bearbeitet. Die Zeiteinheiten (time slice) liegen in der

Größenordnung vom einigen Millisekunden. Das Betriebssystem

unterbricht einen Task einfach nach der bestimmten Zeit und setzt

ihn dann zu einem späteren Zeitpunkt, wenn die anderen Tasks auch

mal an der Reihe waren, fort. So erscheint es dem Benutzer, als

würden die Tasks gleichzeitig ablaufen.

3 Das Betriebssystem muß privilegiert sein, bestimmte Operationen

auszuführen. Dazu gehören z.B. Task-Umschaltung, Anderung des

Prozessor Modus (z.B. zurück zum Realmodus) und die Verteilung

von Zugriffsrechten auf Speicher und Ressourcen.

4 Bei komplexen Programmen nimmt auch der Speicherbedarf zu. Das

System muß die Möglichkeit haben, mehr Speicher zu Verfügung zu

stellen, als physikalisch vorhanden ist. Dazu muß das System

erkennen, welche Speicherbereiche zwischenzeitlich auf Festplatte

ausgelagert werden können.

5 Der 80386 kann durch Verwendung von sog. page tables

physikalische Adressen im realen physikalischen Speicher

simulieren. D.h. ein Programm im V86-Mode schreibt an eine

bestimmte physikalische Adresse, in Wirklichkeit jedoch rechnet

der Prozessor selbständig um und schreibt an eine andere Adresse,

ohne das das Programm verändert oder angepaßt werden muß (der

Code bleibt unmodifiziert).

6 Im Code-Cache, einem sehr schnellem Speicher, der beim i486 auf

dem Prozessor untergebracht ist (8 KByte), werden die zuletzt

bearbeiteten Befehle zwischengespeichert. Wird ein Befehl ein

zweites Mal gebraucht, ist keine (langsame) Anforderung aus dem

konventionellen Speicher mehr nötig, sondern es kann auf den Code-

Cache zurückgegriffen werden.

7 a) Befehl lesen, b) Befehl dekodieren (Stufe 1), c) Befehl

dekodieren (Stufe 2), d) Befehl ausführen, e) Pipeline-Stufe

zurückschreiben






Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen