Intel-Prozessoren - der i80486 Text zum Verständnis: mc-modular 486-Mega Station history menue
... aus heutiger Sicht - wir schreiben justament den 18. November 2013 - ist das nachfolgende in der Beschreibung seines Geschwindigkeitsrausches fast ein wenig naiv - klingt zumindest so. Wichtig für uns "Gegenwärtige" ist es, sich klar zu machen, das auch unsere modernen Prozessoren nach grundlegend immer noch diesem Prinzip arbeiten - eigentlich sogar ganz genau so. Die einzigen Kenngrößen, welche sich verändert haben sind: die Taktfrequenz (gut diese nicht ganz unwesentlich - wir haben hier im "High End-Fall" von 40 MHz gesprochen - das sind heute GHz, die BUS-Breite ist von vormals 32 auf physische 128 Bit gestiegen, Cache sowie Zugriffspunkte zu den "Bridges" sind verbessert worden. Aber noch immer haben wir eigentlich den alten Computer von Zuse sowie den von John von Neumann (... ist auch nicht abzusehen, dass wir das demnächst ändern werden!!!). Der "486" ist auch heute noch die Architektur, von welcher irgend welch Zukunftsbestrebungen in Sachen "Intel-Prozessoren" abgeleitet werden ...
1. 486-Technologie für Anspruchsvolle
2. Architektur des i486-Prozessors
3. Der Registersatz
4. Verwandte Themen

INTEL-Mikroprozessorsen

 

William Bradford Shockley

Chip-Foto des i80486

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Informatik-Profi-Wissen

Quellen:

Autoren:

Ronald Miersch

Im 2. Teil werden wir uns mit der CPU-Platine der mc-modular-486-Station befassen. Dort wollen wir auch näher auf die Custom-Chips eingehen. Diese Chips sind für die Bereiche Speicherverwaltung und Bussteuerung zuständig.

Titelfoto


1. 486-Technologie für Anspruchsvolle  ... history menue scroll up
Wir schreiben das Jahr 1990 - die Entwicklung der PC-Klassen verläuft rasant. Und dennoch ist sie zu einem gewissen Abschlug gekommen: Die 386er-Architektur ist heute der Standard - wenn ein PC viel Power haben soll. Innerhalb dieser Klasse ist der 486er wiederum die absolute Spitze, was seinen Integrationsgrad und sein Programmiermodell betrifft. Für alle, die modernste PC-Technologie kennenlernen wollen (oder müssen) hier der Auftakt einer Serie, die auch dann Gewinn bringt, wenn man noch keinen 486er besitzt.
... von der Benchmark-Front werden die unglaublichsten Ergebnisse vermeldet, wenn 486er getestet werden. Landmark signalisiert Lichtgeschwindigkeit und Dhry- oder Whetstones zeigen Großcomputerwerte. So steht es in den Magazinen und Gazetten. Also ist es Zeit, die Dinge genau zu betrachten. Der 486er ist, was die Chip-Technologie bei Intel betrifft, ein großer Sprung nach vorn. Die PC-Industrie macht diesen Innovationssprung mit, denn der 486er ist als Softwareplattform im wesentlichen ein 386er mit raffinierten Ergänzungen. mc zeigt, was anspruchsvolle Computerleute an Technik erwartet, falls sie noch keinen 486er besitzen - oder wie sie den 486er besser verstehen und nutzen können, falls sie schon in der glücklichen Lage sind, konkret an einem solchen PC zu arbeiten. Auch, wer nie einen 486er besitzen möchte, muss wissen, wie PC-Spitzenmodelle funktionieren - schon allein um mitreden zu können. mc hat deshalb ein 486er-Board ausgesucht, das in die mc-modular-Linie paßt, damit die 486er-Technologie am konkreten Beispiel studiert werden kann. Denn nur am konkreten Design können Einzelheiten diskutiert werden, die später in der Praxis eine große Rolle spielen.
Modulares 486-Motherboard

 

Bild 1. Der interne Aufbau des i486

Den 1486 hat Intel im November 1989 vorgestellt. Dieser Prozessor besteht im Prinzip aus einem kompletten 80386Prozessor, dem 80387-Fließkomma-Prozessor sowie dem 82385 Cache-Controller. Hier wurden nicht nur alle Vorteile der 80386-Serie in einen einzigen Baustein implementiert, der Leistungsumfang konnte durch zusätzliche Befehle darüber hinaus noch erhöht werden. Was das heißt, das wird im Laufe der Serie klar werden. Rund um diesen Chip haben viele Firmen eine CPU aufgebaut. Wir bei mc haben uns für ein Design entschieden, das schnellen Hauptspeicher auf der Prozessorplatine enthält und deshalb intern wirklich mit Power arbeiten kann. Über einen passiven Bus werden die Peripherie-Karten bedient. Neben dem Hauptspeicher sind auch der Festplatten-Controller und der Grafik-Controller für höchsten Datendurchsatz konzipiert. Dieses System, die mc-modular-486-MegaStation, soll ihren Namen auch in Zukunft zu Recht tragen. Deshalb wurde das bewährte modular-Konzept gewählt. Hier in unserem System wird das modular-486-Motherboard als Zentralrechner eingesetzt. Der interne Cache des i486 bewirkt sehr schnelle Verarbeitungszeit, da einmal aus dem Speicher gelesene Daten sofort in den Cache übernommen werden und weitere Speicherzugriffe danach aus dem Cache-Speicher bedient werden. Der i486 stellt dazu 8 KByte Cache-Speicher zur Verfügung. Auf dem Motherboard der Mega-Station stehen 8 Megabyte Hauptspeicher zur Verfügung.
Einer der großen Vorteile des PC liegt wohl darin, dass alle wichtigen Funktionen auf Steckkarten untergebracht sind. So kann nun ein Gerät durch Zusammenstellung verschiedener Karten kundenspezifisch konfiguriert werden. Leider wurde dieser Schritt bei den meisten Herstellern nicht konsequent genug verfolgt. Will man nämlich zur nächst größeren CPU aufrüsten, muss das gesamte Motherboard erneuert werden. Da dieses fest im Gehäuse eingebaut ist und auch wegen unterschiedlicher Bauformen die Größe und Art des Gehäuses sowie das verwendete Netzteil bestimmt, kommt solch eine Aufrüstung meist der Anschaffung eines neuen Rechners gleich. Anders beim modular-Prinzip. Hier besteht das Motherboard komplett aus einer Steckkarte. Im Rechnergehäuse fest montiert ist nur der passive Bus. Will man nun zum Beispiel von einem AT auf einen 386 oder 486 aufrüsten, so muss lediglich die CPU-Karte ausgewechselt werden. Dieser Vorgang beschränkt sich auf ein paar Handgriffe und ist in wenigen Minuten erledigt.
Zur Steuerung von Festplatten wurde ein besonderer Leckerbissen integriert: der modulare Super-Cache-Controller. Dieser Controller wurde speziell für den professionellen Einsatz entwickelt. Über einen Hardware-Cache kann er Datentransferraten von mehreren Megabyte pro Sekunde durchführen. Der Controller kann dabei von 512 KByte bis zu 20 MByte Cache-Speicher aufnehmen. Die mittlere Zugriffszeit beträgt dabei weniger als 0,5 Millisekunden. Doch besitzt der Controller neben seinem Cache noch eine weitere bemerkenswerte Fähigkeit: mit dem Super-Cache-Controller können alle gängigen Festplattensysteme kombiniert werden. So können neben MFM- auch RLL-Festplatten gesteuert werden, genauso wie IDE-, SCSIoder ESDI-Laufwerke. Im Gegensatz zu anderen Controllern können am Super-Cache diese verschiedenen Festplattensysteme gleichzeitig betrieben werden, wobei die Anzahl der maximal gesteuerten Laufwerke zwischen acht und 28 (!) Festplatten betragen kann. Doch mehr dazu im vierten Teil unserer Serie.
Für den Bereich der Grafikausgabe haben wir uns einen Grafikcontroller ausgewählt, der in punkto Geschwindigkeit der CPU-Platine und dem Super-Cache-Controller in keinster Weise nachsteht. Soviel wollen wir nur vorab verraten: zum Einsatz kommt ein Texas-Chip aus der Serie 340x0 und der Begriff TIGA (Texas Instruments Graphics Architecture) ist für ihn auch kein Fremdwort. Lesen Sie im der fünften Folge, was es mit diesem Controller auf sich hat.
Warum es der Megastation nichts ausmacht, wenn einmal zum ungünstigsten Zeitpunkt der Strom ausfällt, werden wir später ebenso beschreiben, wie auch spezielle Einsatzbereiche, bei denen die Leistung der Megastation voll zum Tragen kommt. Anwendungen und verschiedene Betriebssysteme sollen vorgestellt werden, ebenso wie Applikationen, für deren Einsatz die Megastation konzipiert wurde. Es sei nur noch betont, dass alles das, was schon bei der Einführung der Z80-Rechner von der Industrie versprochen wurde, jetzt erst, dank der Leistungsfähigkeit von CPUs der 486er-Klasse, möglich werden wird. Allerdings erst, wenn auch die Software 386-like wird, wozu letztendlich diese Serie mit beitragen soll.


2. Architektur des i486-Prozessors history menue scroll up
Der 1486 vereinigt die komplette Speicherverwaltungs-Einheit (MMU), den Fließkomma-Arithmetik-Prozessor (FPU) sowie einen Cache-Controller der 386er-Linie (Bild 1). Der 1486 beinhaltet alle Eigenschaften des 386-Prozessors, jedoch sind Erweiterungen eingebaut, die eine deutliche Leistungssteigerung gegenüber dem 386 bewirken. Der Befehlssatz des 1486 beinhaltet neben zusätzlichen Anweisungen den gesamten Befehlssatz des 386. Die MMU ist voll kompatibel zu der des 386 Prozessors. Der integrierte Gleitkomma-Prozessor entspricht dem 80387. Das heißt, alle für den 386/ 387 und frühere Prozessoren aus der 80x86/80x87-Familie geschriebene Software läuft ohne Änderungen auf dem.i486. Verschiedene Erweiterungen wurden zur Leistungssteigerung direkt in den Prozessor integriert. So erlaubt der Cache-Speicher
häufig benutzte Daten direkt in der CPU zu halten und damit die Speicherzugriffe über den externen Bus zu reduzieren. Um Ausführungszeiten zu verringern, wurden RISC- (=Reduced Instruction Set Computers) Design-Techniken verwendet. Durch einen internen Burst-BUS kann der CacheSpeicher schneller bedient werden. Alle diese Eigenschaften kombiniert sorgen dafür, dass die Leistung des 1486 weit höher ist als die des 80386.
Die Speicherverwaltungseinheit besteht aus Segmentiereinheit und Paging Unit. Bei der Segmentierung kann die Verwaltung des logischen Adressbereiches durch Verschieben von Programm- und Datenbereichen beliebig aufgeteilt werden. Der Paging-Mechanismus arbeitet mit Segmentierung und ist auch transparent zum Segmentierungsprozeß. Das Paging kann über Software abgeschaltet werden. Jedes Segment kann in einen oder mehrere 4 KByte große Blöcke aufgeteilt werden.
Der Speicher ist in einem oder mehreren Segmenten von variabler Länge organisiert, wobei jedes Segment bis zu 2 hoch 32 Byte (= 4 Gigabyte) betragen kann. Einem Segment können Attribute zugeordnet werden, die dessen Lage im Speicher, die Größe, die Art (Stack, Code, Daten) sowie die Schutzcharakteristika kennzeichnen. Jede Task auf dem 1486 darf maximal 16 381 Segmente beinhalten, jedes bis zu 4 Gigabyte groß. Damit stehen jeder Task rein rechnerisch 64 Terabyte (!) zur Verfügung. Die Segmentiereinheit unterstützt vier Mechanismen zum Schutz von Anwendungen und Betriebssystemen gegeneinander. So können. höchst sichere Systeme gestaltet werden.
Der 1486 Prozessor besitzt zwei Betriebsarten: den Real Mode (8086-Modus) und den Protected Mode (Schutzmodus). Im Real Mode verhält sich der 1486 wie ein sehr schneller 8086. Vom Real Mode aus kann der Prozessor in den Protected Mode geschaltet werden. Im Protected Mode kann auf die anspruchsvolleren Möglichkeiten der Speicherverwaltung zugegriffen werden. Innerhalb des Protected Mode kann im Programm von einer Task auf eine andere Task, die als virtuelle 8086-Mode-Task arbeitet, umgeschaltet werden. Jede virtuelle 8086-Task verhält sich nach den Regeln des 8086, somit können dort Anwendungen ausgeführt werden oder sogar ganze Betriebssysteme ablaufen.
Die Fließkomma-Einheit des 1486 arbeitet parallel zur ALU und unterstützt eine Vielzahl von arithmetischen Befehlen für verschiedene numerische Datentypen. Zahlreiche transzendente Funktionen wie z.B. Sinus, Cosinus, Tangens und Logarithmus sind integriert. Die FPU unterstützt den ANSI/IEEE 754-1985 Standard für Gleitkomma-Arithmetik.
Der Cache-Speicher beträgt 8 KByte. Er ist als 4-Wege Assoziativspeicher aufgebaut und arbeitet nach dem so genannten 'writethrough' Verfahren. Dieser Cache beinhaltet einige Besonderheiten, um größere Flexiblität bei der Gestaltung des externen Speichers zu gewährleisten. So können Pages individuell als 'cachebar' oder 'nicht cachebar' durch Software oder auch durch Hardware gekennzeichnet werden. Ebenfalls kann der Cache über Software oder Hardware an- oder abgeschaltet werden.

3. Der Registersatz history menue scroll up
Der 1486 Registersatz umfasst alle Register des 80386 und des 80387 Coprozessors und damit auch die aller Vorgängertypen vom 8086 an. Dieser Registersatz kann in drei Teilbereiche aufgegliedert werden:

Die Basis-Register

  • General Purpose Register
  • Instruction Pointer
  • Flags Register
  • Segment Register

Die System Level Register - Control Register

  • System Adress Register Fließkomma Register
  • Data Register - Tag Word
  • Status Word
  • Instruction and Data Pointers - Control Word

Debug und Test Register

Bild 2. Das Programmiermodell des i486, wie es der Anwenderprogrammierer sieht

... Registermodell des i486

Basis-Register

Das Programmiermodell des 1486 wird hauptsächlich durch die Basis-Register bestimmt, die Sie in Bild 2 sehen. Das Hauptgeschehen spielt sich in den acht 32-BitGeneral-Purpose-Registern ab. Diese Register unterstützen Datenoperanden von 1, 8, 16 und 32 Bit sowie Bitfelder von 1 bis 32 Bit. Adressen-Operanden können 16 oder 32 Bit lang sein. Die 32-Bit-Register sind mit EAX, EBX, ECX, EDX, ESI, EDI, EBP und ESP bezeichnet. Von diesen 32-BitRegistern sind die unteren 16 Bit als AX, BX, CX, DX, SI, DI, BP und SP zugreifbar. Die oberen 16 Bit werden beim Zugriff auf die unteren 16 Bit nicht verändert. Die Architektur ist dabei zum 80286 aufwärtskompatibel.
8-Bit-Operationen können einzeln auf das untere Byte (Bits 0-7) sowie auf das obere Byte (Bits 8-15) der Register AX, BX, CD und DX zugreifen. Die unteren Bytes werden dann als AL, BL, CL und DL angesprochen, analog dazu die oberen Bytes als AH, BH, CH und DH.

Bild 3. Das erweiterte Flags Register

 
Der Instruction Pointer (=Befehlszeiger) ist als 32-Bit-Register (EIP) ausgelegt. EIP zeigt auf den nächsten auszuführenden Befehl - allerdings indirekt. EIP zeigt nur den Abstand (Offset) relativ zum Anfang des Codesegmentes an, einer Adresse, die mit dem Inhalt von Register CS und dem Inhalt später zu beschreibender Descriptortabellen einträge wiederum indirekt gebildet wird. Der Offset ist also immer bezogen auf die aktuelle Basis des Codesegments (CS). Die unteren 16 Bit (Bit 0-15) des EIP entsprechen wieder dem 16-Bit Instruction Pointer IP, der für die 16-Bit-Adressierung verwendet wird.

Flags Register

Unter den Basis-Registern dient dieses 32-Bit-Status-Register mit der Bezeichnung EFLAGS (Bild 3) zur Darstellung verschiedenster Zustände des Prozessors, aus welchen weitere Handlungen abgeleitet werden. Ebenfalls beinhaltet EFLAGS die Statusbits, die das Ergebnis aus. Befehlsoperationen kennzeichnen. Die unteren 16 Bit von EFLAGS entsprechen dem 16-Bit Register FLAGS des 8086/80286. Der Kasten rechts zeigt die Bedeutung dieser Bits.

Bild 6. Register CR2 und 3. Die mit 0 gekennzeichneten Bit sind für Intel reserviert

Segment Register

Von den sechs Segmentregistern aus Bild 2 sind vier schon vom 8086 her bekannt. Sie sind jeweils 16 Bit breit. In ihnen stehen aber beim 486er (und 386er) so genannte Selektoren, die auf Tabelleneinträge (in den Descriptortabellen) im Hauptspeicher verweisen, die Beschreibungseinträge enthalten (sogenannte Descriptoren), die beschreiben welches Speichersegment ein Programm wie benutzen kann. Im geschützten Modus kann ein Speichersegment jede beliebige Größe zwischen einem Byte und dem gesamten adressierbaren Bereich des Prozessors (4 Gigabyte) besitzen. Der Verweis wird anhand der oben schon genannten Descriptortabellen von der Hardware automatisch und ohne Zutun des Programmierers gebildet, sobald das System korrekt initialisiert wurde. Im Real Mode beschränkt sich die maximale Segmentgröße auf 64 KByte. Außerdem zeigen die Inhalte der Segmentregister hier immer auf die konkrete Speicheradresse im physikalischen Speicher, die entsteht, wenn man den Inhalt des Segmentregisters mit 16 (10 H) multipliziert.
Die sechs adressierbaren Segmente werden durch die Segmentregister CS, SS, DS, ES, FS und GS festgelegt. CS zeigt dabei das aktuelle Codesegment, SS' das aktuelle Stacksegment und DS, ES, FS und GS die aktuellen Datensegmente an. Der große Unterschied zum 8086 besteht darin, dass mit den Segmentregistern noch unsichtbare Descriptorpufferspeicher (Bild 4) verbunden sind, die im 8086-Modus (Real Mode) so geladen sind, daß die Segmentregisterinhalte direkt durchgeschaltet werden. Im Protected Mode sind diese Puffer-Register zwar auch für den Programmierer unsichtbar, besitzen jetzt aber besondere Bedeutung. Sie enthalten dann erstens die Basisadresse des angesprochenen Segmentes, zweitens dessen Große und drittens Informationen darüber, welche anderen Programme außerhalb überhaupt auf die Daten im Segment zugreifen dürfen. Der Zusammenhang dieser Dinge soll in der Serie klar gemacht werden.

System Level Register

Der 1486 besitzt drei Kontrollregister CR0, CR2 und CR3 (das Register CR1 wurde von Intel für spätere Erweiterungen als reserviert angegeben). Diese Register sind für den Status der CPU, der Speicherverwaltung, des Cache und der FPU kennzeichnend.

Control Register 0

Dieses Steuerregister (Bild 5) enthält 10 Bit für Steuer- und Statuszwecke. Fünf dieser Bits sind neu gegenüber dem 80386 - und zwar CD, NW, AM, WP und NE. Die Funktion dieser Bits lautet:

  • i486 Microprocessor Operating Modes: PG PE
  • On-Chip Cache Control Modes: CD, NW On-Floating Point Unit Control: TS, EM, MP, NE
  • Alignment Check Control: AM Supervisor Write Protect: WP

    Bild 5. Das CRO-Register

Die unteren 16 Bit von CR0 (Bild 5) sind auch als Machine Status Word (MSW) definiert, um kompatibel zum geschützten Modus des 80286 zu bleiben. LMSW und SMSW (Load and Store MSWI Anweisungen greifen nur auf die unteren 16 Bit von CR0 zu und ignorieren die neuen Bits. Um auf die oberen Bits zugreifen zu können, den GDT-Basis und IDT-Basis als lineare 32Bit Adresse festgelegt.
LDTR und TR halten einen16-Bit-Selektor für den LDT-Descriptor als auch für den TSS Descriptor.
Da LDT und TSS taskspezifische Segmente sind, werden sie über Selektor-Werte in den System Segment Registern festgelegt.

... die Bedeutung der einzelnen Bits im CR0

Fließkomma Register

Bild 7 zeigt den Fließkomma-Registersatz. Dieser besteht aus acht Datenregistern, einem Tag Word, einem Kontrollregister, einem Befehlszähler und einem Datenzeiger. Die Arbeitsweise der FPU entspricht vollkommen der des 80387-Coprozessors. Programme, die für den 80387 geschrieben sind, laufen ohne Änderung auch auf dem i486. Die Einzelheiten zur FP-Unit im i486 werden später besprochen.
Soweit die Beschreibung des i486-Prozessors. Wie Sie sehen, können mit diesem Prozessor alle bisher unter DOS verfügbaren Anwendungen mit großer Geschwindigkeit ausgeführt werden. Der Datendurchsatz und die Verarbeitungsgeschwindigkeit unterscheiden sich allerdings merklich von dem Betrieb auf einem AT oder 80386. Ihre besondere Stärke entfaltet diese CPU im Protected Mode. Damit eignet sie sich hervorragend für Betriebssysteme wie Unix / Xenix, Windows etc. Hier kommen ihre Multitasking-Fähigkeiten voll zum Tragen. Damit dient der 1486 natürlich als ideale Basis für unsere Megastation.

Bild 7. Die Register des integrierten Fließkommaprozessors


4. Verwandte Themen history menue scroll up

Logik ist ja nun ein weites Feld und besetzt damit auch einen weiten Bereich innerhalb der Technischen Informatik. Dem muss ja nun auch irgendwie Rechnung getragen werden - dies nun soll durch einige Querverweise geschehen.

Halbleiter-Vorgänge

Der Transistor

Mikroelektronik

Transistor-Kennlinienfeld

Logikfunktionen und technologische Fertigungsverfahren

logische Schaltsymbole

Beschreibung des Eingangssignalverhaltens für die Party-Aufgabe

 

Kanonische Normalformen

 

Karnaugh-Veitch-Tafel

 

 

TTL-Liste

Ziehen eines Silizium-Einkristalls nach dem Zonenfloating-Verfahren

DRAM

Computergeschichte

DDR-Mikroelektronik

LC-80-Logo und mehr LC-80 aktuell

der LC-80

POLYCOMPUTER

Z80-CPU

Mnemonic-Code-Notation

höhere Programmierwerkzeuge

... und so funktioniert ein Computer

 

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Alphabetisch sortierte Dokumentation

FLAG Teile I

FLAG Teile 2

Allgemeine Funktionssymbolik

Der LC-80 Simulator

Microcontroller

   



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 17. November 2013 um 20.10 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)