Harald Schumny
Digitale Datenverarbeitung
----Infonnationstechnik-----------.. . . Herausgegeben von Dr. Harald Schumny
Digitale Datenverarbeitung von H. Schumny
Signalübedragung von H. Schumny
Datenfemübedragung von P. Welzel
Software Engineering von E. Hering
-----Vieweg----------------------------------~
Harald Schumny
Digitale Datenverarbeitung Grundlagen für das technische Studium 2., neubearbeitete Auflage
Mit 279 Bildern
Friedr.Vieweg & Sohn
Braunschweig / Wiesbaden
1. Auflage 1975 Nachdruck 1980 Nachdruck 1981 2., neubearbeitete Auflage 1989
Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann. Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig 1989
Das Werk und seine Teile sind urheberrechtlich geschützt. Jede Verwertung in anderen als den gesetzlich zugelassenen Fällen bedarf deshalb der vorherigen schriftlichen Einwilligung des Verlages.
Satz: Vieweg, Braunschweig
ISBN-13: 978-3-528-14031-1 e-ISBN-13: 978-3-322-83197-2 DOl: 10.1007/978-3-322-83197-2
Vorwort
Vor mehr als 13 Jahren, im Mai 1975, wurde das Vorwort zur ersten Auflage dieses Buchs geschrieben; an vielen Techniker- und Ingenieurschulen sowie im Selbststudium wurde es seither benutzt. Zahlreiche Zuschriften, Kritiken, Anregungen belegen dies. In mehr als zehn Jahren haben sich die Grundtechnologien zur Computerherstellung so sehr weiterentwickelt, daß manche technische Realisierung gar nicht mehr in Benutzung ist, teilweise nur noch in technischen Museen besichtigt werden kann. So sind beispielsweise Lochkarten, Nixieröhren oder Kernspeicher nun "mittelalterlich". Andererseits sind in diesem Zeitraum die PCs (Personal Computer) derart in den Vordergrund gedrängt, daß manche Hardware- und Software-Betrachtung dadurch beeinflußt wird. Auch sind neue Prozessor-Architekturen zur Serienreife gelangt, weshalb z. B. Reduced Instruction Set Computers (RISCs) in einem modernen Lehrbuch der Digitalen Datenverarbeitung unbedingt behandelt werden müssen. Keine Frage, die Prinzipien und Basisverfahren der digitalen Datenverarbeitung haben sich nicht geändert. Das betrifft die Darstellung von Daten, die Computer-Codes und die Grundlagen der Digitalelektronik. Vor allem die digitale Datenspeicherung und die Ein-/ Ausgabeeinheiten wurden in den vergangenen zehn bis 15 Jahren enorm weiterentwickelt. Diese Entwicklung drückt sich deutlich in der Neufassung des Buchs aus. Erweitert wurde in dieser Ausgabe der Software-Teil. Aufgenommen sind die Bereiche Software-Engineering, Höhere Programmiersprachen und moderne Betriebssysteme. Um den Umfang nicht zu überziehen und den Systemgedanken zu verstärken, wurden die in der ersten Auflage des Buchs über 30 Seiten behandelten Herstellungstechnologien von pn-Übergängen und Kontakten gestrichen. Das Buch stellt sich somit wie folgt dar:
Teil 1 Grundlagen Abgrenzungen Darstellung von Daten Computer-Codes Digitalelektronik Verknüpfungsschaltungen
Tei12 Hardware Übersicht Steuereinheit ALU Speicher Ein-/ Ausgabeeinheit Funktionszusammenhang Schnittstellen
Teil 3 Software Problemanalyse Programm beschreibung Programmierung Betriebssysteme
Die Behandlung der Hardware hat in diesem Buch Vorrang. Die vorangestellten Grundlagen führen in den Hardware-Teil ein und schaffen notwendige Voraussetzungen für das Verständnis der Hauptteile. Aber auch die Software ist berücksichtigt, um einen vollständigen Überblick zu gewährleisten.
VI
Vorwort
Als Zielgruppen sehen wir Schüler und Studenten in Leistungskursen, an Techniker- und Ingenieurschulen. Aber auch zur Einführung an wissenschaftlichen Hochschulen kann das Buch empfohlen werden. Es ist, zusammenfassend bewertet, bestens geeignet, wenn praxisbezogen und auf etwa "mittlerem Niveau" solides Grundwissen und ein guter Überblick vermittelt werden sollen. Das Buch ist auch geeignet für Benutzer von Mikrocomputern, Video- und Personalcomputern, die mehr über ihren Computer wissen möchten oder müssen, als aus der üblichen Literatur zu gewinnen ist. Braunschweig, im Oktober 1988
Harald Schumny
Inhaltsverzeichnis
Teil 1 1
Begriffsbestimmung, Abgrenzungen
1
1.1 1.2
1 2 2 3 3 3 6 9
1.3 1.4 1.5
2
..................................
10
Bedeutung von Symbolen, Aufgabe der Codierung . . . . . . . . . . . . . . . Zahlendarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Duales Zahlensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Systematik und Zahlenumwandlung . . . . . . . . . . . . . . . . . . . 2.3.2 Dualzahlen-Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Brüche und negative Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . Oktalsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hexadezimalsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 14 15 15 19 23 26 27
Computer-Codes .......................................
29
3.1 3.2 3.3
30 30 35 36 37 39 44
2.4 2.5
3.4 3.5
4
Maschinelle oder Automatische Datenverarbeitung . . . . . . . . . . . . . . . Hauptbereiche der maschinellen Datenverarbeitung . . . . . . . . . . . . . . 1.2.1 Kommerzielle Datenverarbeitung . . . . . . . . . . . . . . . . . . . . . 1.2.2 Technisch -wissenschaftliche Datenverarbeitung . . . . . . . . . . . . 1.2.3 Prozeßdatenverarbeitung (PDV) . . . . . . . . . . . . . . . . . . . . . . Prinzip der Datenverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funktionseinheiten einer EDV -Anlage . . . . . . . . . . . . . . . . . . . . . . . DV -System und Rechnerklassen . . . . . . . . . . . . . . . . . . . . . . . . . . .
Darstellung von Daten 2.1 2.2 2.3
3
Grundlagen
Reiner Binärcode (Pure Binary Code) . . . . . . . . . . . . . . . . . . . . . . . 4-Bit-Codes (BCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erweiterte Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Alphanumerischer 6-Bit-Code . . . . . . . . . . . . . . . . . . . . . . .. 3.3.2 Alphanumerischer 8-Bit-Code (EBCDlC) . . . . . . . . . . . . . . . . Standardcode für den Datenaustausch (ASCII) . . . . . . . . . . . . . . . . . Codeprüfungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen der Digitalelektronik
47
4.1
47 47 50 53 58 58 60 62
4.2
Schaltalgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Zweiwertige Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Rechenregeln der Schaltalgebra . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Minimierung von Schaltfunktionen . . . . . . . . . . . . . . . . . . . . Logik-Grundschaltungen................................ 4.2.1 UND/ODER- bzw. ODER/UND-Glieder . . . . . . . . . . . . . . . .. 4.2.2 NICHT-, NAND-, NOR-Glieder . . . . . . . . . . . . . . . . . . . . . .. 4.2.3 Exklusiv-ODER.................................
VIII
5
Inhaltsverzeichnis
Verknüpfungsschaltungen .............. . ......... . .......
63
Logik-Systeme mit diskretem Aufbau . . . . . . . . . . . . . . . . . . . .... Monolithisch integrierte Logik-Systeme . . . . . . . . . . . . . . . . . . . . . . TTL-Verknüpfungen............................. . . . . . . MOS-Verknüpfungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CMOS-Technik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63 65 67 71 78
5.1 5.2 5.3 5.4 5.5
Teil 2 6
übersicht 6.1
6.2
6.3
7
................ . ...........................
Rechnertypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Analog-Rechenanlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Digital-Rechenanlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.3 Hybrid-Rechenanlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einteilung von Digitalrechnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Groß-, Mini-, Mikrocomputer . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Rechenzentren, Mainframes . . . . . . . . . .. . . . . . . . ... 6.2.3 Prozeßrechner........................ . . . . . . . . . . 6.2.4 Personalcomputer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.5 Video-, Taschen-, Handcomputer . . . . . . . . . . . . . . . . . . . . . Prinzipieller Aufbau einer EDV-Anlage . . . . . . . . . . . . . . . . . . . . . .
Steuereinheit .......................................... 7.1 7.2
7.3 7.4 7.5
8
Hardware
8.3
80 80 81 82 82 82 . 84 . . . 85 86 86 87 89
Aufgaben der Steuereinheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Funktionseinheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.2.1 Zähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2.2 Befehlsregister (Instruktionsregister) . . . . . . . . . . . . . . . . . .. 94 7.2.3 Mikroprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.2.4 Vergleicher (Komparator) . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Befehlsablauf am Beispiel einer Einadreßmaschine . . . . . . . . . . . . . . . 99 Adressierungsarten .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 105 CISC, SISC, RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Arithmetisch-logische Einheit (ALU) . . . 8.1 8.2
80
....
.......
. .... . .108 ...
Aufgaben des Operationswerks . . . . . . . . . . . . . .. . . . . .. . . Grundschaltungen des Rechenwerks . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Stellenverschieben und Komplementbildung . . . . . . . . . . . . . . 8.2.2 Halbaddierer . . . . . . . . . . . .. . . . . . . . . . .. . ... 8.2.3 Volladdierer .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.4 Serien- und Paralleladdierer . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.5 BCD-Addierwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.6 Multiplikation von Dualzahlen . . . . . . . . . . . . . . . . . . . . . . . 8.2.7 Multiplikation und Division mit Festwertspeichern . . . . . . .. . . Gleitkommarechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.108 . . . . 109 109 .110 . .. . .. 111 113 115 116 118 121
Inhaltsverzeichnis
9
IX
Speicher.............................................. 123 9.1
9.2
9.3
9.4
Einteilung, Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Verschiedene Einordnungskriterien . . . . . . . . . . . . . . . . . . . . 9.1.2 Einteilung nach dem Arbeitsprinzip . . . . . . . . . . . . . . . . . . .. 9.1.3 Einteilung nach dem Verwendungszweck . . . . . . . . . . . . . . . . Halbleiterspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Vorbemerkungen, Abgrenzungen . . . . . . . . . . . . . . . . . . . . . 9.2.2 Schreib-Lese speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Festwertspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Magnetische Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Aufzeichnungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Magnetbänder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 Magnetbandkassetten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4 Magnetplatten.................................. 9.3.5 Disketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Andere Speicher und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Magnetblasenspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.2 Optische Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.3 Supraleitungsspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.4 Virtuelle Speicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.5 Assoziativspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.6 RAM-Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10 Ein-/Ausgabeeinheiten
124 124 124 127 131 131 134 138 143 143 145 150 152 155 157 158 158 161 162 165 166
.................................. 167
10.1 Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Tastatur und Bildschirm . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Digitalisierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1. 3 Lochstreifen, Lochkarte . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.4 Maschinenlesbare Schriften und Codes . . . . . . . . . . . . . . . . .. 10.1.5 Handschrift und Sprache . . . . . . . . . . . . . . . . . . . . . . . . . .. 10.2 Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10.2.1 Alphanumerische Anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Bildschirmgeräte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3 Drucker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.4 Plotter .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10.3 Benutzerschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1 Grundverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10.3.2 Beispiele typischer Benutzerschnittstellen . . . . . . . . . . . . . . ..
167 168 169 171 173 177 180 180 185 187 193 195 199 202
11 Funktionszusammenhang und Schnittstellen .................. 204 11.1 Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Schnittstellen-Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Einteilung von Schnittstellen nach verschiedenen Kriterien .... 11.2.2 Topologien, Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.3 ISO-Referenzmodell zur Schnittstellenbeschreibung . . . . . . . . . 11. 3 Prozessornahe Schnittstellen und Busse . . . . . . . . . . . . . . . . . . . . . . 11.4 Peripherieschnittstellen .... . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11.4.1 Parallele Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.2 Serielle Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Netze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
204 208 209 211 216 218 221 222 228 231
X
Inhaltsverzeichnis
Teil 3
Software
12 Problemanalyse und Programmbeschreibung
236
12.1 Problemanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 12.2 Programmentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 12.2.1 Sinnbilder für Datenfluß- und Programmablaufpläne . . . . . . . .. 239 12.2.2 Datenflußplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 239 12.2.3 Programmablaufplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 12.3 Software-Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
13 Programmierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 258 13.1 Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1 Sprachenmerkmale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13.1.2 Sprachenbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Maschinencode, Assembler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Befehlsstruktur von Zweiadreßmaschinen . . . . . . . . . . . . . . . . 13.2.2 Programmieren im Maschinencode (PDP-ll) . . . . . . . . . . . . . . 13.2.3 Urlader-Programm (Bootstrap Loader) . . . . . . . . . . . . . . . . . .
259 260 263 267 269 271 275
14 Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 281 14.1 Übersicht, Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14.2 Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3 Pe-Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
281 285 289
Literaturverzeichnis ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 293 Sachwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 296