Harald Schumny. Digitale Datenverarbeitung

Harald Schumny Digitale Datenverarbeitung ----Infonnationstechnik-----------.. . . Herausgegeben von Dr. Harald Schumny Digitale Datenverarbeitung...
Author: Berthold Holst
0 downloads 1 Views 673KB Size
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