Table Of ContentSpringer-Lebrbuch
Helmut Bahring
Milcrorechner-
Systeme
Mikroprozessoren, Speicher, Peripherie
Mit Beitragen von
Jiirgen Dunkel und Gerd Rademacher
407 Abbildungen und 54 Tabellen
Springer-Verlag
Berlin Heidelberg New York
London Paris Tokyo
Hong Kong Barcelona
Budapest
Dr. Helmut Bahring
FemUniversitiit Hagen
Lehrgebiet Technische Informatik I
Postfach 940, W-5800 Hagen 1
CR-Klassiflkation (1991): B.3.2, B.4.1, B.5.1, C.O, 0.4.2
ISBN-13: 978-3-540-53489-1 e-ISBN-13: 978-3-642-97300-0
001: 10.1007/978-3-642-97300-0
Dieses Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere
die der Ubersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und
Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfaltigung auf anderen
Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugs·
weiser Verwertung, vorbehalten. Eine Vervielfaltigung dieses Werkes oder von Teilen dieses
Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urhe·
berrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils
giiltigen Fassung zuliissig. Sie ist grundsatzlich vergiitungspfiichtig. Zuwiderhandlungen
unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.
© Springer·Verlag Berlin Heidelberg 1991
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB
solche Namen im Sinne der Warenzeichen· und Markenschutz·Gesetzgebung als frei zu
betrachten waren und daher von jederrnann benutzt werden diirften.
45/3140 -5 43210 - Gedruckt auf saurefreiem Papier
Fiir meinen Sohn Marc
Vorwort
In den nicht einmal 20 J ahren wer Entwicklungsgeschichte haben die Mikropro
zessoren aIle Bereiche unseres Lebens durchdrungen: Sie begegnen uns in den
frUben Lebensjahren in Kinderspielzeugen, in Spiel- und Hobby-Computern und
Taschenrechnern. 1m Privatleben trifft man auf sie auch im Automobil, in Haus
haltsgeraten oder Geraten der Konsumelektronik. 1m Berufsleben fmdet man sie
in Textsystemen, Personal Computern, Maschinensteuerungen, MeBgeraten usw.
Verschwiegen werden darf aber auch nicht, daB erst sie die Entwicklung vieler
zerstorerischer Techniken, insbesondere immer furchtbarerer Waffen ermaglicht
haben.
Durch den Einsatz der Mikroprozessoren wurde die Digitaltechnik zu einer
Mischung aus Hard-und Software, bei der der Entwickler einerseits die geeignete
Hardware aussuchen und autbauen, andererseits aber auch we Programmierung
ubernehmen muB. Somit wird die historische Trennung zwischen Hardware und
Software immer weiter aufgehoben, und yom Informatik-und Elektrotechnik-Stu
denten wird ein vertieftes Wissen auf beiden Gebieten verlangt.
Thema dieses Buches sind die Mikrorechner-Systeme. Das sind universell pro
grammierbare Digitalrechner kleiner bis mittlerer Leistungsfahigkeit, die bis in
den Minicomputerbereich hineinreicht. Zwar basiert ihre Architektur zum groBen
Teil auf den Grundprinzipien, die seit Jahrzehnten von den GroBrechenanlagen
bekannt sind. 1m Unterschied zu diesen sind sie jedoch im wesentlichen aus ko
stengiinstigen, hoch- und hOchstintegrierten Halbleiterbausteinen aufgebaut. Da
sie modular an verschiedenste Problemstellungen anpaBbar sind, haben sie die
Realisierung vieler der oben erwiihnten elektronischen Anwendungen vereinfacht
oder erst ermoglicht.
Genauer betrachtet, sind Gegenstand dieses Buches die Hardware-Aspekte
und die Hardware-nahen Software-Aspekte der Mikrorechner-Systeme. Hahere
Schichten der Betriebssysteme und andere Betriebssoftware werden nicht behan
delt. Die Anwendungs-Programmierung eines Mikrorechners unterscheidet sich
nicht wesentlich von der einer allgemeinen Datenverarbeitungs-Anlage, so daB wir
diesbeziiglich auf andere Bucher verweisen kannen. Naturlich nimmt die Beschrei
bung der Mikroprozessoren als Kern eines Mikrorechner-Systems einen breiten
Raum ein. Dennoch ist es kein Buch ausschlieBlich uber dieses Thema. So wird
auf spezielle Entwicklungen, wie die RISC-Prozessoren, nur sehr knapp eingegan
gen. Ausffihrlicher werden der Arbeitsspeicher, Peripheriespeicher und die ver
schiedenen Systemsteuer-Bausteine beschrieben.
VIII VOIWOrt
Einer eingehenden, tiefgriindigen Behandlung weniger Themen wird hier der Vor
rang vor einer breitgefacherten Darstellungsweise gegeben.Daher werden einige
Bereiche, wie z.B. genormte Bussysteme, Controller fUr spezielle Aufgaben, insbe
sondere fUr lokale Netzwerke, und digitale Signalprozessoren, nicht allzu ausfiihr
lich aufgegriffen. Ihre Erwahnung solI dem Leser nur als Einstieg in diese Thema
tik dienen.
FUr das Verstandnis des Buches werden Grundkenntnisse auf den folgenden
Gebieten vorausgesetzt: digitale Grundschaltungen und Schaltungstechnik, Orga
nisation von Rechenwerken und Mikroprogramm-Steuerwerken, Assembler- und
Maschinenprogrammierung sowie einfache Grundlagen der Elektrotechnik.
Zur Entstehung des Buches
Dieses Buch entstand aus einem Kurs, den ich im Rahmen eines Lehrauftrags fUr
den Fachbereich Mathematik und Informatik der FernUniversitat Hagen ent
wickelt und mehrfach durchgeflihrt habe. Die uberaus positive Resonanz, die er
bei den Teilnehmern fand, war der auslosende Faktor fUr die Umsetzung in dieses
Buch. Der Kurs besteht aus 7 Einheiten, die im 14tagigen Abstand von den Stu
denten bearbeitet werden mussen, und entspricht einer Vorlesung von vier Seme
ster-Wochenstunden (zuziiglich zwei Stunden Ubungen). Der Inhalt der 4.
Kurseinheit deckt sich mit dem Kapitel 4 des vorliegenden Buches. Sie wurde von
meinem Kollegen Herrn Dr. Jurgen Dunkel verfaBt. Die Kurseinheit 6 entstand
aus der Zusammenarbeit mit Herrn Dipl.-Ing. Gerd Rademacher. Ihr Inhalt wird
in den Kapiteln 6 und 7 dargestellt.
Bei der Entwicklung des Kurses wurde versucht, auf die besonderen Schwie
rigkeiten eines Fernstudenten Rucksicht zu nehmen, der in der Regel "als Einzel
kampfer im stillen Kammerchen" arbeitet. Dazu gehort insbesondere der er
schwerte Zugang zu Begleitliteratur. Dementsprechend wurde auf ausgiebiges Zi
tieren anderer Publikationen verzichtet. Mangelnde Moglichkeiten zur Kommuni
kation mit anderen Kommilitonen erschweren die Diskussion uber schwerver
standliche Textstellen. Wie ein Blick ins Inhaltsverzeichnis zeigt, werden in diesem
Buch daher - verglichen mit anderen Werken uber das Thema - relativ wenige
Themen aufgegriffen. Was jedoch in anderen Buchern sehr knapp abgehandelt
wird, wird hier ausflihrlich, z.T. uber mehrere Seiten, dargestellt. Dies erspart dem
Benutzer das Lesen "zwischen den Zeilen". Zusammen mit den im Text einge
streuten Selbsttestaufgaben ist dieses Buch daher sehr gut flir das Selbststudium
geeignet Es richtet sich hauptsachlich an Studenten der Fachrichtungen Informa
tik und Elektrotechnik an wissenschaftlichen Hochschulen und Fachhochschulen.
Vorwort IX
Zum Aulbau des Buches
Kapitel1 beginnt mit einer kurzen Erkliirung der wichtigsten in der Mikroprozes
sor-Technik benutzten Begriffe und einer knappen Darstellung der Entwicklungs
geschichte der Mikroprozessoren. Danach wird die Hardware-Architektur eines
Mikroprozessors beschrieben, worunter man die Komponenten, aus denen er auf
gebaut ist, und ihr Zusammenwirken versteht. 1m zweiten Tell von Kapitel 1 wer
den zunachst die programmiertechnischen Aspekte eines Mikroprozessors behan
delt: Datentypen, Adressierungsarten und Befehlssatze. In einem Exkurs wird kurz
auf RISC-Prozessoren eingegangen.
In Kapitel 2 folgt die Beschreibung der grundsatzlichen Eigenschaften von
Hilfsprozessoren. Ausfiihrlich wird auf einen Hilfsprozessor eingegangen, der auf
die Ausfiihrung arithmetischer Operationen spezialisiert ist und deshalb Arithme
tikprozessor genannt wird.
Kapitel 3 beschaftigt sich ausfiihrlich mit dem Autbau eines Arbeitsspeichers.
Dazu werden insbesondere die verschiedenen Halbleiterspeicher-Zellen und -Bau
steine beschrieben. Es folgt eine Darstellung des sog. DMA-Verfahrens, mit dem
groBe Datenmengen sehr schnell ohne den Einsatz des Mikroprozessors in den I
aus dem Speicher transportiert werden konnen. Zum SchluB wird gezeigt, wie
durch einen kleinen, schnellen Zwischenspeicher, der Cache genannt wird, die Zu
griffszeit zum Arbeitsspeicher erheblich gesenkt wird.
Kapitel 4 (Autor: J. Dunkel) behandelt verschiedene Konzepte der Speicher
verwaltung und stellt Bausteine vor, die diese Verwaltung hardwaremaBig durch
fuhren. AuBerdem werden verschiedene MaBmilunen zur Hardware-Unterstiit
zung von Mikroprozessor-Betriebssystemen beschrieben.
In Kapitel 5 wird eine umfangreiche Palette von Systemsteuer- und Schnitt
stellen-Bausteinen vorgestellt. In einigen Beispielen werden wichtige Anwendun
gen dieser Bausteine beschrieben.
Kapitel 6 und 7 (Autoren: G. Rademacher, H. Bahring) befassen sich mit den
komplexen Ein-I Ausgabesystemen und Peripheriespeichern, die zur Standardaus
riistung moderner Mikrorechner gehOren. Das sind insbesondere Blldschirmge
rate, Festplatten- und Disketteneinheiten. Neben der Beschreibung der physikali
schen, mechanischen und elektrischen Grundlagen werden insbesondere die Bau
steine zur Steuerung dieser Gerate ausfiihrlich behandelt.
An dieser Stelle mochte ich mich bei meinem Kollegen Herrn E. Palmowski be
danken, der mir bei der Fertigstellung dieses Buches behilt1ich war. Er erstellte
mit mir zusammen das endgiiltige Layout und die Druckvorlagen. Dariiber hinaus
iiberarbeitete er einen Tell der Zeichnungen. Dem Springer-Verlag danke ich fur
die Bereitschaft, dieses Buch in sein Verlagsprogramm aufzunehmen.
Iserlohn, im Friihjahr 1991 Helmut Bahring
Inhaltsverzeichnis
1. Mikroprozessoren .................................................................................. 1
1.1 Aufbau eines Digitalrechners ............................................................... 1
1.2 Erklarung wichtiger BegritTe ................................................................ 4
1.3 Entwicklungsgeschichte der Mikroprozessor-Technik ..................... 7
1.4 PrinzipieUer Autbau eines Mikroprozessors ................................... 12
1.4.1 Gehause und Anschliisse ..................................................................... 12
1.4.2 Exkurs: Zur Beschreibung der Signale ............................................. 18
1.4.2.1 Zum Begriff TIL-Pegel ........................................................................ 18
1.4.2.2 Zur Bezeichnung der Signale .............................................................. 19
1.4.3 Interner Aufbau eines Mikroprozessors ............................................ 19
1.5 Das Steuerwerk ..................................................................................... 22
1.5.1 Funktion und Aufbau ........................................................................... 22
1.5.2 Ein-/ Ausgangssignale des Steuerwerks ............................................. 26
1.5.3 Das Steuerregister ................................................................................ 28
1.5.4 Fa1Istudie: Das Steuerwerk des Motorola 68000 ............................. 28
1.5.5 Fallstudie: Das Steuerwerk des Intel 80386 ..................................... 30
1.5.6 Exkurs: Open-Collector-Eigenschaft ................................................ 31
1.6 Das Rechenwerk ................................................................................... 33
1.6.1 Prinzipieller Aufbau ............................................................................. 33
1.6.2 Das Statusregister ................................................................................. 37
1.6.3 Der Operationsvorrat ........................................................................... 39
1.7 Der Registersatz .................................................................................. 45
1.7.1 Registertypen ......................................................................................... 45
1.7.2 Der Stack ............................................................................................... 49
1.7.3 Fallstudie: Das Programmiermodell des Intel 80386/80486 .......... 50
1.7.4 Fa1Istudie: Das Programmiermodell des Motorola 68020 ............. 53
1.7.5 Fallstudie: Das Programmiermodell des NS 32332 ......................... 55
1.8 Das AdreRwerk ..................................................................................... 57
1.8.1 Vereinfachter Aufbau .......................................................................... 57
1.8.2 Skalierung .............................................................................................. 59
XII Inhaltverzeichnis
1.9 Das interne Bussystem ........................................................................ 61
1.9.1 Prinzipieller Aufbau ............................................................................. 61
1.9.2 V arianten ............................................................................................... 62
1.9.3 Fallstudie: Zur Befehlsverarbeitung verschiedener Prozessoren .... 66
1.10 Die Systembus-Schnittstelle ............................................................... 68
1.10.1 Die Register der Systembus-Schnittstelle .......................................... 68
1.10.1.1 Der Datenbus-puffer ............................................................................ 68
1.10.1.2 Der Programmzahler ........................................................................... 71
1.10.1.3 Der AdreBpuffer ................................................................................... 71
1.10.2 Zeitverhalten der Systembus-Signale ................................................. 72
1.10.2.1 Synchroner Systembus .......................................................................... 72
1.10.2.2 Semi-synchroner Systembus ................................................................ 73
1.10.2.3 Asynchroner Systembus ....................................................................... 76
1.10.3 Adressierung von Peripherie-Bausteinen .......................................... 78
1.10.4 Multiplex-Bus ........................................................................................ 79
1.10.5 Steuerung der Datenbusbreite ............................................................ 80
1.11 Die Abarbeitung eines BeCehls ............................................................ 81
1.11.1 Einteilung in Phasen ............................................................................. 81
1.11.2 Beispiel zor Befehlsabarbeitung ....................................... ........ .......... 83
1.12 Die Behandlung von Ausnahme-Situationen ................................... 88
1.12.1 Vergleich zwischen Unterprogramm und Ausnahmeroutine ......... 89
1.12.2 Prozessorexteme Ursachen fUr Ausnahme-Situationen .................. 90
1.12.3 Prozessorinteme Ursachen fUr Ausnahme-Situationen .................. 94
1.12.4 Ermittlung der Startadresse fUr die Ausnahmeroutinen ................. 96
1.12.5 Die Behandlung mehrerer Interruptquellen ..................................... 96
1.12.5.1 Das Polling-Verfahren ......................................................................... 97
1.12.5.2 Die Ausnahmevektor-Tabelle ............................................................. 98
1.12.6 Prioritaten bei mehrfachen Unterbrechungs-Anforderungen ...... 102
1.12.7 Fallstudie: Interrupt-Kontrolle der Prozessoren 680XO ................ 103
1.13 Datentypen und DatenCormate ......................................................... 107
1.13.1 Datentypen und Datenformate bei 8-bit-Prozessoren ................... 108
1.13.2 Datentypen und Datenformate von 16/32-bit-Prozessoren .......... 110
1.13.3 Bit-und blockorientierte Datentypen und ihre Formate .............. 111
1.13.4 Weitere Datentypen ........................................................................... 113
1.14 BeCehlssatze ......................................................................................... 113
1.14.1 Begriffe und DefInitionen .................................................................. 115
1.14.2 Darstellung der verschiedenen Befehlsgruppen ............................. 117
1.15 Adressierungsarten ............................................................................ 129
1.15.1 Voraussetzongen und Begriffe .......................................................... 129
1.15.2 Bescbreibung der Adressierungsarten ........... ................. ....... ...... .... 132
Inhaltverzeichnis XIII
1.16 Realisierung eines Befehlssatzes auf Maschinensprache-Ebene 149
1.16.1 Allgemeiner Aufbau eines Maschinenbefehls ................................. 149
1.16.2 Fallstudie: Der Befehlsaufbau des 80386 ....................................... 151
1.16.3 Fallstudie: Der Befehlsaufbau des 68020 ....................................... 152
1.17 Exkurs: RISC-Prozessoren ............................................................... 153
1.17.1 Motivation ............................................................................................ 153
1.17.2 Charakteristische Eigenschaften von RISC-Prozessoren .............. 156
1.17.3 Aufbau eines RISC-Prozessors .......................................................... 157
1.17.4 Der Registersatz ................................................................................. 161
1.17.5 Befehlssatz und Adressierungsarten bei RISC-Prozessoren ........ 164
1.17.6 Befehlsverarbeitung in RISC-Prozessoren ...................................... 169
2. Arithmetik-Prozessoren .................................................................... 175
2.1 A1lgemeines iiber Hilfsprozessoren ................................................. 175
2.1.1 Aufgabenbereiche flir Hilfsprozessoren .......................................... 175
2.1.1.1 Hilfsprozessoren zur Erweiterung der )JP-Hardware .................... 175
2.1.1.2 Hilfsprozessoren zur Steuerung der Peripherie ............................. 176
2.1.2 Verschiedene Typen von Hilfsprozessoren ..................................... 178
2.1.2.1 Slave-Prozessoren ............................................................................... 178
2.1.2.2 Coprozessoren ..................................................................................... 179
2.2 Gleitpunkt-Arithmetik ....................................................................... 181
2.2.1 Allgemeine Grundlagen der Gleitpunktdarstellung ....................... 181
2.2.2 Gleitpunktdarstellung in Arithmetik-Prozessoren ......................... 183
2.3 Architektur von Arithmetik-Prozessoren ....................................... 186
2.3.1 Prinzipieller Aufbau ........................................................................... 186
2.3.2 Das Steuerwerk ................................................................................... 188
2.3.2.1 Kommunikation iiber Status-und Steuersignale ............................ 188
2.3.2.2 Die Register des Steuerwerks ........................................................... 189
2.3.3 Der Registersatz ................................................................................. 192
2.3.4 Das Operationswerk ........................................................................... 194
2.3.4.1 Prinzipieller Aufbau ........................................................................... 194
2.3.4.2 Die Statusbits des Operationswerkes ............................................... 197
2.3.5 Die Systembus-Schnittstelle .............................................................. 198
2.3.5.1 Ankopplung an den Mikroprozessor ................................................ 198
2.3.5.2 Befehls-und Operanden-AdreBregister .......................................... 200
2.3.5.3 Fallstudie: Die Systembus-Schnittstelle des 8087 ........................... 201
2.4 Datentypen und Befehlssatze von Arithmetik-Prozessoren ......... 203
2.4.1 Gepackte BCD-Zahlen ...................................................................... 203
2.4.2 Darstellung von Arithmetikbefehlen ................................................ 204
2.4.3 Abarbeitung von Arithmetikbefehlen .............................................. 205
2.4.4 Die verschiedenen Befehlsgruppen .................................................. 207
2.4.5 Die Ausflihrungszeiten einiger Gleitpunktoperationen ................. 211