177 31 31MB
German Pages 386 [420] Year 1970
de Gruyter Lehrbuch Dworatschek • Datenverarbeitung
Einführung in die
Datenverarbeitung
von
Sebastian Dworatschek mit 266 Bildern, 189 Übungsaufgaben und einem Abbildungsanhang
3., erweiterte Auflage
Walter de Gruyter & Co • Berlin 1970 Vormals G. J. Göschen'sche Verlagshandlung • J. G u t t e n t a g , Verlagsbuchhandlung • G e o r g Reimer • Karl J. T r ü b n e r • Veit & C o m p .
© Copyright 1970 by Walter de Gruyter & Co., vormals G. J. Göschen'sche Verlagshandlung - J. Guttentag, Verlagsbuchhandlung - Georg Reimer - Karl J. Trübner - Veit & Comp., Berlin 30. - Alle Rechte, einschl. der Rechte der Herstellung von Photokopien und Mikrofilmen, vom Verlag vorbehalten. ArchivNr. 13 88 7 0 1 - Satz: IBM-Composer, Walter de Gruyter & Co. - Druck: Neue Presse, Coburg - Printed in Germany
Vorwort zur ersten Auflage
Die naturwissenschaftlich-technische Entwicklung war bis Anfang 19. Jahrhundert durch die Begriffe: Materie, Masse, Mechanik gekennzeichnet. Mit der 1. Industriellen Revolution trat die .Energie' als bestimmender Faktor hinzu. Die heutige .informierte Gesellschaft' erlebt eine 2. Industrielle Revolution, die umschrieben wird mit den Begriffen: Information, Automatisierung, Kybernetik. Im Mittelpunkt dieser Entwicklung steht die Datenverarbeitungsanlage - oder besser: Informationsverarbeitungsanlage. Ihr eröffnen sich immer mehr Anwendungsgebiete in Wissenschaft, Technik und Verwaltung. Der weite und überaus expansive Bereich .Datenverarbeitung' hat neue Berufe, wie: Operator, Service-Techniker, Programmierer, DV-Organisator, DV-Ausbilder, DV-Berater, Systemanalytiker etc. hervorgebracht. Sie alle erfordern unterschiedliche Spezialausbildungen. Doch erst ein allen gemeinsames fundiertes Grundwissen läßt diese Spezialausbildungen voll wirksam werden. Mit der vorliegenden Veröffentlichung soll der Zweck verfolgt werden, ein breites DV-Basiswissen zu vermitteln. Entsprechend dieser Absicht wurde der Charakter eines Lehrbuches gewählt, mit straffer Gliederung, klaren Begriffsdefinitionen, zahlreichen Skizzen und kapitelweise eingeschalteten Übungsaufgaben, die der frühzeitigen Selbstkontrolle dienen. Dies war um so leichter möglich, als die Konzeption des Buches u. a. auf den Erfahrungen mit DV-Lehrgängen, die der Verfasser regelmäßig durchführt, beruht. Die Fünfteilung des Stoffes fuhrt nach einer Einführung in Aufbau und Arbeitsweise einer Datenverarbeitungsanlage zu den mathematischen, logischen, technischen und organisatorischen Grundlagen der Datenverarbeitung. Das Buch soll dem Operator und Programmierer ein breites Grundwissen vermitteln und wird den Studierenden an Fach- und Hochschulen als Lehrbuch dienen. Dem DV-Ausbilder — sei es in Seminaren, an Gewerbeschulen oder in Arbeitsgemeinschaften — kann es das Improvisieren vermeiden helfen, indem es ihm Rückgriffe auf gegliedertes Wissen und darauf zugeschnittene Beispiele erlaubt. Die leicht verständliche Darstellung technischer Aspekte wird dem Kaufmann nützlich sein. Dem DV-Praktiker erleichtert das Buch vielleicht das Ordnen angesammelten Wissens. Zu einem Überblick und einer ,DV-Allgemeinbildung' verhilft es auch dem von der Datenverarbeitung nur mittelbar Betroffenen. Ich danke den Herstellerfirmen von Datenverarbeitungsanlagen für die freundliche Bereitstellung von Bildmaterial und dem Verlag Walter de Gruyter für die Gestaltung des Buches.
VI
Vorwort
Mein besonderer Dank gilt meinem verehrten Lehrer, Herrn Prof. Dr.-Ing. A. Lotze, der mir — wie vielen anderen — nicht ,nur' das Wissen, sondern auch die Freude an der Datenverarbeitung vermittelt hat. Vorschläge zu Korrekturen und Verbesserungen werde ich stets mit Dank entgegennehmen.
Aachen, im November 1968
Sebastian Dworatschek
Vorwort zur zweiten Auflage In der zweiten Auflage wurden einige kleinere Korrekturen vorgenommen. Für Hinweise von Seiten der Leser danke ich.
Aachen, im Juni 1969
Sebastian Dworatschek
Vorwort zur dritten, erweiterten Auflage Die zweite Auflage war — ebenso wie die erste Auflage — in etwa einem halben Jahr vergriffen. Auswahl, Aufbau und Darstellungsart des DV-Stoffes kommen demnach den Wünschen eines weiten Leserkreises entgegen. Bestätigt wird dies auch durch Leserzuschriften und Buchbesprechungen. Der darin mehrfach geäußerte Vorschlag, Teil V (Organisatorische Grundlagen) zu erweitern, bestimmte die Verbesserungen der 3. Auflage. Der Abschnitt über Anwendungsbereiche der elektronischen Datenverarbeitung wurde ausgebaut. Eine umfassende Darstellung der organisatorischen Probleme eines betrieblichen Informationssystems wird in einem gesonderten Band (in Vorbereitung) behandelt.
Aachen, im Februar 1970
Sebastian Dworatschek
Inhaltsverzeichnis
Teil I. Allgemeine Grundlagen
l
1. Einführung 1.1. 1.2. 1.3.
1
Der Begriff .Datenverarbeitung' Einteilung des Stoffes Bilder und Aufgaben
1 3 5
2. Geschichtliche Entwicklung
6
Aufgaben zu I, 2.
10
3. Vergleich: Analog—Digital
11
3.1. 3.2.
Analoge Rechentechnik Digitale Rechentechnik
12 13
3.3. 3.4.
Beispiel Tabellarischer Vergleich
13 16
3.5.
Hybrid-Rechenanlagen
16
Aufgaben zu I, 3.
17
4. Aufbau einer Digital-Datenverarbeitungsanlage 4.1. 4.2.
18 22 22
Aufgaben zu I, 4.2.1
25
4.2.2. Elektrische Darstellung als Binärzeichen 4.2.3. Anwendung von Codes zur Zeichendarstellung
28 30
4.2.3.1. 4.2.3.2. 4.2.3.3.
Tetradendarstellung BC D-Code Byte-Darstellung
Aufgaben zu 1,4.2.2.14.2.3. 4.2.4. Befehlsdarstellung 4.2.4.1. Der Begriff .Befehl' 4.2.4.2. Operationstypen 4.2.4.3. Befehlsarten 4.2.4.4. Befehlsdarstellung in Bits 4.2.4.5. Mehradress-Maschinen 4.3. 4.4.
18
Vergleich mit einem menschlichen Rechner Informationsdarstellung 4.2.1. Begriffe
.
30 31 32 34 34 34 35 37 41 44
Aufgaben zu 1,4.2.4.
46
Die 5 Grundeinheiten einer DVA Grundeinheiten: Eingabe, Ausgabe 4.4.1. Eingabegeräte
48 49 49
VIII
Inhaltsverzeichnis 4.4.2. Ausgabegeräte
4.5.
51
4.4.3. Kombinierte Ein-/Ausgabegeräte
51
Aufgaben zu I, 4.3.¡4.4.
54
Grundeinheit: Speicher
55
4.5.1. Begriffe
55
4.5.2. Speicher-Hierarchie
4.6.
59
4.5.2.1.
Allgemeines
59
4.5.2.2.
Intern-Speicher-Einheit
61
4.5.2.3.
Extern-Speicher-Einheit
62
Aufgaben zu I, 4.5.
62
Grundeinheit: Steuerwerk
63
4.6.1. Steuerungsarten
64
4.6.1.1.
Extern-Steuerung
64
4.6.1.2.
Eingebautes Programm
64
4.6.1.3.
Gespeichertes Programm
65
4.6.2. Aufgaben des Steuerwerks
67
4.6.2.1.
Synchroner Betrieb
4.6.2.2.
Asynchroner Betrieb
67 69
4.6.2.3.
Befehlsablauf
69
4.6.3. Programmablauf bei einer Einadress-Maschine 4.7.
71
Grundeinheit: Rechenwerk
75
4.7.1. Fähigkeiten des Rechenwerks
75
4.7.2. Aufbau des Rechenwerks
75
Teil II. Mathematische Grundlagen
78
1. Mathematische Begriffe
78
1.1.
1.2.
Potenz
78
1.1.1. Rechenregeln
78
1.1.2. Potenzformen
81
1.1.3. Praktische Anwendungen
81
Logarithmus
82
1.2.1. Definition
83
1.2.2. Übergang von einer Basis zu einer anderen 1.2.3. Dekadische Logarithmen
83 f
84
1.2.4. Logarithmus Dualis
85
1.3.
Fakultät
85
1.4.
Binomialkoeffizient
86
1.4.1. Definition
86
1.4.2. Rechenregeln
87
Aufgaben
87
zu II, 1
Inhaltsverzeichnis
IX
2. Zahlensysteme 2.1.
Definition von Zahlensystemen 2.1.1. Dezimal-System 2.1.1.1. Ganze Dezimalzahlen
88 88 88
2.1.1.2. Echte Dezimalbrüche 2.1.1.3. Allgemeine Dezimalzahl 2.1.2. Allgemeines Polyadisches Zahlensystem 2.1.3. Dual-System 2.1.3.1. Definition 2.1.3.2. Unterschied: Binär - Dual
89 90 91 94 94 96
Aufgaben zu II, 2.1 2.2.
2.3.
2.4.
88
97
Festkomma-Darstellung
97
2.2.1. Begrenzte Stellenzahl
97
2.2.2. Definition 2.2.3. Grundrechenarten bei Festkomma-Darstellung 2.2.3.1. Addition 2.2.3.2. Multiplikation 2.2.3.3. Subtraktion 2.2.3.4. Division Umwandlung von Zahlensystemen 2.3.1. rein-dezimal in tetraden-dezimal 2.3.2. dezimal in dual 2.3.2.1. ganze Zahlen 2.3.2.2. gebrochene Zahlen 2.3.3. dual in dezimal 2.3.3.1. ganze Zahlen 2.3.3.2. gebrochene Zahlen 2.3.4. Zusammenfassung
99 102 102 103 107 112 115 115 116 116 117 118 118 119 120
Aufgaben zu II, 2.2.¡2.3. Gleitkomma-Darstellung 2.4.1. Definition 2.4.2. Die Grundrechenarten bei Gleitkomma-Darstellung '2.4.2.1. Addition 2.4.2.2. Subtraktion 2.4.2.3. Multiplikation 2.4.2.4. Division
121 123 123 125 125 162 127 128
Aufgaben zu II, 2.4.
128
Teil III. Logische Grundlagen
130
1. Informationstheorie
130
X
Inhaltsverzeichnis 1.1.
Qualitative Aussagen 1.1.1. Kommunikations-Systeme
130 130
1.1.2. Nachrichtentechnik 1.1.3. Begriffe 1.1.3.1. Nachrichten und Daten 1.1.3.2. Information 1.1.3.3. Kybernetik
131 133 133 135 135
Aufgaben zu III, 1.1 1.2.
Quantitative Aussagen 1.2.1. Elementarvorrat EV 1.2.2. Entscheidungsgehalt EG 1.2.3. Entscheidungsredundanz ER 1.2.4. Informationsgehalt IG 1.2.4.1. Ungleiche Häufigkeiten der Nachrichten 1.2.4.2. Berechnung des Informationsgehaltes 1.2.4.3. Informationsredundanz IR Aufgaben zu III, 1.2.
2. C o d i e r u n g 2.1.
2.2.
2.3.
..
136 137 137 139 140 141 141 142 145 146
149
Rückgriff auf bekannte Begriffe
149
2.1.1. Redundanz 2.1.2. Binärcodes Tetraden-Codes 2.2.1. BCD-Code 2.2.2. Aiken-Code 2.2.3. 3-Exzess-Code (Stibitz-Code) 2.2.4. C.ray-Code Dezimal-Codes mit mehr als 4 Bits
149 150 151 151 154 155 158 159
Aufgaben zu HI, 2.1.12.2.12.3.
161
2.4.
Codesicherung 2.4.1. Fehlerursachen 2.4.2. Ungesicherte Codes
162 162 163
2.4.3. 2.4.4. 2.4.5. 2.4.6. 2.4.7.
Fehlererkennende Codes Hamming-Distanz h Fehlerkorrigierende Codes Erkennen von mehr als e Fehlern Methode der Quersummenprüfung 2.4.7.1. Parity Check (Prüfbit) 2.4.7.2. Blockcode
164 165 168 169 170 170 171
Aufgaben zu III, 2.4
173
Inhaltsverzeichnis
XI
3. Schaltalgebra
174
3.1.
Boolesche Algebra
174
3.2.
Grundfunktionen 3.2.1. Identität und Negation 3.2.2. AND-Funktion 3.2.3. OR-Funktion Darstellungsarten 3.3.1. Kurzzeichen 3.3.2. Wertetafel 3.3.3. Kontaktskizze 3.3.4. Symboldarstellung 3.3.5. Gebietsdarstellung Funktionen bei 2 Eingangsvariablen 3.4.1. Allgemeine Überlegungen 3.4.2. NAND-Funktion 3.4.3. NOR-Funktion 3.4.4. Äquivalenz
177 177 178 180 182 182 183 184 186 188 191 191 194 195 196
3.4.5. 3.4.6. 3.4.7. 3.4.8.
197 199 200 201
3.3.
3.4.
3.5.
3.6.
3.7.
Antivalenz Inhibition Implikation Zusammenfassung
Aufgaben zu III, 3.1.¡3.2.13.3.13.4.
202
Rechenregeln 3.5.1. Postulate 3.5.2. Theoreme 3.5.3. Assoziatives Gesetz 3.5.4. Distributives Gesetz
204 204 205 206 208
3.5.5. Morgan'sches Theorem 3.5.6. Entwicklungstheorem 3.5.7. Beispiel 3.5.7.1. Vereinfachung über den Entwicklungssatz 3.5.7.2. direkte Vereinfachung 3.5.7.3. Vereinfachung über die Gebietsdarstellung 3.5.7.4. Vereinfachung über die Kontaktskizze Normalformen der Schaltfunktion 3.6.1. Disjunktive Normalform
208 210 210 210 211 212 213 214 214
3.6.2. Konjunktive Normalform 3.6.3. Gegenüberstellung Anwendungsbeispiele
218 220 221
3.7.1. Lochkartentransport 3.7.2. Papiertransport bei einem Schnelldrucker 3.7.3. Dualaddierer
221 223 226
XII
Inhaltsverzeichnis 3.7.3.1. Halbaddierer 3.7.3.2. Volladdierer 3.7.4. Erkennen von Pseudotetraden
:
226 229 231
Aufgaben zu III, 3.5./S.6./S.7.
232
TeiflV. Technische Grundlagen . . .
235
1. Bauelemente
235
1.1. 1.2.
Relais Halbleiterbauelemente
235 238
1.3.
1.2.1. Definition: Halbleiter 1.2.2. Diode 1.2.3. Transistor Schaltungstechniken 1.3.1. Schaltungstechniken mit diskreten Bauelementen 1.3.2. Integrierte Schaltkreise 1.3.3. Hybrid-Techniken
238 238 241 244 244 244 245
2. Speicherarten
246
2.1.
Kippschaltungen
246
2.2.
Magnetkernspeicher 2.2.1. Physikalisches Prinzip 2.2.2. Speicherorganisation 2.2.3. Kenndaten Magnettrommelspeicher 2.3.1. Konstruktiver Aufbau 2.3.2. Adressenordnung 2.3.3. Schreib- und Lesevorgang Magnetbandspeicher 2.4.1. Das Magnetband 2.4.2. Blocksicherung 2.4.3. Transporteinrichtung Magnetplattenspeicher Magnetkartenspeicher
249 249 251 252 253 253 253 255 256 257 258 259 260 261
2.3.
2.4.
2.5. 2.6.
Aufgaben zu IV, 1./2.
3. Endgeräte 3.1. 3.2.
Problematik der Geschwindigkeiten Eingabegeräte 3.2.1. Tastaturen
261
264 264 266 266
Inhaltsverzeichnis
3.3.
3.4.
XIII
3.2.2. Lochstreifenleser
267
3.2.2.1. Langsame Lochstreifenleser 3.2.2.2. Schnelle Lochstreifenleser 3.2.3. Lochkartenleser 3.2.4. Belegleser
268 269 270 271
3.2.4.1.
Anwendungsarten
271
3.2.4.2. 3.2.4.3. 3.2.4.4.
Klarschriftleser Magnetschriftleser Markierungsleser
272 272 273
3.2.4.5. Mehrfunktions-Belegleser Ausgabegeräte 3.3.1. Lochstreifenstanzer 3.3.2. Lochkartenstanzer 3.3.3. Drucker 3.3.4. Zeichengeräte Kombinierte Ein-/Ausgabe 3.4.1. Bildschirmgeräte 3.4.2. Datenübertragung 3.4.2.1. 3.4.2.2. 3.4.2.3.
Übertragungswege Fehlersicherung Systemauswahl
Aufgaben zu IV, 3.
Teil V. Organisatorische Grandlagen 1. Lochkarten 1.1. 1.2.
1.3.
281 283 284 284
287 287
Definition und Einteilung Handlochkarten
287 288
1.2.1. Nadellochkarte 1.2.1.1. Kerblochkarte 1.2.1.2. Schlitzlochkarte 1.2.2. Sichtlochkarte 1.2.3. Handlochkartenkombinationen Maschinenlochkarte 1.3.1. Nomenklatur 1.3.2. Anwendung
288 288 290 291 292 292 292 294
Aufgaben zu V, 1
296
2. P r o g r a m m i e r u n g 2.1.
273 273 273 274 275 278 280 280 281
Flußdiagramm 2.1.1. Definition 2.1.2. Beispiel
297 297 297 299
XIV
Inhaltsverzeichnis 2.2.
2.3.
2.4.
Maschinenorientierte Programmiersprachen
300
2.2.1. Maschinensprache
300
2.2.2. Programmiersprachen mit codiertem Befehlswort 2.2.2.1. Dezimalziffern als Operationsteil 2.2.2.2. Mnemotechnischer Operationsteil
300 300 303
2.2.3. Assemblersprachen 2.2.4. Interpretative Systeme Problemorientierte Programmiersprachen 2.3.1. Aufbau und Übersetzung 2.3.2. ALGOL 2.3.3. FORTRAN 2.3.4. COBOL 2.3.5. PL/1 2.3.6. EXAPT Vergleich der Programmiersprachen
304 306 306 306 308 309 309 310 311 311
Aufgaben zu V, 2.
315
3. Betriebssystem 3.1.
3.2.
317
Betriebsarten von DVA 3.1.1. Batch-Processing 3.1.1.1. Batch-Processing ohne Prioritäten 3.1.1.2. Batch-Processing mit Prioritäten 3.1.1.3. Remote-Batch-Processing 3.1.2. Time Sharing 3.1.3. Multiprogramming 3.1.4. Real-Tim e-Verarbeitung 3.1.5. Multiprocessing Aufgaben und Aufbau des Betriebssystems 3.2.1. Aufgaben des Betriebssystems 3.2.2. Aufbau des Betriebssystems 3.2.3. Hardware - Software
317 317 317 318 319, 319 320 320 323 323 323 326 327
Aufgaben zu V, 3
328
4. Anwendungsbereiche der DV 4.1. 4.2.
329
Wissenschaftliche Berechnungen Betriebliche Informationssysteme
329 333
4.2.1. Rechnungswesen 4.2.2. Planungs- und Entscheidungsmethoden
333 338
4.2.2.1. 4.2.2.2. 4.2.2.3.
Definitionen Lineares Programmieren Netzplantechnik
338 340 342
Inhaltsverzeichnis 4.2.2.4. 4.3.
4.4.
XV Simulation
344
4.2.3. Management-Informations-System
345
Numerisch gesteuerte Maschinen
345
4.3.1. Werkzeugmaschinen
346
4.3.2. Zeichengeräte
347
4.3.3. Verdrahtungsmaschinen
347
4.3.4. Setzmaschinen
347
Prozeßrechner
347
4.4.1. Struktur eines Prozeßrechnersystems
347
4.4.2. Anwendungsmöglichkeiten für Prozeßrechner
350
4.5.
Nichtbetriebliche Informationssysteme
352
4.6.
Datenfernverarbeitung
355
4.6.1. Definition
355
4.6.2. Platzbuchungssysteme
357
4.6.3. Universelle Teilnehmersysteme
358
L ö s u n g e n der A u f g a b e n
360
Fachwörterverzeichnis: englisch/deutsch
363
Literaturverzeichnis
367
Stichwortverzeichnis Abbildungen
368 1A- 30A
Teil I. Allgemeine Grundlagen
1. E i n f ü h r u n g 1.1. Der Begriff , Datenverarbeitu ng' Ein Nicht-Fachmann auf dem Gebiet der Datenverarbeitung werde nach Sinn und Bedeutung des Begriffs: Datenverarbeitung gefragt. Im ersten Moment wird er versuchen, sich ein Bild aus Mosaiksteinchen zusammenzusetzen. Diese Mosaiksteinchen sind Wörter und Teilzusammenhänge des weiten Bereichs .Datenverarbeitung', die er früher aus Berichten im Rundfunk, Fernsehen und in Zeitungen in sein Gedächtnis übernommen hat. Es werden ihm Ausdrücke wie: Elektronen-Rechner Daten hohe Rechengeschwindigkeiten Lochkarten Computer Speicher Transistoren und ähnliche bunt durcheinandergewürfelt in den Sinn kommen. Er wird sie sortieren und klassifizieren. Er wird jedenfalls versuchen, sich aus diesen Mosaiksteinchen ein größeres Bild der Zusammenhänge, Aufgaben und Auswirkungen der Datenverarbeitung zu bilden. Dennoch bleibt aber oft der Begriff Datenverarbeitung' im allgemeinen und deren zentrales Organ, die .Datenverarbeitungsanlage' im besonderen nur eine Ansammlung mehr oder weniger deutlicher Vorstellungen. Dies liegt zum Teil daran, daß sich der Laie auf dem Gebiet der Datenverarbeitung stets nur mit deren Ergebnissen beschäftigt. Eine geheimnisvolle Atmosphäre umgibt oft diese leistungsfähigen aber auch komplizierten Datenverarbeitungsanlagen. Diese Distanz ist aber zu durchstoßen mit der Erkenntnis, daß für das grundlegende Verständnis der inneren logischen Organisation, der Funktionsmechanismen sowie: der Grundprinzipien des Einsatzes einer Datenverarbeitungsanlage keine speziellen wissenschaftlich-technischen Kenntnisse erforderlich sind. Allgemein logisches und kombinatorisches Denkvermögen ist vielmehr erforderlich.
2
Teil I. Allgemeine Grundlagen
Die Frage nach dem .Geheimnis' der Datenverarbeitung kann - wie viele Fragen - leichter beantwortet werden, wenn sie in präzise und klar umrissene Teilfragen aufgeteilt wird. Es ist also eine Verfeinerung der Fragestellung, d. h. Differenzierung, nötig. Hierbei destillieren sich dann Teilfragen folgender Art heraus: Wie ist eine Datenverarbeitungsanlage aufgebaut? Wie arbeitet sie? Welche Entscheidungen vermag sie zu treffen? Welche Operationen kann sie durchführen? Wie wird sie bedient? Für welche Probleme lohnt sich ihr Einsatz? Welche organisatorischen Vorbereitungen sind zu treffen? Welche technischen Hilfsmittel werden benötigt? Die Beantwortung all dieser Teilfragen führt zu einer Klärung des Gesamtkomplexes .Datenverarbeitung' sowie zur eigentlichen Abrundung und notwendigen Vertiefung des obengenannten Mosaikbildes. Die breite Öffentlichkeit zeigt sich an den Erfolgen und Fortschritten der Datenverarbeitung wohl aus folgenden Gründen so stark interessiert: a) hochdynamische Entwicklung dieses Gebietes: Wie in 2. (Geschichtliche Entwicklung) angegeben wird, hegt der eigentliche Beginn dieser sprunghaften Entwicklung der Datenverarbeitung nur ca. 3 Jahrzehnte zurück! Fast jeden Tag bringen Rundfunk, Fernsehen und Zeitungen Berichte über: neue Typen von Datenverarbeitungsanlagen, neue Anwendungsbereiche hierfür, neue Erkenntnisse hierbei. b) spektakuläre Erfolge auf den verschiedensten Anwendungsbereichen der Datenverarbeitung, wie: Raketen- und Weltraumforschung, Atomphysik, Verkehrssteuerung, Verwaltungssektor. c) Inbegriff der Lebensweise des 20. Jahrhunderts Die Menschen des 20. Jahrhunderts, das durch nie zuvor erreichte Geschwindigkeiten und rasanten technischen Fortschritt geprägt wird, sehen in der Datenverarbeitung einen Inbegriff ihres Zeitalters. Man spricht heute schon davon, daß nicht etwa die modernen Erkenntnisse der Atomphysik die zweite technische Revolution bedeuten, sondern der Einsatz der Datenverarbeitungsanlagen auf allen Gebieten des wirtschaftlichen und gesellschaftlichen Lebens. So glaubt beispielsweise N. Wiener, der Begründer der Kybernetik, unser Jahrhundert am besten als das Zeitalter der Nachrichten- und Regelungstechnik beschreiben zu können. Als zentrales und zugleich verbindendes Glied dieser Techniken schält sich aber immer mehr die Datenverarbeitung heraus.
3
1. Einführung
1.2. Einteilung des Stoffes Das vorliegende Buch ist als Einführung gedacht und auch dementsprechend aufgebaut. Es wird aus dem Leser also keinen Spezialisten auf irgendeinem Gebiet der Datenverarbeitung machen, sondern soll ihm breites Basiswissen verschaffen. Bewußt wurde aber auch davon Abstand genommen, das Buch durch allzu allgemeingehaltene Stoffbehandlung zu einem zwar leicht lesbaren, aber kaum nützlichen Handbuch zu reduzieren. Wie bei der Beschäftigung mit anderen Stoffgebieten ist es auch hier unumgänglich, gewisse elementare Detailprobleme erfaßt zu haben, um den als Endziel erwünschten, fundierten Überblick nach Abschluß des Buches aufzuweisen. In diesem Sinne wird der Leser von Kapitel zu Kapitel auf exemplarische Weise mit den verschiedenen Stoffgebieten der Datenverarbeitung vertraut gemacht. Der behandelte Stoff wird durch selbstkritische Wiederholung während der Lösung der Aufgaben gefestigt. Das Gebiet der Datenverarbeitung ist sehr vielschichtig. Deshalb werden in der vorliegenden Einführung folgende fünf Blickwinkel zugrunde gelegt: Teil I : Teil II : Teil III: Teil IV: Teü V :
Allgemeine Grundlagen Mathematische Grundlagen Logische Grundlagen Technische Grundlagen Organisatorische Grundlagen
Teil I: Allgemeine Grundlagen umfaßt eine Zusammenstellung der geschichtlichen Entwicklung der Datenverarbeitung. Dies soll zum Verständnis der inneren Zusammenhänge beitragen. Einem eingehenden Vergleich zwischen den beiden Rechenprinzipien ,Analog' — ,Digital' moderner Datenverarbeitungsanlagen folgt ein größerer Abschnitt über den strukturellen Aufbau einer Datenverarbeitungsanlage. Die fünf Grundeinheiten werden in ihrer Zusammenarbeit vorgeführt. Teü II: Mathematische Grundlagen Die mathematischen Grundlagen einer Datenverarbeitungsanlage erfordern keine Einführung in komplizierte mathematische Theorien, sie bewegen sich vielmehr meist im Begriffsbereich elementarer Algebra. Es werden die Zahlensysteme erläutert, mit denen die verschiedenen Rechenanlagen operieren, um sowohl ein besseres Verständnis für die Arbeitsweise solcher Anlagen als auch der verschiedenen Ein- und Ausgabegeräte zu wecken. Für das Verständnis der vier Grundrechenarten in diesen Zahlensystemen sowie die Umwandlung von einem System in ein anderes sind keine speziellen Mathematikkenntnisse erforderlich. Ein logisch und kombinatorisch streng exaktes Denkvermögen ist jedoch unerläßlich.
4
Teil I. Allgemeine Grundlagen
Teil III: Logische Grundlagen erläutert die ¿nformationstheoretischen' Grundbegriffe. Sie sollen einen tinblick in die mathematische, rechnerische Erfaßbarkeit von .Nachricht' gewähren, d. h. die quantitative Angabe von Information. Die logischen Grundlagen der Datenverarbeitung bilden vor allem die Schaltalgebra und die Codierung. Zur Darstellung von Information und zur Sicherung bei deren Übertragung werden sogenannte Codes (sprich: Kodes) eingesetzt. Dies sind Verschlüsselungen von Information, die nach bestimmten Zuordnungsvorschriften vorgenommen werden. Die verschiedenen Codes werden angeführt und ihre Vor- und Nachteile in der Anwendung aufgezeigt. Die Schaltalgebra baut auf der mathematischen Logik auf und nimmt heute eine wichtige Rolle in der formalen Beschreibung und Optimierung von Schaltfunktionen ein. Anhand von ausführlichen Beispielen werden die Schaltalgebra und ihre Anwendungen erläutert. Teil IV: Technische Grundlagen Um (von außen) die Funktionen eines Gerätes zu erfassen, ist es nicht immer nötig, dessen Aufbau und dessen Konzeption zu verstehen. Aber wie es für einen Autofahrer durchaus von Vorteil ist, nicht nur zu wissen, wie das Bremspedal bedient werden muß, sondern auch, wie sich die Öldruckbremse erklären läßt ebenso erleichtert es das Verständnis für den Einsatz, die Bedienung oder die Programmierung einer Datenverarbeitungsanlage, wenn man das Prinzip ihres rechnisch-funktionalen Aufbaues erfaßt hat. Spezielle Detail-Fragen zu beherrschen, ist Sache des Fachmanns, fundierte Grundkenntnisse sind aber auch für den unerläßlich, der in irgendeiner Form mit der Datenverarbeitung zu tun hat. In diesem Sinne werden also behandelt: a) die Grund-Bauelemente, wie Relais, Transistoren, Dioden, Magnetkern b) die Speichertypen, wie: Magnetkern-, Trommel-, Magnetband-, MagnetplattenSpeicher c) Ein- und Ausgabegeräte,, wie: Fernschreiber, Lochkartenleser, Schnelldrucker etc. Teil V: Organisatorische Grundlagen zu diesen Grundlagen zählen: a) das Lochkartenverfahren, das heute entweder als eigene Organisationsform oder/und als Ein- und Ausgabe*Verfahren bei Datenverarbeitungsanlagen in Anwendung kommt. b) das Programmieren, das als logische Aufbereitung und Erfassung der zu bearbeitenden Probleme im Mittelpunkt der Anwendung von Datenverarbeitungsanlagen steht.
1. Einführung
5
c) der betriebliche Einsatz von Datenverarbeitungsanlagen: es werden die verschiedenen Anwendungsbereiche in Wissenschaft, Industrie und Handel mit den heute vorliegenden Erfahrungen aufgeführt. Da wesensmäßig teilweise recht verschiedenartige Stoffgebiete behandelt werden, war es manchmal nicht zu umgehen, Ergebnisse späterer Abschnitte in vorhergehenden teilweise vorwegzunehmen, Hinweise auf frühere oder folgende Abschnitte anzugeben sowie kurzgefaßte Wiederholungen vorzunehmen. Dies kann durchaus von Vorteil sein. Viele Teilgebiete der Datenverarbeitung sind nur zu durchschauen, wenn man sie von verschiedenen Blickwinkeln — und wenn nötig des öfteren — betrachtet. In diesem Sinne sind auch Hinweise auf Textstellen und Bilder nicht als notwendiges Übel zu betrachten, sondern als Anregung, erledigte Abschnitte aus diesem neuen Gesichtspunkt heraus nochmals zu überarbeiten und zu überdenken.
1.3. Bilder und Aufgaben Zur Erläuterung und leichteren Merkbarkeit wurden viele Bilder (Skizzen, Zeichnungen, Diagramme) in den Text eingestreut. Diese Bilder werden mit: dem Buchstaben B (Bild) sowie: einer fortlaufenden Nummer gekennzeichnet. Neben den Abkürzungen beim Hinweis auf Bilder innerhalb des Textes werden im folgenden auch - der Einfachheit halber - die heute schon üblich gewordenen Abkürzungen: DV für: Datenverarbeitung EDV für: elektronische Datenverarbeitung EDVA für: elektronische Datenverarbeitungsanlage oder kürzer: DVA für: Datenverarbeitungsanlage(n) verwendet. Weiterhin werden häufig hinter den deutschen Ausdrücken aus dem Bereich der DV in Klammern die englischen gesetzt. Damit soll der Leser auch mit den englischen Fachausdrücken vertraut gemacht werden. Die Aufgaben beziehen sich stets auf den Stoff des vorangehenden Kapitels. Sie sind in der Form aufgebaut, daß einer gestellten Frage stets drei Antworten (a, b, c), von denen nur eine voll richtig ist, folgen. Als Beantwortung der Fragestellung ist also stets der Buchstabe (a oder b oder c) anzugeben, der diese richtige Antwort kennzeichnet. Oft wird diese Antwort nur durch erneutes Durcharbeiten der betreffenden Stelle des Lehrheftes zu finden sein. Dies soll die selbstkritische Stoffwiederholung fördern. Die Lösungen der Aufgaben sind im Anhang angegeben.
6
Teil I. Allgemeine Grundlagen
2. Geschichtliche Entwicklung ca. 5000v.Chr. Die Grundlage des Rechnens ist das Zählen. Der Mensch begann das Zählen mit den ihm von der Natur gegebenen (Rechen-)Hilfsmitteln: den Fingern. Eine Hand erlaubte ihm also bis 5 (Quinär-System), beide Hände bis 10 (DezimaiSystem) zu zählen. Wollte er zu größeren Zahlen (bzw. Mengen) übergehen, so benützte er Steine, Perlen oder Holzstäbe. ca. 1100 v.Chr. Bequemer und zuverlässiger schon war das dem 5-Finger-System verwandte Suan-Pan- Verfahren, bei dem die Perlen auf Drähten aufgefädelt waren. Bei den Römern wurde es Abacus genannt. Bei uns findet man es noch in Kindergärten und (in vereinfachter Spielform) sogar vor Kinderwagen. In Hinterasien ist Suan Pan noch sehr stark verbreitet. Bei genügender Übung lassen sich (wie sich bei Wettbewerben zeigte) überraschend hohe Rechengeschwindigkeiten damit erreichen.
B 1/1: Rechengerät
500 n. Chr. Die Grundlage für die Entwicklung zum Rechnen mit Maschinen bildete zweifelsohne das in Indien (daher: Hindu-) entstandene und über den arabischen Kulturkreis zu uns gelangte Hindu-Arabische Zahlensystem mit den zehn Ziffern: 0, 1 , . . . 8, 9. Nach der Rückeroberung Spaniens aus arabischer Herrschaft, 1150 n. Chr., setzte es sich im Abendland schnell durch. Sein großer Vorteil im Vergleich zum recht umständlich zu handhabenden Römischen Zahlensystem (z. B. MCMVII) sind: a) Einführung der Null: 0 b) Einführung der Stellenschreibweise Im Gegensatz zum Römischen Zahlensystem gestattet also das Hindu-Arabische Zahlensystem einen Rückschluß von der Stellung einer Ziffer innerhalb der Zahl
7
2. Geschichtliche Entwicklung
auf ihren Wert. Die 8 bedeutet z. B. 8 Hunderter in der Zahl 6804. Die 0 bedeutet: keine Zehner. Die Gesamtzahl bedeutet also: 4 4 • 1 = 0 0 • 10 = 8 • 100 = 800 6 • 1000 = 6000 Gesamtzahl = 6804 1614 Der Rechenaufwand zur Aufstellung der von Lord Napier herausgegebenen Logarithmen-Tafeln erfordern einen Zeitaufwand von ca. 30 Jahren (moderne Rechenanlage: ca. 1 min.) 1623 Der Theologe und Mathematiker Schickard konstruiert für seinen Freund, den Mathematiker und Astronomen Kepler eine Rechenuhr, die auf dem Zählradprinzip (ähnlich den heutigen mechanischen Tischrechenmaschinen) aufbaute. Damit waren Addition und Subtraktion durchzuführen, wobei mit 6 Stellen und Übertrag gerechnet wurde. Ein Modell dieser Schickard'schen Rechenuhr steht seit 1957 im Tübinger Rathaus. 1641 baute Blaise Pascal (französischer Mathematiker) mit 19 Jahren seinem Vater, der Steuerpächter war, eine Addiermaschine mit 6 Stellen. 1650 Patridge: Erfindung des Rechenschiebers. 1671-1694 beschäftigte sich der große Philosoph und Mathematiker G. W. Leibniz mit der Konstruktion von Rechenwerken, die ihm zwar 24.000 Taler Ausgaben, aber keinen wirklichen Erfolg brachten. 1703 G. W. Leibniz beschäftigt sich mit dem Dualsystem (das zur Grundlage der heutigen Rechenanlagen wurde, vgl. II, 2.1.3). 1808 J. M. Jacquard setzt Kartons, in die das Webmuster eingestanzt war, zur automatischen Steuerung von Webstühlen ein. Derartige Webstühle sind im Deutschen Museum zu sehen. Der Begriff .Jacquard' ist heute noch ein üblicher Ausdruck in der Textilbranche. Ähnliche, gelochte Karten (in gefalteter Form) sind noch heute bei Jahrmarkt-Musikautomaten in Anwendung. 1833 Von großer Bedeutung für die weitere Entwicklung war die mechanische Rechenanlage ,Difference Engine' des Mathematik-Professors aus Cambridge, Charles
8
Teil I. Allgemeine Grundlagen
Babbage, die heute noch im Science Museum London besichtigt werden kann. Die Konzeption seiner weiterhin geplanten Maschine (Analytical Engine) nahm den Aufbau moderner Rechenanlagen voraus. Sie sollte bestehen aus: Speicher (engl.: störe) (1000 Worte ä 50 Stellen) Rechenwerk (engl.: mill) Steuerwerk (engl.: control) Ein-, Ausgabe und vor allem einem (in Lochkarten) gespeicherten Programm. Die Pläne von Babbage scheiterten an dem Stand der damaligen Technik. 1890 Der Deutsch-Amerikaner H. Hollerith führt bei der 11. amerikanischen Volkszählung die Lochkartentechnik ein. 1920 Entwicklung leistungsfähiger Büro-Lochkartenmaschinen (Firmen: IBM, Bull). Moderne Entwicklung der DVA a) Relaisrechner 1936 K. Zuse (Bauingenieur) beginnt noch während seines Studiums in Berlin mit dem Bau einer Rechenanlage ZI, welche die stets wiederkehrenden Routine-Berechnungen der Statik automatisieren sollte. 1941 Z3: Relaisrechner mit Lochstreifeneingabe und -ausgabe. Eigenschaften der Z3: Eingabeeinheit Ausgabeeinheit Rechenwerk (600 Relais) Relaisspeicher (64 Zahlen a 22 Dualstellen) Programm in Lochstreifen (gelochter Kinofilm) abgespeichert 1944 H. H. Alken (IBM) entwickelt an der Harvard University den Relaisrechner MARK I. 1946 J. v. Neumann (Mathematiker) entwickelt folgende Fundamentalprinzipien einer Rechenanlage: a) das Programm wird wie die Daten gespeichert b) bedingter Befehl mit (vorwärts oder rückwärts) Verzweigung (vgl. 4.2.4.2. b) c) das Programm ist eine Kette logischer Binär-Entscheidungen
2. Geschichtliche Entwicklung
9
b) Datenverarbeitungsanlagen der 1. Generation 1946 Eigenschaften: Schaltungsaufbau aus Elektronenröhren Operationszeiten im Millisekunden (ms)-Bereich (1 ms = 1/1000 s) Beispiel: ENIAC (Elektronic Numerical Integrator and Computer) Gewicht: 30 Tonnen Die 17.000 Röhren (Stromverbrauch: 174 KW) erforderten eine Klimaanlage, die mehr Strom als die Rechenanlage selbst verbrauchte, fehlerfreie Arbeitszeit: ca. 45% Z22 (von Zuse KG) wurde ab 1955 vor allem an Hochschulen geliefert. Rechenzeiten: Addition: 0,6 ms - Multiplikation: 15 ms 1952 Beginn der Auslieferung von DVA an Privatwirtschaft. 1954 Deutsche Firmen beginnen (wieder) mit dem Bau von Datenverarbeitungsanlagen: Zuse KG, Siemens, Standard Elektrik Lorenz, Telefunken, VEB Zeis in Jena. c) Datenverarbeitungsanlagen der 2. Generation 1957 Eigenschaften: Schaltungsaufbau aus Transistoren Operationszeiten im 100 Mikrosekunden (/js)-Bereich (1 jus = 1/1000 ms = 1/1.000.000 s = 10"6 s) Beispiel: Siemens 2002: volltransistorisierte DVA mittlerer Größe Addition: 90 jus - Multiplikation: 120 jus d) Datenverarbeitungsanlagen der 3. Generation 1964 Eigenschaften: Schaltungsaufbau aus integrierten Schaltkreisen (vgl. hierzu auch IV, 1.3) Operationszeiten im Mikrosekunden-Bereich. Mehrere (ca. 30) elektronische Bauteile (Transistoren, Widerstände) werden mit ihren ,Lötverbindungen' in kleinen Kristallblöcken zusammengefaßt (daher integriert'). Durch Ätzverfahren werden in hochgezüchtet homogenen (gleichmäßig aufgebauten) Siliziumkristallen Gebiete mit Transistor- und Widerstandscharakter erzeugt und durch Aufdampfverfahren dazwischen metallische, d. h.
10
Teil I. Allgemeine Grundlagen
leitende Verbindungen hergestellt. Diese Technik nennt man Monolith-Technik. Die gesamte Verfahrensweise nennt man Mikrominiaturisierung. Vorteile: kompakte Bauweise (nur 1/100 und noch weniger des Raumes in üblicher Technik), kurze Schaltzeiten (bis zu Bruchteilen von Mikrosekunden), hohe Betriebssicherheit (keine Lötstellen!) Üblich sind heute die sog. Famttiensysteme von DVA. Das kleinste Modell einer solchen Familie ist wie in einem Baukastensystem durch Hinzunahme von Erweiterungsteilen (etwa Speicher) bis zum größten Modell ausbaufähig. Die Verwendbarkeit der Programme bleibt dabei erhalten. Man spricht hierbei von einer sog. Programmkompatibilität. Solche Familiensysteme sind beispielsweise: BGE 600, IBM 360, NCR-Century, Siemens 4004, UNIVAC 9000 ej Vergleich der Größenordnungen in der Bauweise bei den drei Generationen von DVA in relativen Schaltungseinheiten pro Kubikzentimeter (SE/cm 3 ): 1. Generation: 1 SE/cm 3 2. Generation: 10 SE/cm 3 3. Generation: 1000 SE/cm 3 f ) Datenverarbeitungsanlagen der 4. Generation Forschungs- und Entwicklungslabors arbeiten schon an Prototypen von DVA der 4. Generation, die in einigen Jahren serienreif sein werden. Sie werden die Anlagen der 3. Generation an Komfort, Anpassungsfähigkeit und Geschwindigkeit noch übertreffen. Die Operationszeit wird bei hundert und weniger Nanosekunden liegen. Das bedeutet: 10 bis 50 Mio Operationen pro Sekunde. Zur Veranschaulichung sei angegeben, daß die mit Lichtgeschwindigkeit zurückgelegte Strecke in 10 Nanosekunden etwa 3 m entspricht. Diese Tatsache zwingt - abgesehen von sonstigen technischen Ursachen — dazu, räumlich kompakte Geräte zu entwickeln. Die DVA der 4. Generation werden deshalb aus integrierten Großschaltungen (sog. Large Scale Integration = LSI) bestehen. In ihnen sind ganze Schaltungskomplexe mit tausend und mehr Bauelementen auf einem Kristall untergebracht.
AUFGABEN zu 1,2. 1. Vorteil des (heute üblichen) Hindu-Arabischen Zahlensystems gegenüber dem Römischen Zahlensystem ist: a) Einfuhrung der Null und der Stellenschreibweise b) Einführung des Dezimalsystems c) Einfache Durchführung der Multiplikation
3. Vergleich: Analog - Digital
11
2. Was b e d e u t e t der Begriff ,Abacus'? a) Name einer Herstellerfirma von D V A b) Name eines Code für die interne Darstellung von Daten c) Handrechengerät der R ö m e r 3. Wer war Hollerith? a) Erfinder des Rechenschiebers b ) Erfinder der Lochkartentechnik c) K o n s t r u k t e u r der ersten Relais-DVA 4. Nach welchen Kriterien unterscheidet m a n die DVA der 1., 2. u n d 3. Generation? a) danach, ob sie im Dual-, Binär- oder Dezimal-System arbeiten b) nach der Kapazität der Speicher c) nach der Schaltungstechnik ( R ö h r e n , Transistoren, integrierte Schaltkreistechnik) 5. Wie groß ist die Schalt-(Operations-)Zeit bei D V A der 3. Generation? a) ca. 1 jus = 10" 6 s b) ca. 100 (is = 10" 4 s c) ca. 1 0 m s = 1 0 " 2 s 6. Bei welcher Generation von DVA k ö n n e n 3 0 Schaltelemente auf ca. 0,03 Kubikzentimeter ( c m 3 ) untergebracht werden? a) bei D V A der 3. Generation b ) bei D V A der 2. u n d 3. Generation c) überhaupt noch nicht
3. Vergleich: Analog — Digital Bei den m o d e r n e n Rechenanlagen unterscheidet man zwei G r u p p e n , u n d zwar nach ihrem Rechenprinzip: Analog-Rechenanlagen (Stetig-Rechenanlagen) Digital-Rechenanlagen (Ziffern-Rechenanlagen) Die erste Bezeichnung leitet sich vom griechischen ,ana logon' ab, was soviel wie 4m richtigen Verhältnis' heißt. Die zweite Bezeichnung ist auf den lateinischen Begriff digitus (= Finger) zurückzuführen. In der Aufstellung der geschichtlichen Entwicklung h a b e n wir schon zwei typische, elementare Vertreter der beiden Arten von Rechenanlagen kennengelernt. Es waren dies: der Rechenschieber als Vertreter der Analog-Rechenanlagen, der Abacus als Vertreter der Digital-Rechenanlagen
12
Teil I. Allgemeine Grundlagen
3.1. Analog-Rechentechnik Beim Rechenschieber werden Rechenoperationen durchgeführt, indem man ,Strecken' gegeneinander verschiebt und dann vergleicht.
B 1/2: Analoges Rechengerät: Rechenschieber
Dabei kann das Verschieben kontinuierlich erfolgen, d. h. die Zunge des Rechenschiebers kann zwischen unterster und oberster Einstellung jede beliebige Zwischenstellung einnehmen. In der analogen Rechen- (Meß-, Regel-, Steuer-)technik werden physikalische Größen, die ihrer Natur nach schon .zeitliche Stetigkeit' aufweisen, als Rechengrößen verwandt. Dabei wird die eigentlich interessierende Größe (z. B. Durchflußmenge) durch eine andere physikalische Größe (z. B. Zeigerausschlag eines Meßinstruments) ersetzt (oder besser: .simuliert'). Beispiel: Analog-Rechengerät
interessierende Größe, Information
simulierende physikal. Größe
Rechenschieber Uhr Gas- od. Stromzähler
Zahlenwert Zeit durchgeflossene Gas- oder Strommenge Lösung von Rechenoperationen wie: DifferentialGleichungen, die Bewegungen beschreiben. Schwingungen berechnen. Flugbahnen simulieren.
Länge Winkelstellung des Zeigers kontinuierliche Drehung eines Zahnrades Spannung (oder: Strom)
Analog-Rechenanlage
3. Vergleich: Analog - Digital
13
3.2. Digital-Rechentechnik Bei der Digital-Rechentechnik wird die numerische, d. h. die zahlenmäßige Erfassung von irgendwelchen Aussagen angewandt. Alle Aussagen (z. B. Messungen) liegen ziffernmäibig vor und werden arithmetisch (d. h. mit Hilfe der vier Grundrechenarten) verarbeitet. Im Gegensatz zur Analog-Rechentechnik, bei der sich die Größen kontinuierlich (stetig) ändern können, dürfen bei der DigitalRechentechnik die Rechengrößen nur diskrete (genau festgelegte) Zustände annehmen. So darf beim Kugelrechengerät Abacus eine Kugel: entweder: von rechts nach links verschoben werden oder : sie muß auf ihrem ursprünglichen Platz verbleiben. Zwischenzustände sind als Rechenoperation sinnlos (und damit unzulässig). Die Kugel darf also auf dem Draht nur zwei diskrete Stellungen einnehmen.
3.3. Beispiel Ein einfaches Beispiel aus dem Alltag soll uns den Unterschied zwischen Analogund Digital-Rechentechnik veranschaulichen: Geschwindigkeitsmessung mit einem Auto: a) digitale Rechentechnik: das Auto durchfährt z. B.: 1 km Wegstrecke mit konstanter Geschwindigkeit, wofür die Zeit: 100 sec. gestoppt wird. Wegstrecke: 1 km Zeit : 1 0 0 sec. Daraus ergibt sich die Geschwindigkeit über die arithmetische Grundoperation .Division' zu: 1 km/100 sec. = 36 km/h b) analoge Rechentechnik: Tachometer die Geschwindigkeit des Autos wird über die Drehzahl eines Zahnrades und über mechanische Vorrichtungen als Zeigerausschlag auf einer geeichten Skala angezeigt. interessierende Größe (Information): Geschwindigkeit des Autos simulierende physikalische Größe : Zeigerausschlag bzw. Drehzahl des Zahnrades Mit beiden Zuordnungen: kontinuierlich ** analog diskret ** digital ist der wesensmäßige Unterschied zwischen Analog- und Digital-Rechentechnik in leicht faßliche Form gebracht.
14
T e i l I. A l l g e m e i n e G r u n d l a g e n
XI
» •3 a
I
O
6
B> «S, h 9 » §ÖD -"in 5
g & c s^
•a •O
- ^JS G • O 'S & «5 c rt
sB CD £ •g CA ff 3 'S W O * §
8. o
.0
w
cu
10
tm
O c
.2
a>" 2p a 5 £ 2P s S 3 w 5 11 11
¿i a.
•C
I
x
>.
1» N a 3 •G
ff-8 W ^U W C o 0 x> *o ÖD 3 O >>00«
s
'S A . C C s » 3 B
an o 73 c
73
v
•o SS
•C £ 8 oü .. C
Ö Ö >>
73
tM N X Ä
Su(LI
q3
M
I
•a c 3
'S
¿3 "5. E o
SP •a « 5
« c 3
«
.O
ü c
2 eu
•ä D,
5ä :0 a
o •c
E o
Ü VJ .5 [¿J ™ Ii sa Ü
g ^ .a
5
s
C C Ii OJ 00 M e 9
3
e
E
XI 3 * C u 60 O •
£
3 'S c CO M _o •a "«5 c a 3 3 C c S
p 5 3 2 e
O
M
0
J
C c
3 C J3 c>
s cu
•ff
•a a> '5 a
T3 C
xi•
i •5 M 1) IH 4i •a
>
S
e
SS
°
u
•a
I b ,9
v M 60
c s S i a> X) S00 3.
'3 .5 C tu O
w
S
O
c
1
s
'I •e a
« a s
•s
5
3
00 c 3
E E CS
E
tt o £
c 3
co
s
16
Teil I. Allgemeine Grundlagen
3.4. Tabellarischer Vergleich Unter diesem Punkt wollen wir speziell die Analog- und DigLtal-Rechenanlagen einander unter verschiedenen Gesichtspunkten in tabellarischer Form gegenüberstellen (vgl. S. 14/15): Kostenaufwand
B 1/3: Abhängigkeit der Kosten von der geforderten Genauigkeit
3.5. Hybrid-Rechenanlagen Die neuere technische Entwicklung brachte einen weiteren Rechnertypus hervor, den sog. Hybrid-Rechner. Hierbei werden die beiden bekannten Rechenverfahren (Analog- und Digitaltechnik) miteinander gekoppelt. Eine Hybrid-Rechenanlage besitzt sowohl analoge als auch digitale Bauelemente, die elektrisch miteinander verknüpft werden können. Bei der einen Hybrid-Rechenanlage herrscht dabei der analoge Charakter, bei der anderen der digitale vor. Es sind viele Konzeptionen denkbar und zum Teil auch schon verwirklicht. Einen groben Überblick gibt B1/4. Zweifellos steht bei den meisten Aufgaben und Problemen von vornherein fest, ob zur Lösung zweckmäßiger ein Digital- oder ein Analog-Rechner eingesetzt wird. Immer häufiger treten unter den schnell anwachsenden Aufgabenbereichen der modernen Rechentechnik auch Grenzfälle auf. Beispielsweise werden für Echtzeit (real time)-Simulierung sehr vorteilhaft Hybrid-Rechner eingesetzt. Unter einer Echtzeit-Simulierung versteht man die zeitgleiche Nachahmung eines (meist technischen) Systems anhand eines mathematischen Modells. Dieses Verfahren wird z. B. bei Bordnavigationsgeräten von Flugzeugen und bei Prozeßregelungen in der chemischen Industrie angewandt.
17
3. Vergleich: Analog - Digital
Im Gegensatz zum reinen Analog-Rechner hat der Hybrid-Rechner, da er vorteilhaft Eigenschaften der Digital- und Analog-Rechner vereint, noch eine große Entwicklungsmöglichkeit vor sich. Analog-Rechenanlagen
analog mit digitaler Steuerung analog mit digitalen Rechenelementen Kopplung kompletter Analog- u. Digital-Rechenanlagen
HybridRechenanlagen
digital mit analogen Rechenelementen digital mit analoger Programmstruktur
Digital- Rechenanlagen BI/4: Hybrid-Rechnerarten
AUFGABEN zu I, 3. 1. Zu welcher Art von Rechengeräten gehört der Rechenschieber? a) zu: Digital-Rechengeräte b) zu: Hybrid-Rechengeräte c) zu: Analog-Rechengeräte 2. Für die Digital-Rechentechnik sind folgende Begriffe charakteristisch: a) kontinuierlich, stetig b) mathematisch, abstrakt c) diskret, ziffernmäßig 3. Für die Analog-Rechentechnik sind folgende Begriffe charakteristisch: a) diskret, ziffernmäßig b) ähnlich, numerisch c) kontinuierlich, stetig 4. Für numerische Berechnungen mit hoher Genauigkeit verwendet man: a) Analog-Rechenanlagen b) Hybrid-Rechenanlagen c) Digital-Rechenanlagen
18
Teil I. Allgemeine Grundlagen
5. Wozu verwendet man vor allem Analog-Rechenanlagen? a) für Rechnungen sehr hoher Genauigkeit b) für Rechnungen mit viel Zahlenanfall (Datenanfall) c) zur Simulation stetiger Bewegungen und Funktionen 6. Die Genauigkeit bei Analog-Rechenanlagen ist auf 1 bis 0,1% Genauigkeit in bezug auf die Eingabegröße beschränkt durch: a) die mathematischen Rechenmethoden, die bei Analog-Rechenanlagen angewandt werden und die prinzipiell keine höhere Genauigkeit ermöglichen b) begrenzte Rechengeschwindigkeit c) die Rechentechnik, in der die Rechengrößen durch physikalische Größen (meist Spannung) dargestellt wird. Diese Größen können meßtechnisch nicht beliebig genau erfaßt werden. 7. Die Genauigkeitsgrenze bei Digital-Rechenanlagen ist gegeben durch: a) die unvermeidlichen Toleranzen in der elektrischen Darstellung der Binärziffern O, L b) die Stellenzahl der Daten (= Zahl der Bits in einem Wort) bei der gewählten DVA c) die Zugriffszeit des Arbeitsspeichers 8. Was ist eine Hybrid-Rechenanlage? a) eine Rechenanlage; welche die Eigenschaften der Digital- und AnalogRechentechnik kombiniert b) eine besonders große DVA für wissenschaftliche Probleme c) eine DVA für die Steuerung von Ampelanlagen im Straßenverkehr
4. Aufbau einer Digital-Datenverarbeitungsarilage Im folgenden sollen nur noch Digital-Rechenanlagen betrachtet werden. In diesem Sinne wird auch der Begriff Datenverarbeitungsanlage' (oder Rechenanlage oder Computer) benützt, falls keine anderen Einschränkungen dabei gemacht werden.
4.1. Vergleich mit einem menschlichen Rechner Um uns den Aufbau und den Funktionsmechanismus einer DVA verständlich werden zu lassen, ist es am besten, von einem menschlichen Rechner auszugehen. Der menschliche Rechner möge die Aufgabe erhalten haben, den Lohn für einen Akkord-Arbeiter zu errechnen. Dazu stehen ihm zur Verfügung (vgl. B 1/5):
19
4. Aufbau einer Digital-Datenverarbeitungsanlage
1. Tischrechenmaschine 2. (eindeutige) Rechenvorschrift für die Akkord-Berechnung 3. Angaben über den .Arbeiter (Kennzahl, Lohnstufe, erzeugte Stückzahl, Frühöder Spätschicht) 4. Tabellen (über Akkord-Sätze, Schichtzulagen) 5. Notizblock (für Zwischenergebnisse) 6. Ergebnisformular
B 1/5: Menschlicher Rechner und seine Hilfsmittel
Beginnt nun der menschliche Rechner mit der Bearbeitung der gestellten Aufgabe, so ist er nichts weiter mehr als eine Hilfskraft, ja ein Kuli im schlechtesten Sinne des Wortes. Ihm bleibt nämlich nur noch die (bedauerliche) Aufgabe, als mechanische Vermittlung dafür zu sorgen, daß die Anordnungen (Befehle) der Rechenvorschrift korrekt ausgeführt werden. Jede ungewollte oder auch beabsichtigte Abweichung von der Berechnungsvorschrift fuhrt unweigerlich zu einer falschen Lohnberechnung, d. h., das Ergebnis wird wertlos. Unsere Hilfskraft wird also Schritt für Schritt die Befehle der Rechenvorschrift zu erfüllen haben. Befehlfsfolge für: den menschlichen Rechner
die Datenverarbeitungsanlage
Übernahme der Stückzahl-Angabe für Artikel 1
Einlesen der Stückzahl-Angabe für Artikel 1
Eintasten der Stückzahl in den Tischrechner Akkordfaktor aus Tabelle entnehmen
Übergabe der Stückzahl an das Rechenwerk Akkordfaktor aus abgespeicherter Tabelle entnehmen
Eintasten des Akkordfaktors in den Tischrechner
Übergabe des Akkordfaktors an das Rechenwerk
20
Teil I. Allgemeine Grundlagen
Drücken der Multiplikationstaste des Rechners
Multiplikationsbefehl an das Rechenwerk
Ablesen des Ergebnisses und als Zwischenergebnis auf Notizblock schreiben Übernahme der Stückzahl-Angabe für Artikel 2
Übernahme des Zwischenergebnisses vom Rechenwerk in den Speicher Einlesen der Stückzahl-Angabe für Artikel 2
Eintasten der Stückzahl in den Tischrechner
Übergabe der Stückzahl an das Rechenwerk
. usw.
. usw.
Ablesen des bisherigen Zwischenergebnisses vom Notizblock und Eintasten in den Tischrechner
Übernahme des abgespeicherten Zwischenergebnisses in das Rechenwerk
Drücken der Additionstaste
Additionsbefehl an das Rechenwerk
Übernahme der Schichtangabe
Einlesen der Schichtangabe über Eingabegerät
entsprechenden Schichtzuschlag aus Tabelle entnehmen
entsprechenden Schichtzuschlag aus abgespeicherter Tabelle entnehmen
Eintasten in Tischrechner
Übernahme ins Rechenwerk
Drücken der Additionstaste
Additionsbefehl an Rechenwerk
Übernahme der Kennzahl-Angabe
Einlesen der Kennzahl über Eingabegerät
Notieren der Kennzahl-Angabe
Drucken der Kennzahl über Ausgabegerät
Ablesen des Endergebnisses
Übernahme des Endergebnisses vom Rechenwerk
Notieren des Endergebnisses
Drucken des Endergebnisses
Bei all diesen Operationen besteht die Möglichkeit von folgenden Fehlern, die zu einem falschen Ergebnis (hier Lohnberechnung) führen: die die die die
Hilfskraft Hilfskraft Hilfskraft Hilfskraft
liest die Angaben falsch ab, tastet die Angaben falsch ein, liest die Ergebnisse falsch ab, irrt sich beim Niederschreiben der richtig abgelesenen Ergebnisse
Selbst wenn also der Tischrechner richtige Ergebnisse liefert, besteht (vor allem bei längeren Zahlenrechnungen, z. B. wenn mehr als 2 Artikel auftreten) die Gefahr falscher Ergebnisse auf Grund von Unachtsamkeit oder/und Ermüdung unserer Hilfskraft. Um dem Menschen diese und ähnliche unerquicklichen Routinearbeiten abzunehmen, haben sich Ingenieure und Mathematiker darum bemüht, den Menschen aus dieser Situation des Befehlsempfängers herauszunehmen und ihn durch eine Maschine zu ersetzen. Dem Menschen bleibt ,nur' noch die (Denk-)Arbeit der Herstellung von Rechenvorschriften (Programmen).
4. Aufbau einer Digital-Datenverarbeitungsanlage
21
Wie wir aus dem Überblick über die geschichtliche Entwicklung gesehen haben, blieb die Verwirklichung dieser Wünsche den Menschen lange Zeit versagt, bis sie in großem Maße in unserer Zeit gelang. Vorarbeit zu den modernen DVA leisteten die Buchungs- und Lochkartenmaschinen, die vor allem in den Zwanziger Jahren entwickelt wurden. Wird nun unser menschlicher Rechner als koordinierendes Bindeglied durch ein Steuerwerk (control unit) - so nennt man die entsprechende Einrichtung bei einer DVA - ersetzt, so führt dies zur Anordnung entsprechend B 1/6. Daraus entnehmen wir folgende Analogie: Angaben = Eingabe-Einheit (input-unit) Ergebnisse = Ausgabe-Einheit (output-unit) menschlicher Rechner = Steuerwerk (control-unit) Tischrechner = Rechenwerk (arithmetic-unit) Tabellen, Notizblock = Speicher (memory, storage) Rechenvorschrift = Programm (program) Programm
B 1/6: Struktur einer Datenverarbeitungsanlage
Die Funktionen des Tischrechners übernimmt das Rechenwerk der DVA. Die Angaben der Tabellen sind in einem Speicher abgelegt. Auch die Zwischenergebnisse können dort gespeichert werden. Die Angaben über den Arbeiter (und seine Tätigkeit) werden über Eingabegeräte (etwa Lochstreifen- oder Lochkartenleser) in die DVA geschleust. Das Endergebnis wird über ein Ausgabegerät (etwa Fernschreibmaschine oder Lochkartenstanzer oder Schnelldrucker) ausgedruckt. Neben die Befehlsfolge, die für die Hilfskraft gilt, sind auf S. 19 die entsprechenden Befehle gesetzt, die dem Steuerwerk vom Programm her .erteilt' werden. Maschinen, die den in B1/6 gezeigten Funktionsablauf aufweisen, nennen wir (digitale-) Datenverarbeitungsanlagen. Die Beschreibung einer DVA führt dem-
Teil I. Allgemeine Grundlagen
22
entsprechend auf die Beschreibung der in B 1/6 aufgezeigten 5 Grundeinheiten, des Programms und des gegenseitigen Zusammenwirkens. Bevor wir uns aber dieser Aufgabe zuwenden, wollen wir uns mit der Darstellung der Information beschäftigen, die wir in vielfältiger Form als Eingabe-, Ausgabegrößen und Zwischenergebnisse vorliegen haben, speichern und verarbeiten wollen. 4.2. Informationsdarstellung 4.2.1. Begriffe Im weiteren Verlauf werden wir verschiedene Begriffe wie: Zeichen, Alphabet, Daten, Bit, binär, dual, immer wieder verwenden. Es ist also naheliegend, sich mittels klarer Definitionen einen Überblick über Sinn und Geltungsbereich dieser Begriffe zu verschaffen. Sicherlich werden die Definitionen für sich manchmal etwas steril und abstrakt erscheinen. Wir werden aber sehen, daß sie sich gerade durch ihren systematischen Aufbau und ihre klaren Abgrenzungen (etwa gegenüber der Umgangssprache) leicht verstehen und gut merken lassen - vor allem, wenn wir sie im weiteren durch praktische Anwendungen interpretieren. Es ist ratsam, bei späterer Erwähnung eines dieser Begriffe zurückzublättern und sich die entsprechende Definition nochmals vor Augen zu führen. Jegliche Art verwaltender Tätigkeit läßt sich in die vier Grundtätigkeiten: Lesen, Ordnen, Rechnen, Schreiben aufteilen. Unter .Ordnen' sind Vorgänge, wie Sortieren, Selektieren (Auswählen), Mischen etc. zu verstehen. 3 Informationsarten:
4 Grundtätigkeiten: •
Lesen
>
Ordnen: Sortieren Selektieren Mischen etc.
>
Rechnen
*
Schreiben
-4
•
Oberbegriffe:
Ordnungsinformationen Daten
*• Mengeninformationen
>
Steuerinformationen
Befehle
B 1/7: Grundtätigkeiten und Informationsarten
Diese vier Grundtätigkeiten sind an drei mögliche Informationsarten gekoppelt. Diese sind: Ordnungsinformationen, Mengeninformationen und Steuerinformationen. Ordnungsinformationen sind beispielsweise: Konto-Nr., Kennzahlen,
23
4. Aufbau einet Digital-Datenverarbeitungsanlage
Abteilungs-Nr., Haus-Nr., Namen, Straßenbezeichnungen etc. Sie bilden die Ausgangsgrößen für die Grundtätigkeit des Ordnens. Gerechnet dagegen wird mit Mengeninformationen, wie Stückzahlen, Preisen und Umsatzwerten. Ordnungsund Mengeninformationen faßt man unter dem Oberbegriff Daten zusammen. Um die Ausführung einer oder mehrerer der vier Grundtätigkeiten zu veranlassen, bedarf es des Befehls, der Instruktion, der Anweisung. Informationen dieser veranlassenden, initiierenden Art nennt man Steuerinformationen. Wir definieren folgende Begriffe: Zeichen Ein Zeichen ist ein Symbol aus einer Menge von Symbolen, die zur Darstellung von Informationen dienen. In der DV unterscheiden wir drei Arten von Zeichen: a) numerische Zeichen = Ziffern (digit): z.B.: b) alphabetische Zeichen = Buchstaben : z. B.: oder: c) Sonderzeichen : z. B.:
0 1 ... A B ... aß... + —...
8 9 Y Z i// co = /
Die Gesamtheit der Zeichen (d. h., die gesamte Menge dieser Informations-Symbole) bezeichnen wir jeweils als Alphabet, wobei wir ganz entsprechend unterscheiden: a) Ziffern -Alphabet b) Buchstaben -Alphabet c) Sonderzeichen-Alphabet Wir können also sagen: das Zeichen 9 ist ein Symbol aus der Symbolmenge: Ziffern-Alphabet das Zeichen B ist ein Symbol aus der Symbolmenge: Buchstaben-Alphabet das Zeichen + ist ein Symbol aus der Symbolmenge : Sonderzeichen-Alphabet Daten Daten sind Ordnungs- oder Mengeninformationen. Sie werden in eine DVA: eingegeben, dort verarbeitet und ausgegeben. (Beachte: Einzahl von Daten ist Datum. In diesem Sinne wird dieser Begriff im folgenden benützt und nicht etwa in seiner Umgangssprachen-Bedeutung als Terminangabe!)
24
Teil I. Allgemeine Grundlagen
Wir unterscheiden drei Arten von Daten: a) numerische Daten numerische Daten (Zahlen) sind Daten, die sich aus numerischen Zeichen (Ziffern) und evtl. noch Sonderzeichen (wie Vorzeichen +, —) zusammensetzen. b) alphabetische Daten alphabetische Daten sind Daten, die sich nur aus alphabetischen Zeichen (Buchstaben) zusammensetzen. c) alpha-numerische Daten alpha-numerische Daten sind Daten, die sich aus beliebigen Zeichen (Ziffern, Buchstaben, Sonderzeichen) zusammensetzen. Wort Ein Wort ist eine zusammengehörige Folge von Zeichen. Die Wortlänge ist i. a. konstant, d. h., ein Wort besteht stets aus einer ganz bestimmten Anzahl von Zeichen, die innerhalb der DVA gemeinsam verarbeitet und gemeinsam (unter einer Adresse) abgespeichert werden. Die Mehrzahl von ,Wort' wird - fälschlicherweise - als .Worte' bezeichnet.
Feste Wortlänge Bei großem Rechenaufwand, d. h., vornehmlich bei technisch-wissenschaftlicher Anwendung von DVA, setzt man Maschinen mit fester Wortlänge ein. Die Wortlänge ist dabei von Fabrikat zu Fabrikat verschieden - sie liegt i. a. zwischen 4 und 16 Zeichen je Wort.
Variable Wortlänge DVA mit variabler Wortlänge findet man häufig bei kaufmännischer Anwendung der DV, um bei den in ihrer Länge stark schwankenden Begriffen wie: Name, Anschrift, Konto-Stand etc., den Speicher besser ausnützen zu können. Ebenso wie beim Begriff .Daten' unterscheidet man auch beim Begriff ,Wort': a) numerisches Wort ein numerisches Wort ist ein .numerisches Datum' b) alphabetisches Wort ein alphabetisches Wort ist ein .alphabetisches Datum' c) alpha-numerisches Wort diese Bezeichnung umfaßt zwei Begriffe: 1. alpha-numerisches Datum 2. Befehl Befehl Ein Befehl ist ein alpha-numerisches Wort mit speziellen Steuerfunktionen. Ein Befehl bildet die Elementar-Instruktion (Elementar-Anweisung) innerhalb eines
4. Aufbau einer Digital-Datenverarbeitungsanlage
25
Programms. Ein Befehl gibt also dem Steuerwerk die Anweisungen für den folgenden Schritt im Ablauf der Rechenoperation. Befehle sind also ebenso wie alpha-numerische Daten aus beliebigen Zeichen (Ziffern, Buchstaben, Sonderzeichen) aufgebaut, unterscheiden sich von diesen aber dadurch, daß sie nicht als Rechengrößen ein- und ausgegeben sowie verarbeitet werden, sondern dies eigentlich selbst veranlassen. Programm Ein Programm ist die Folge von Befehlen (Einzel-Instruktionen), welche von der DVA unter Lenkung durch das Steuerwerk nacheinander ausgeführt wird. Speicherprogrammierte DVA Ähnlich den Daten (etwa Kennzahlen oder Stückzahlen) wird bei einer speicherprogrammierten DVA auch die Befehlsfolge für die auszuführenden Operationen, d. h., das Programm, im Speicher aufbewahrt. Vor Beginn des Rechengangs wird also das Programm in den Speicher eingelesen. Während des Rechengangs wird Befehl um Befehl des Programms vom Steuerwerk aus dem Speicher übernommen und ausgeführt. Das abgespeicherte Programm steuert also ohne weitere äußere Eingriffe den Ablauf des Rechengangs. Die Idee des .abgespeicherten Programms' stammt von dem Mathematiker Neumann (vgl. S. 8). Satz Ein Satz besteht aus mehreren Worten, deren Inhalt logisch zusammenhängt. Ein Satz kann beispielsweise die Kto.-Nr., den Kto.-Stand und das Datum der letzten Kto.-Änderung eines Kunden umfassen — also Angaben, die etwa in einer Lochkarte abgespeichert sind. Block Ein Block besteht aus ca. 10 Sätzen, deren Inhalt ähnlich geartet ist. Ein- und Ausgabe erfolgen meist blockweise. Fernübertragung von Daten (etwa über gewöhnliche Telefonleitungen) erfolgt ebenso blockweise, da hierdurch eine relativ einfache Fehlersicherung erreicht werden kann (vgl. III, 2.4.7.2). Tabelle B 1/8 und B1/9 folgt Seite 26
AUFGABEN zu 1,4.2.1. 1.
Welche verwaltende Grundtätigkeiten gibt es? a) Lesen, Ordnen, Rechnen, Schreiben b) Lesen, Sortieren, Selektieren, Schreiben c) Lesen, Addieren, Subtrahieren, Schreiben
2.
Welche Informationsarten gibt es? a) Eingabe-, Ausgabeinformationen
26
Teil I. Allgemeine Grundlagen
27
4. Aufbau einer Digital-Datenverarbeitungsanlage
b) Ordnung»-, Mengen-, Steuer(ungs)informationen c) Ordnungsinformationen, Daten, Befehle 3.
Unter einem .Zeichen' versteht man in der Datenverarbeitung: a) ein elektrisches Signal b) einen Maschinenbefehl c) ein Symbol aus einer Menge von Symbolen, die man Alphabet nennt
4.
Was bedeutet der Begriff .numerisch'? a) zahlen-, ziffernmäßig b) nach Nummern geordnet (etwa Speicherordnung) c) nur mit Digital-Rechenanlagen lösbar
5.
Innerhalb des Begriffs .Alphabet' unterscheidet man: a) Ziffern-, Buchstaben- und Sonderzeichen-Alphabet b) Eingabe-, Intern- und Ausgabe-Alphabet c) Eingabe-, Maschinen- und Ausgabe-Alphabet
6.
Das Wort M2/K3 gehört folgender Begriffsklasse an: a) Befehl b) numerische Daten c) alpha-numerische Daten (und damit zu: alpha-numerische Worte)
7.
Die DVA mit fester Wortlänge arbeiten mit ca
Zeichen je Wort:
a) 10 b) 50 c) 100 8.
9.
Wo werden DVA mit variabler Wortlänge eingesetzt? a) bei kaufmännischen Problemen, weil häufig Ausdrücke (Namen, Bezeichnungen) verschiedener Länge auftreten und der Speicher dennoch voll ausgenützt werden soll b) bei wissenschaftlich-technischen Problemen, da oft verschiedene Genauigkeit gefordert wird und diese von der Stellenzahl je numerisches Wort abhängt c) bei DVA mit viel Datentransport zwischen Zentraleinheit und Magnetbandspeicher-Einheit Der umfassendere Begriff der drei Begriffe: Wort, Datum, Befehl, ist: a) Datum, er beinhaltet den Begriff ,Wort' und dieses wiederum den Begriff .Befehl' b) Wort, er umschließt die übrigen zwei Begriffe c) keiner, alle drei sind gleichgeordnet
10.
Was versteht man unter .Speicherprogrammierten DVA'? a) DVA, bei denen das Programm zunächst in einer Symbolsprache ein-
28
Teil I. Allgemeine Grundlagen
gelesen, von der Maschine in die eigene (Maschinen-)Sprache übertragen und in den Speicher eingeschrieben wird b) DVA, bei denen das Programm (= Befehlsfolge) ebenso wie die zu verarbeitenden Daten im Speicher der Anlage aufbewahrt und Befehl um Befehl vom Steuerwerk während des Rechenablaufs abgerufen wird c) DVA, bei denen durch geschickte Ausnutzung der Symmetrieeigenschaften des Speichers besonders schnelle Programme erstellt werden können 11.
Was sind die Grundbausteine eines Programms? a) Entscheidungen b) Daten c) Befehle
4.2.2. Elektrische Darstellung als Binärzeichen
Es erhebt sich nun die Frage, in welcher (logischen und physikalischen) Form wir die besprochenen Zeichen innerhalb der Ein- und Ausgabegeräte sowie der anderen Grundeinheiten der DVA darstellen können. Die Darstellung der Zeichen geschieht durch Signale, speziell elektrische Signale: Spannungen. Wie wir noch sehen werden, ist es vorteilhaft, nur zwei diskrete Zustände (Signalwerte) zu unterscheiden: entweder Spannung vorhanden oder Spannung nicht vorhanden. Man nennt solche Signale, die nur zwei bestimmte Zustände (Signalwerte) annehmen können, binär = zweiwertig (engl, binary). Die beiden möglichen Zustände bezeichnet man mit den Binärzeichen O und L. ,L' verwendet man, um die binäre Eins (L) von der dezimalen Eins (1) zu unterscheiden. Man sagt ,die Ell', weil es ,die Eins' heißt. Das Binär-Alphabet besteht also aus den zwei Zeichen O und L. Man hat nun zwei Möglichkeiten der Zuordnung: entweder: L = positive Spannung 0 = keine Spannung oder : L = keine Spannung 0 = positive Spannung Spannung u
B1/10: Spannungs-Zeit-Diagxamm für die Zeit t
Zeichenfolge L O L L
4. Aufbau einer Digital-Datenverarbeitungsanlage
29
Meistens wählt man die 1. Möglichkeit. Die zeitliche Reihenfolge des Spannungssignals für die Zeichenfolge: L O L L ergibt sich somit nach B 1/10. Eine wichtige Abkürzung für Binärzeichen ist: bit (engl.: bit = binary digit = Binärziffer) 1 bit ist also 1 Alternativentscheidung — nämlich die Entscheidung zwischen O und L. Als Hauptwort wird ,Bit' groß geschrieben. Mehrzahl von ,Bit' ist ,Bits'. Als Zähl-(Maß-)Einheit für die Alternative 0 oder L wird ,bit' klein geschrieben. Ebenso wie ,das Kilogramm' groß und ,10 kg' klein geschrieben werden. Wir werden in Teil III noch sehen, daß man alle logischen Entscheidungen auf die Elementar-Entscheidung zwischen O und L (= 1 bit) zurückfuhren kann. Dementsprechend verwendet man dort (in der Informationstheorie III, 1) auch ,1 bit' als Maßeinheit für den Informationsgehalt einer Nachricht. Die Verwendung des Binär-Alphabets bringt u. a. den Vorteil mit sich, daß man nur zwischen zwei (Spannungs-)Zuständen (O und L) unterscheiden muß. Bei Verwendung etwa des Dezimal-Alphabets wären es dagegen zehn Zustände (0, 1 . . . 8, 9)! Alle Spannungszustände höher als ü/2 werden als L interpretiert, alle Spannungszustände tiefer als ü/2 werden als 0 interpretiert (vgl. B1/11). Es können also große Toleranzen in der Spannungsschwankung zugelassen werden, was sich vor allem bei der technischen Verwirklichung günstig auswirkt. Spannung u
Ü/2
' •" • als:
L
* O
L
• L
Zeit t
interpretiert
B 1 / 1 1 : zulässige Spannungstoleranzen
Das Binär-Alphabet bringt neben diesem Vorteil der großen Spannungstoleranzen noch weitere (etwa bei Rechenmethoden (vgl. Teil II)) mit sich.
30
Teil I. Allgemeine Grundlagen
4.2.3. Anwendung von Codes zur Zeichendarstellung
Die Verwendung eines Alphabets mit nur zwei Zeichen ( 0 und L) bringt natürlich auch Nachteile gegenüber der Verwendung eines Alphabets mit mehr Zeichen (etwa 10) mit sich. Wollen wir etwa die zehn Zeichen 0,1, . . . 9 des Dezimal-Alphabets oder die 26 Buchstaben des Buchstaben-Alphabets in Binärzeichen (O und L) ausdrücken, so müssen wir jeder Dezimalziffer bzw .jedem Buchstaben eine bestimmte Kombination mehrerer Binärzeichen zuordnen. Diese Zuordnung (die für Hin- und Rückwandlung eindeutig sein muß) nennt man Code = Schlüssel (engl.: code). Der Ausdruck ,Code' wird — abweichend von dieser Definition — auch zur Bezeichnung für das Alphabet 2, in das umgewandelt werden soll, verwandt (vgl. unten: BCD-Code). Mehrzahl von ,Code' ist,Codes'. Codieren = Verschlüsseln, nennt man den Vorgang der Zuordnung eines (meist allgemeineren) Alphabets j in ein (meist spezielleres, technisches) Alphabet 2 . Decodieren ist die Umkehrung der Codierung.
Code Alphabet]
M • ö B x a > e c tj x t 3* ü M M o o 3 « « j «2 2 h n m ^ vi
4 >
a
S < u o C 4 > '§ o n.: c v J2 3w o £c -c •S M o o ö 'u J3 J junS h in ri ^ vi
= s « o 0 ) o > • CM C C S O M ö o o > J2 J2 JnIASS H ri m ^ t vi
c o
.4.
ts JG u S l -i cd .2 e .s
-C
C J a> HB Ö Q c s g « r? c &o bi o = a :0 S 3
o
aî •C o l-J
S A U jM
5
•S o •a a a
S « a
) bzw. kleiner ( 2 und: 0 < bj < B können wir ein allgemeines polyadisches Zahlensystem folgendermaßen definieren und beschreiben:
mit der Basis B
a) Stellenschreibweise: gebrochene Zahlen Z = bn N
Vi
b j b„, b.j b_2 /
ganze Zahlen
b m + 1 bm
2. Zahlensysteme
93
b) Potenzschreibweise (ausgeschrieben) z = b n - Bn + b n . , • Bn
l
+ . . . + b j • B 1 + b 0 - B° + b_! • B"1 + . . . + b m - B m
c) Potenzschreibweise (Kurzform) n z = ^ b i B i i=m Für die Grenzen m und n gelten dieselben Angaben wie in B II/5. Unter ,polyadische Zahlensysteme' fassen wir alle Zahlensysteme zusammen, die in oben angegebener Weise auf der Stellenschreibweise aufbauen. Andere Zahlensysteme wären etwa die ,Restklassen-Systeme'. Ihre Anwendung bei DVA hat allerdings noch keine größere praktische Bedeutung erlangt.
102
1
101
10°
1 1 1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
2
7
0
0
Hexadezimal
Oktal
Quinär
Dezimal
16°
1 1 1 1 1 1 1 1 2 2
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1
1 1
0 1 2 3 4 5 6 7 8 9 0' 1' 2' 3' 4' 5' 0 1
3
3
1
1'
4
4
6
4
8°
1 1 1 1 1 •2 2 2 2 2 3 3 3
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2
1
0
2
4
0
0
51
5°
8J
161
81
52
1
B 1176: Ganze Zahlen in verschiedenen Zahlensystemen
94
Teil II. Mathematische Grundlagen
In BII/6 sind einige ganze Dezimalzahlen und die Formen, wie sie in verschiedenen anderen polyadischen Zahlensystemen auftreten, aufgeführt. Das DualSystem ist dabei ausgelassen, da es im folgenden Abschnitt gesondert behandelt wird. Interessant auch ist das Hexadezimal-System (hexadezimal = 16), das auf der Basis B = 16 aufbaut. Dieses System wird immer häufiger bei DVA eingesetzt. Sein Vorteil beruht darin, daß man mit 4 bit gerade 4 2 = 4 • 4 = 16 unterscheidbare Binär-Zustände angeben kann, was gerade einer Hexadezimalstelle entspricht. Pseudotetraden treten hier also nicht auf. Das Hexadezimal-Alphabet besteht natürlich aus 16 Ziffern. Da wir aus dem üblichen Dezimal-Alphabet nur zehn Ziffern (0,1, 8, 9) kennen, haben wir für B II/6 sechs weitere erfunden (0', 1', 2', 3', 4', 5'). 2.1.3. Dual-System
Der Mathematiker Leibniz hat sich als erster intensiv mit dem Dual-System beschäftigt (vgl. I, 2). Wie der Name ,Dual' (= 2) schon sagt, ist beim Dual-System die Basis B = 2. Dies ist die kleinstmögliche Basis eines polyadischen Zahlensystems. Als Dual-Alphabet, das ja nur aus B = 2 Ziffern besteht, verwenden wir die früher eingeführten Binärzeichen 0 und L. 2.1.3.1. Definition Nachdem wir uns im vorhergehenden Abschnitt die Darstellung des allgemeinen polyadischen Zahlensystems klargemacht haben, können wir nun rückwärts leicht auf die Definition des Dualsystems als Spezialfall eingehen. Aus 2.1.2. entnehmen wir mit B = 2 und der Einschränkung: bj = 0 oder L die allgemeine Darstellung einer beliebigen Dualzahl: in Stellenschreibweise: z = t»n b„.!
b, b Q , b_! b. 2
b m + 1 bm
in ausgeschriebener Potenzschreib weise: z = b n - 2" + . . . . + b j • 2 1 + b 0 - 2° + b.! • 2"1 + . . . . + b m - 2 m in Kurzform:
n i=m
In B II/7 sind zum Vergleich die ersten 17 Zahlen des Dezimal-Systems ihrer Dualform gegenübergestellt. Jede Verschiebung einer Dualzahl um eine Stelle nach links bzw. rechts bewirkt eine Verdoppelung bzw. Halbierung, da jede Dualstelle den Faktor 2 bedeutet. Allgemeiner können wir formulieren:
2. Zahlensysteme
95
Die Verschiebung einer Dualzahl um s Stellen nach links bzw. rechts bedeutet eine Multiplikation bzw. Division mit der Zahl: 2 S . Das Verschieben ist recht einfach durch sogenannte Verschiebe-Befehle durchzufuhren.
dual
dezimal
Stellenwert: 2
= = = = =
O L
L L
L L L L L L L L O 0
L L L L O 0 0 O L L L L O O
L L 0 0 L L 0 0 L L 0 0 L L 0 O
O L
O
0 1 0 1 0
2° 2° 2° + 1 2° + 1 2° + 0
L
O L
O L
O L
O L
O L
O L
B II/7: Vergleich von Dual- und Dezimal-Zahlen
Beispiel: Die Division durch die Zahl 8 geschieht durch s = 3 Stellenverschiebungen nach rechts, da 8 = 2 3 . dezimal: dual
16 LOOOO
LOOO
8 = 2 = LO
3 Rechtsverschiebungen
Teil II. Mathematische Grundlagen
96
Aus B II/7 können wir entnehmen, daß im Dual-System die Stellenzahl bedeutend schneller zunimmt als beim Dezimal-System. Im Abschnitt über Informationstheorie (Teil III) werden wir sehen, daß eine Dualzahl im Durchschnitt 3,3 mal soviel Stellen aufweist als die entsprechende Dezimalzahl. Dies erklärt sich natürlich aus dem kleinen Dual-Alphabet, das nur die Unterscheidung zweier Zeichen (O und L) erfordert. Die hohe Stellenzahl und der monotone 0,L-Wechsel erschweren natürlich sehr die Merkbarkeit von Dualzahlen. Andererseits ist gerade das kleine Alphabet (O, L) ein bedeutender Vorteil des Dual-Systems in der Anwendung in DVA. Die meisten elektronischen und magnetischen Bauteile zeichnen sich nämlich durch zwei stabile Zustände aus. 2.1.3.2. Unterschied: Binär - Dual Obwohl es in der Praxis und teilweise auch in der Literatur nicht konsequent eingehalten wird, wollen wir doch zwischen dem Dual-System und den BinärSysteme« unterscheiden. Das Dual-System wurde oben eindeutig als das polyadische Zahlensystem mit der Basis B = 2 definiert. In ihm wird die gesamte Zahl aus 2er Potenzen aufgebaut, die latent in den Ziffernstellen mitgeliefert werden. Im Gegensatz dazu verstehen wir unter einem Binär-System irgendein Zahlensystem, das mit nur 2 Elementen (0, L) in der Zahlendarstellung auskommt. Ein solches Binär-System haben wir schon in der Tetradenverschlüsselung der Dezimalziffern kennengelernt (vgl. 1,4.2.3). Dort lag ein Dezimal-System.vor, dessen einzelne Ziffern durch die Binärzeichen O und L als Tetrade dargestellt waren. Der Begriff,Binär-System' ist also ein übergeordneter Begriff, der sich auf die binäre Darstellungsweise und nicht auf den inneren Aufbau des Zahlensystems bezieht. Da das Dual-Alphabet (O, L) mit dem Binär-Alphabet übereinstimmt, ist das Dual-System nur ein Sonderfall der Binär-Systeme.
Beispiel:
1 O O O L l O L L L
24 weitere
+
2°
L O O O L
Binär-Systeme 1 Dezimalstelle B II/8: Binär-Systeme, Dual-System
5 Dualstellen
= 17
97
2. Zahlensysteme
A U F G A B E N zu II, 2.1. 1. Wie lautet im Dezimal-System die Potenzschreibweise für den in Stellenschreibweise angegebenen Ausdruck: 906,04? a) 906,04 = 9 • 10 2 + 0 • 10 1 + 6 • 10° + 0 • 1 0 1 + 4 • 10" 2 b) 906,04 = 9 • 10 2 + 0 • 10 1 + 6 • 10° - 0 • 10 1 - 4 • 10 2 c) 906,04 = 9 • 10 2 + 0 • 10 1 + 6 • 10° - 0 • 10" 1 - 4 • 10" 2 2. In welchem polyadischen Zahlensystem ist die Zahl z angegeben und welchen Charakter hat sie, wenn ihre Kurzform lautet: o
z = 2 > i - 16 j i=-3
a) tetraden-dezimales System, da die Basis B = 2 4 = 16 Charakter: ganzzahlig, da i ganzzahlig. b) Oktal-System, da die Basis B = 2 • 8 = 16 Charakter: endlich, echt gebrochen, da i endlich und untere Grenze m = - 3 negativ. c) Hexadezimal-System, da die Basis B = 16 Charakter: endlich, echt gebrochen, da obere Grenze n = 0 und untere Grenze m = - 3 ganz, negativ und endlich 3. Was versteht man unter ,polyadisches Zahlensystem'? a) ein Zahlensystem, das nur mit unecht gebrochenen Zahlen operiert b) ein Zahlensystem, das auf der Stellenschreibweise aufbaut, wobei jede Stelle einen weiteren Faktor B (= Basis des Zahlensystems) bedeutet c) ein Zahlensystem, bei dem die einzelnen Ziffern als Tetrade, d. h., aus 4 bit, aufgebaut ist 4. Welcher der beiden Begriffe — Binär-System, Dual-System — ist der übergeordnete? a) Dual-System b) Binär-System c) stehen in keinem Zusammenhang
2.2. Festkomma-Darstellung 2.2.1. Begrenzte Stellenzahl Bei DVA mit fester Wortlänge verfugt ein Wort über eine (durch die technische Konzeption) festgelegte (Bit-)Stellenzahl. Sie beträgt 20 bis 60 bit, wobei ca. 40 bit das Übliche ist. Mit 40 bit lassen sich darstellen: entweder: eine Dualzahl mit 40 bit, was 40 : 3,3 = 12 Dezimalstellen entspricht oder: 40 : 4 = 10 Dezimalstellen tetradenverschlüsselt.
Teil II. Mathematische Grundlagen
98
DV-Modelle aus modernen Familiensystemen (vgl. S. 10) mit variabler Wortlänge benutzen für die Daten- und Befehlsdarstellung die Byte-Struktur.
Feste Wortlänge
Beispiele
Variable Wortlänge (Byte-Maschine)
alphabetische Daten: :
4 Bytes
O O A P P T
Name
A
M A H L E R
Name
M A ]~H I L~[~E I R I = 6 Bytes
P
P
T
numerische Daten: 680921 68
0680921C
0 6 8C
= 4 Bytes :
2 Bytes
BII/9: Feste und Variable Wortlänge
Der Ziffernteil des letzten Byte bei numerischen Daten in gepackter Darstellung (vgl. B 1/18) enthält die Hexadezimalziffer LLOO, die oft mit C abgekürzt wird. Sie kennzeichnet das positive Vorzeichen. Bytemaschinen weisen nicht nur Datenworte sondern auch Befehlsworte variabler Länge auf. Die Befehlsliste derartiger DVA kennt 5 Befehlsformate, wobei für einen Befehl 2 , 4 oder 6 Bytes vorgesehen sind. Für die Darstellung einer Zahl in einer DVA fester Wortlänge haben wir eine ganz bestimmte — von Maschinentyp zu Maschinentyp verschiedene, innerhalb eines Typs jedoch festgelegte - Stellenzahl zur Verfügung (in B II/9 sind es 6 Dezimalstellen). Wir können somit nur eine Ziffernfolge mit begrenzter Stellenzahl verwirklichen. Besitzt die darzustellende Zahl mehr Ziffern, so ist sie in unserer DVA überhaupt nicht darstellbar — oder wir schneiden die überzähligen Stellen ab. Lostrennen werden wir natürlich die niedrigen, d. h., rechten Stellen, da ihr Weglassen die geringste Verfälschung mit sich bringt. Besitzt die darzustellende Zahl dagegen weniger Ziffern als zulässig, so brauchen wir nur die übrigen, hohen Stellen mit Nullen aufzufüllen — die Zahl wird also in diesem Fall in ihrem Wert nicht verändert. Nehmen wir an, wir hätten eine DVA mit einer Wortlänge von — zur einfacheren Darstellung unüblicherweise — nur 5 Dezimalstellen (bei der Darstellung im Dual-System ergeben sich völlig analoge Verhältnisse!). B II/10 zeigt dann die Möglichkeiten bei dieser begrenzten Stellenzahl.
2. Zahlensysteme
99
vorgegebene Zahl:
6809215
Darstellung
68092
Methode
:
68
00068 mit 000 auffüllen
Weglassen von 15
B 11/10: Zahlendarstellung bei begrenzter Stellenzahl
Lassen wir auch gebrochene Zahlen zu, so genügt natürlich zur Charakterisierung die Ziffernfolge allein nicht mehr. Das Komma ist hier noch von entscheidender Bedeutung. Es trennt den ganzen vom gebrochenen Anteil der Zahl. Man unterscheidet nun zwei Arten der Festlegung und Kennzeichnung der Kommaposition: Festkomma- und Gleitkomma-Darstellung. 2.2.2. Definition
Bei einer DVA mit Fesfkomma-Darstellung werden die Zahlen so behandelt, als stünde das Komma bei allen Zahlen an derselben, festen Stelle. Es bleibt dem Programmierer überlassen, die Zahlen so umzuformen, daß dies auch wirklich der Fall ist. Da also das Komma immer an einer festen Position ,steht', braucht man es überhaupt nicht mitzuführen (etwa als besondere Bit-Stelle). Dies brächte ja keine zusätzliche Information. An welcher Stelle man sich das Komma denkt, ist grundsätzlich gleichgültig — es kommt nur auf die relative Lage bei den verschiedenen Zahlen an. Günstig, übersichtlich und üblich ist es jedoch, das Komma entweder nach der niedersten Stelle oder vor der höchsten Stelle anzubringen. Das bedeutet aber, daß die Zahlen alle entweder als ganz oder als echt gebrochen behandelt werden (vgl. B II/11). Wir verwenden also für die Festkomma-Darstellung die Definition des polyadischen Zahlensystems (vgl. 2.1.2), wobei wir die Summengrenzen m und n für ganz bzw. echt gebrochene Zahlen aus B II/5 entnehmen. Die Definition ist allgemein, die Basis B kann also beliebig gewählt werden (z. B. B = 10 oder B = 2). Darstellung als: ganze Zahl + m
bn
bn-l
echt gebrochene Zahl bo
=0
n + 1 = zulässige Stellenzahl B 11/11: Komma-Anordnung bei Festkomma
b-i
b-2
-m
= zulässige Stellenzahl
n
=- 1
bm
+
100
Teil II. Mathematische Grundlagen
Um auch negative Zahlen darstellen zu können, wird ein eigenes Vorzeichen-Bit entweder vornangestellt oder hinten angehängt. Für diese Bit-Stelle kann man beispielsweise vereinbaren: 0 bedeutet +, d. h., positive Zahl L bedeutet - , d. h., negative Zahl Durch die begrenzte Stellenzahl und das feste Komma ist natürlich ein ganz bestimmter Zahlenbereich als darstellbar festgelegt. Dieser ist z. B. bei einer DVA mit 5 Dezimalstellen: 00000 bis 99999 bzw. 0,00000 bis 0,99999 allgemein bei s Dezimalstellen (B = 10): 0 bis 10s - 1 bzw. 0 bis 1 - 10 s allgemein bei einem polyadischen Zahlensystem mit der Basis B und s Stellen: 0 bis Bs - 1
bzw. 0 bis 1 - B s
Die eine Darstellungsweise hat nun nicht etwa der anderen etwas voraus. Durch Wahl geeigneter Maßstabsfaktoren (hier 10"s bzw. 10 5 ) kann nämlich der eine Zahlenbereich in den anderen übergeführt werden. Beispiel: Wir wollen die beiden Zahlen 680921 und 3,2 in normalisierter Form bei 5-stelliger Wortlänge darstellen. Unter .Normalisieren' versteht man in diesem Zusammenhang die Verschiebung der Zahl so weit nach rechts oder nach links, daß die 1. Ziffer (links) ungleich Null ist. Mit anderen Worten: eine normalisierte Zahl ist gekennzeichnet durch: b n
0
Die eventuell notwendigen Verschiebungen sind leicht mit den Verschiebebefehlen durchzuführen. normalisierte Form der Zahlen 680921 und 3,2
Maßstabsfaktor bei Darstellung als: ganze Zahl 1
68092
•10
32000
•10"4
echt gebrochene
• 106 101
B11/12: Normalisierung und Maßstabsfaktor
Da die Maßstabsfaktoren in einer DVA mit Festkomma nicht mitgeführt werden, muß der Programmierer darauf achten, daß während des Programmablaufs stets nur Zahlen addiert oder subtrahiert werden, die in diesem Moment gleichen Maßstabsfaktor besitzen! Ist dies nicht der Fall (wie etwa in B11/12), so müssen die
101
2. Zahlensysteme
beiden Operanden vor Ausfuhrung der Operation zuerst durch Verschiebebefehle auf die Form mit gleichem Maßstabsfaktor gebracht werden (vgl. B II/13). Aus dem 2. Beispiel in B II/13 entnehmen wir, daß aufgrund der beiden unerläßlichen Bedingungen: gleiche Maßstabsfaktoren der Operanden, begrenzte Stellenzahl (hier 5 Dezimalstellen) die Ziffer 2 im Operanden 3,2 und damit auch im Ergebnis verloren geht. Statt dem richtigen Ergebnis 68095,2 erhalten wir nur 68095. Addition der Zahlen 6809 und 3,2: Maßstabsfaktoi bei Darstellung als: inte rne Darst eilung
ganze Zahl
echt gebrochene Zahl
68090
•10"»
•104
+
00032
• 10"1
•104
=
68122
• 10"1
•104
68092
• 10°
• 10s
+
00003
• 10°
• 10 5
=
68095
• 10°
• 10 5
Ergebnis: 6809 + 3,2 = 6812,2 Addition der Zahlen 68092 und 3,2:
Ergebnis: 68092 5 Stellen
+3,2
=68095
abge-
5 Stellen
schnitten B 11/13: Addition bei Festkommadarstellung
Da die Maßstabsfaktoren innerhalb der D V 4 nicht vorhanden sind, können sie auch mit dem Ergebnis nicht ausgedruckt werden. Der Programmierer erhält als Ergebnis nur eine Ziffernfolge, die Kommastelle dazu muß er selbst ermitteln. Wir haben also dieselben Verhältnisse vor uns wie bei einer Tischrechenmaschine oder beim Rechenschieber. Auch dort werden die Zehnerpotenzen (= Maßstabsfaktoren des Dezimal-Systems) und damit die Kommastelle gesondert bestimmt. Diese Ermittlung der Kommastelle ist natürlich recht einfach bei Aufgaben, in denen praktisch nur Zahlen mit gleicher Kommastellung und damit gleichen Maßstabsfaktoren vorkommen. Umständliches Operieren mit Maßstabsfaktoren ist hier nicht nötig. Dies ist etwa bei der kommerziellen Anwendung von DVA
102
Teil II. Mathematische Grundlagen
der Fall. Bei Buchungen, Lohnberechnungen, Bestellungen usw. treten stets DMund bzw. oder Pfennig-Beträge auf. Das Komma ist hier stets vor der zweitletzten Stelle zu denken (m. a. W.: bei Darstellung als ganze Zahlen tritt stets der Maßstabsfaktor 10"2 auf)- Mit 10 Dezimalstellen ist dabei der Bereich von 0 bis 99 999 999,99 DM zu verwirklichen. Gänzlich anders liegen dagegen die Verhältnisse bei der wissenschaftlich-technischen Anwendung von DVA. Hierbei treten nämlich Zahlen auf, die sich um viele (bis zu 100) Zehnerpotenzen unterscheiden. Hier stets passende Maßstabsfaktoren aufzufinden, wäre recht umständlich. Man kennt deshalb bei DVA noch eine zweite Zahlendarstellung, die sog. Gleitkomma-Darstellung. Wir werden uns damit in 2.4. eingehend beschäftigen. Die modernen DVA beherrschen fast alle beide Darstellungsarten von Zahlen.
\ 2.2.3. Die Grundrechenarten bei Festkomma-Darstellung
In diesem Abschnitt wollen wir die 4 Grundrechenarten (Addition, Subtraktion, Multiplikation, Division) und ihre Ausführungen am Dezimal- oder bzw. und Dual-System vorführen. Es bedeutet aber nicht viel Mühe, diese Methoden gegebenenfalls entsprechend auch auf andere Zahlensysteme zu übertragen. 2.2.3.1.
Addition
Durch direkte Verwendung des Binär-Alphabets ( 0 , L) besitzt das Dual-System die schon erwähnten Vorteile: hohe Betriebssicherheit und Einfachheit in der Zahlendarstellung. Ein weiterer großer Vorteil sind die höchst einfachen Rechenregeln. Da im DualSystem nur die Zeichen O und L vorkommen, liegt hier ein .Einmaleins' im wahrsten Sinne des Wortes vor. Für die Addition zweier Dualstellen gelten vier einfache Regeln (vgl. B II/14).
o + o=
0
0 +L =L L+ 0=L L + L = 0 und Übertrag L auf die nächsthöhere Dualstelle B 11/14: Additionsregeln für zwei Dualstellen
Die Addition von zwei mehrstelligen Dualzahlen baut sich hieraus in der uns schon gewohnten Weise auf: beginnend mit der niedersten, wird Stelle um Stelle unter Berücksichtigung eventueller Uberträge L nach diesen Additionsregeln abgearbeitet.
2. Zahlensysteme
Beispiel:
103
dezimal +
dual
70 34
==i== = 104
LOOOLLO + LOOOLO übertra
8
LL __ = LLOLOOO
Dieselben Schritte fuhrt das Rechenwerk der DVA in derselben Reihenfolge aus (vgl. B II/15). Durch Transportbefehle wird der 1. Operand (LOOOLLO) in den Akkumulator AC gebracht. Das Speicher-Register, das wie AC gerade ein Wort aufnehmen kann, übernimmt vom Speicher den 2. Operanden (LOOOLO). Als dritte Baugruppe ist ein Binäraddierer (+) vorhanden. Dieser ist in der Lage, zwei Dualstellen nach den vier Additionsregeln zu verknüpfen und einen eventuell in der vorhergehenden Stelle aufgetretenen Übertrag L mit zu berücksichtigen.
Rückkopplung
AC
= Akkumulator
SpR = Speicher-Register +
= Binär-Addierer
Beispiel: LOOOLLO + OLOOOLO = LLOLOOO B 11/15: Additionseinrichtung (Zustand beim 5. Takt)
Wie ein Binäraddierer technisch realisiert wird und vor allem, wie er die Uberträge richtig behandelt, werden wir noch in III, 3.7.3.2. sehen. Der 1. bzw. 2. Operand wird regelrecht Stelle um Stelle durch den AC bzw. das SpR geschoben. Die freiwerdenden Stellen im AC können die Ergebnis-Bits aufnehmen. Dies geschieht über eine Rückkopplung. In diesem Zusammenhang spricht man von .rückgekoppeltem Schieberegister'. Am Ende der Addition, also nach 7 Schiebetakten steht das Ergebnis (LLOLOOO) im AC. Es kann dort entweder als Ausgangsoperand für weitere Operationen dienen oder durch Transportbefehle in den Speicher übernommen werden. 2.2.3.2.
Multiplikation
Bei der Grundrechenart .Multiplikation' gelten - wie bei der Addition - vier denkbar einfache Grundregeln (vgl. B II/16).
Teil II. Mathematische Grundlagen
104
o 0 L L
0 =0 L= 0 o =o L=L B 11/16: Multiplikationsregeln für 2 Dualstellen
Die Ergebnisse der Multiplikation sind also stets O bis auf: ,ein mal eins = eins'. Die Multiplikation von zwei mehrstelligen Dualzahlen wird in der uns gewohnten Weise — nur viel einfacher — durch Bildung von Teilprodukten des Multiplikanden mit den einzelnen Multiplikatorstellen und anschließende Stellenverschiebung durchgeführt. Beispiel: dual
dezimal Multiplikand • Multiplikator 33 • 13 99 33 •
Multiplikand • Multiplikator LOOOOL•LLOL LOOOOL OOOOOO Teilprodukte LOOOOL • • LOOOOL• • •
Teilprodukte
= 429 = Ergebnis =
L L O L O L L O L = Ergebnis
Wir sehen, die Teilprodukte ergeben sich im Dual-System entweder zu O (wenn die betreffende Multiplikatorstelle 0 ist) oder einfach als Multiplikand selbst (wenn die betreffende Multiplikatorstelle L ist). Eine eigentliche Multiplikation zur Bildung der Teilprodukte (wie 33 • 3 = 99 im Dezimal-System) ist hier gar nicht nötig. Jedes Teilprodukt ist gegenüber dem vorhergehenden um eine Stelle nach links versetzt. (Dieselbe Wirkung erzielt man, wenn man stets die Summe der bisherigen Teilprodukte um 1 Stelle nach rechts verschiebt und das neue Teilprodukt dann hinzuaddiert. So geschieht es in B II/19). Das Rechenwerk vollzieht wieder dieselben Schritte wie bei der Multiplikation von Hand. Die Multiplikationseinrichtung (B II/17) unterscheidet sich von der Addiereinrichtung (B11/15) nur durch ein 3. Register, das sog. MultiplikatorQuotienten-Register (MQR), genauer gesagt: den Hauptbestandteil des Rechenwerks einer DVA bildet die Multipliziereinrichtung, die unter Weglassung des MQR als Addiereinrichtung Verwendung findet.
2. Zahlensysteme
105 Rückkopplung
AC = Akkumulator SpR = Speicherregistei
MQR = Multiplikator-Quotienten-Register + = Binär-Addierer
B II/17: Muliplikationseinrichtung
AC und MQR bilden eine Einheit, deren Inhalt gemeinsam nach rechts (oder links) verschoben werden kann. Durch Transportbefehle wird der 1. Operand (= Multiplikator) in den AC gebracht und durch gemeinsame Rechtsverschiebung des AC-MQR-Inhalts in das MQR verlegt. Der AC ist nun auf Null gesetzt. Das SpR übernimmt vom Speicher den 2. Operanden (= Multiplikand). In der niedersten (rechten) Stelle des MQR - wir schreiben ! geht dabei verloren. Ist dagegen die Teststelle ! gerade O, so wird die Rechtsverschiebung unmittelbar durchgeführt. K bleibt geöffnet, da Null ja nicht addiert zu werden braucht. Die Multiplikation ist beendet, wenn die Gesamtzahl der Rechtsverschiebungen gleich der Stellenzahl eines Wortes ist. Das Ergebnis der Multiplikation zweier s-stelliger Zahlen kann maximal 2s Stellen besitzen (Beispiel: 99 • 99 = 9801). Dementsprechend steht nun das Ergebnis in doppelter Wortlänge in der gekoppelten AC-MQR-Einheit. Wollen wir aber mit dem Ergebnis weitere Operationen durchführen, so müssen wir es auf einfache Wortlänge reduzieren. Dies geschieht durch Normalisieren: der AC-MQR-Inhalt wird so lange nach links verschoben, bis die oberste (linke) Stelle im AC ungleich 0 , d. h., L, ist. Dann wird der Inhalt vom AC als Ergebnis von einfacher Wortlänge (in B 11/19) interpretiert. Der verbleibende Rest im MQR (in B 11/19) wird abgeschnitten und geht ver-
106
Teil II. Mathematische Grundlagen
loren. Zu beachten ist natürlich dabei, daß das Ergebnis (LLOLOL) einen anderen Maßstabsfaktor besitzt als Multiplikator oder Multiplikand. Der logische Ablauf einer Multiplikation zweier Dualzahlen ist als Flußdiagramm in B 11/18 angegeben. Das oben schon angeführte Beispiel wird in B II/19 ausführlich behandelt.
B 11/18: Logischer Ablauf der Multiplikation: Produkt := Multiplikand • Multiplikator (vgl. B 11/19)
2. Zahlensysteme
107
Beispiel: Multiplikation:
LOOOOL • LLOL = LLOLOLLOL (33 • 13 = 429) bei der Wortlänge 6 bit. Lösungsgang:
+ =
+ =
+ =
oooooo
OOLLOL
:= Multiplikator, := 0 Addition des Multiplikanden, da (MQR)j
OLOOOO
LOOLLO
OOLOOO LOOOOL LOLOOL
OLOOLL
um 1 Stelle nach rechts keine Addition, da (MQR)j 5 einfach erkennen zu können. Dies läßt sich beim Aiken-Code leicht handhaben, man muß nur die 1. Binärstelle untersuchen. Die Ziffern 0, 1, 2, 3, 4 besitzen dort eine 0 , die Ziffern 5, 6, 7, 8, 9 ein L. Ein weiterer Vorteil ist darin zu sehen, daß beim Aiken-Code ein Dezimalübertrag auch einen Tetradenübertrag bewirkt. Beispiel:
8 + 3
LLLO + POLL
= 11
OOOL 0 0 0 L 1
= Aiken-Tetrade für 8 = Aiken-Tetrade für 3 = 2 Aiken-Tetraden für 11
1
B 111/16: Additionsvorschrift für Aiken-Code
2. Codierung
155
Eine Korrektur ist beim Aiken-Code grundsätzlich nur dann durchzuführen, wenn bei der Addition zweier Aiken verschlüsselter Dezimalziffern die Summe eine Pseudotetrade ergibt. Dabei ist als Korrektur OLLO (duale 6) zu subtrahieren, wenn zugleich ein Dezimalübertrag auftritt, ansonsten ist OLLO zu addieren. Die Korrekturregel läßt sich als Flußdiagramm nach B III/16 darstellen. Beispiel 1: 1 +1 =4
OOO L = Aiken-Tetrade für 1 + P O L L = Aiken-Tetrade für 3 = OLOO = Aiken-Tetrade für 4
Beispiel 2: 3 +4 =7
Ü=0
OOLL + OLOO OLLL + OLLO = LLOL
Aiken-Tetrade für 3 Aiken-Tetrade für 4 Aiken-Pseudotetrade, daher: Korrekturtetrade (+ 6) Aiken-Tetrade für 7
LLOL + LLOO
Aiken-Tetrade für 7 Aiken-Tetrade für 6 Aiken-Pseudotetrade, daher Korrekturtetrade ( - 6 ) 2 Aiken-Tetraden für 1 und 3
Beispiel 3: 7 + 6 = 13
Wie wir unten noch sehen werden, weist die Aiken Verschlüsselung noch den Vorteil auf, daß die Komplementbildung für die Darstellung der negativen Zahlen durch einfaches Vertauschen von L und O erfolgt. 2.2.3. 3-Exzess-Code (Stibitz-Code) Wie man aus B III/13 ersieht, geht der 3-Exzess-Code aus dem BCD-Code durch Verschiebung um 3 Tetraden, d. h., durch Addition von OOLL (= duale 3) hervor. Daher ergibt die Addition zweier 3-Exzess-codierten Dezimalzahlen um OOLL zuviel, solange kein Dezimalübertrag erfolgt, d. h., als Korrektur ist die Subtraktion von OOLL erforderlich. Dagegen müßten bei einer Addition mit Dezimalübertrag die Pseudotetraden (von LLOL über 0 0 0 0 bis OOLO) übersprungen werden, d. h., es müßte zugleich 6 addiert und 3 subtrahiert werden. Als Korrektur ergibt sich somit in diesem Fall die Addition von OOLL (duale 3 = 6 - 3 ) .
156
Teil III. Logische Grundlagen
Beim 3-Exzess-Code ist die Korrektur also überhaupt nicht vom Auftreten einer Pseudotetrade als Summe abhängig, das Rechenwerk braucht diese also gar nicht zu kennen. Die Korrekturvorschrift für den 3-Exzess-Code ist in B III/17 festgehalten. Der 3-Exzess-Code wird manchmal auch als Stibitz-Code bezeichnet.
• Ergebnis als Tetrade(n) im 3-Exzess-Code
B HI/17: Additionsvorschrift für 3-Exzess-Code
Beispiel 1:
8 + 7 15
c
LOLL LOLO OLOL ü= + OOLL + OOLL OLOO LOOO 1
3-Exzess-Tetrade für 8 3-Exzess-Tetrade für 7 Übertrag, daher: Korrekturtetrade (+ 3) 2 Tetraden für 1 und 5
5
Beispiel 2: 1 +4 =5
Ü= 0 I .
OLOO = 3-Exzess-Tetrade für 1 O L L L = 3-Exzess-Tetrade für 4 LOLL kein Übertrag, daher OOLL Korrekturtetrade (- 3) LOOO = 3-Exzess-Tetrade für 5
Komplementbildung Eine positive Zahl wird in einer DVA durch Vorsetzen einer 0 in einer besonderen Vorzeichenstelle gekennzeichnet. Die betragsgleiche negative Zahl wird in der DVA dargestellt, indem ziffernweise die Differenz zu 9 gebildet wird (9erKomplement, vgl. II, 2.2.3.3).
2. Codierung
157
Beispiel für 9er-Komplementdarstellung: externe Darstellung: interne Darstellung: Vorzeichen I + 617 - 617
Vorzeichenstelle I 0617 9382
Eine negative Zahl hat also in der Vorzeichenstelle eine 9 stehen und kann somit von einer positiven unterschieden werden, die dort eine 0 hat. Beim Dual-System sind die Verhältnisse völlig analog. Beispiel für ler-Komplementdarstellung: externe Darstellung: interne Darstellung: Vorzeichen I + LOL - LOL
Vorzeichenbit 1 OLOL LOLO
Die Komplementbildung erfolgt bei allen Tetraden-Codes wie beim hier angeführten Dual-System. Damit ist die Subtraktion in den Tetraden-Codes auf die Addition zurückführbar. Beispiel:
1 7 - 1 4 = 3 im Aiken-Code
+ 14 - 14 + 17
0 L O
OOO L OL 0 0 LLLO LOLL 000L LLOL L •*— -
U=L O u
0000
LOOO L
O
0000
LOOL-«-OLLO
Übertrag und Pseudotetrade, daher: Korrekturtetrade (- 3)
OOLL 0 0 LL = + 3 In B III/18 sind die drei bisher besprochenen Tetraden-Codes vergleichend gegenübergestellt. =
1°
0000
+
BCD-
Aiken-
Rechenwerk für Addition
kompliziert, da das Auftreten von 6 verschiedenen Pseudotetraden festgestellt werden muß
Komplementbildung
schwierige Umrechnung
B 111/18: Vergleich der Tetraden-Codes
3-Exzess-Code einfach, da die Korrektur nur vom Übertrag abhängt
einfache Umrechnung durch Vertauschung von L und 0
158
Teil III. Logische Grundlagen
2.2.4. Gray-Code Der Gray-Code wird weniger für arithmetische Operationen als vielmehr für Analog-Digital-Umwandlung benützt. Er eignet sich hierfür besonders gut, weil sich jede Ziffer von der vorhergehenden nur durch eine Binärstelle unterscheidet. Nehmen wir als Anwendungsbeispiel etwa eine Meßwaage, welche die analoge Größe ,Gewicht' jeweils in eine von 16 Gewichtsklassen einordnen, d. h., digital angeben soll (3,5 g bis 4,5 g soll z. B. als 4 angezeigt werden). Dies kann z. B. durch Einteilung der Anzeigescheibe in 4 konzentrische Ringe (Tetrade!) und Unterteilung dieser Ringe in jeweils 16 gleiche Abschnitte erreicht werden (vgl. B III/19). An einem Ablesefenster registrieren 4 Fotozellen, ob im jeweiligen Ring die Scheibe ,dunkel' oder ,hell' anzeigt. ,Hell' kann z. B. die 0 , .dunkel' die L darstellen. In der in B III/19 eingezeichneten Stellung würde die Ablesevorrichtung: .hell' ,dunkel' .dunkel' .hell' d.h.: 0 L L 0 als die Gewichtsklasse 4 anzeigen. Nehmen wir an, die Scheibe stehe so, daß das Ablesefenster gerade zwischen 3 und 4 Uegt. Dann kann nur entweder 3 oder 4 angezeigt werden, da sich die 4 nur um eine Binärstelle (die dritte) unterscheidet.
B 111/19: Anzcigcschcibc im Gray-Code
159
2. Codierung
B 111/20: Ablesemöglichkeiten für den Sollwert 3,5 auf einer Anzeigescheibe nach B 111/19
Ganz anders wäre dies beim BCD-Code, wie B III/21 zeigt. Hierbei treten im Gegensatz zum Gray-Code gewaltige Abweichungen vom Sollwert 3,5 auf. Anzeige:
Ablesung: entweder:
O
L
L dagegen ist der Sollwert
oder:
0
0
0
=
3,5
0
BIII/21: Ablesemöglichkeiten für den Sollwert 3,5 auf einer Anzeigescheibe mit Dual-Code (genauer: BCD-Code)
2.3. Dezimat-Codes mit mehr als 4 Bits Wir wissen, daß schon bei der Darstellung der Dezimalziffern mit Tetraden, also mit 4 Bits, eine Entscheidungs-Redundanz von ER = 0,67 bit auftritt. Andererseits wissen wir, daß erhöhte Redundanz auch erhöhte Sicherungsmöglichkeiten bietet. Es ist also naheliegend, in gewissen Fällen, in denen höhere Übertragungssicherheit gefordert wird, mehr Binärstellen als nur 4 zu benützen. (Teilweise lassen sich damit auch einfachere Rechenwerke bauen.) (¡°>Code Der (j^)-Code (sprich: 1 aus 10-Code) ist sehr einfach aufgebaut. Er besteht aus 10 Binärstellen, wovon stets eine mit L belegt ist und alle anderen O sind. Jeder Dezimalziffer ist genau eine Binärstelle zugeordnet.
160
Teil III. Logische Grundlagen Dezimalziffer 0 1 2 3 4 5 6 7 8 9
(j°>Code OOOOOOOOO L OOOOOOOOLO OOOOOOOLOO OOOOOOLOOO OOOOOL OOOO OOOOLOOOOO OOOLOOOOOO OOL OOOOOOO OLOOOOOOOO LOOOOOOOOO
B 111/22: Zuordnungsliste für den (}°>Code
Kostenmäßig ist der große Aufwand von 10 Binärstellen für 1 Dezimalziffer natürlich ein Nachteil. Der (J^)-Code besitzt eine sehr große Redundanz: ER = ld EV2 - ld EVI = ld 2 1 0 - ld 10 1 = 10 - 3,33 = 6,67 bit Daraus resultiert andererseits ein großer Vorteil: da jedes Codewort nur eine L enthält, läßt sich eine Störung (etwa Auftreten von zwei oder mehr L oder gar keiner) sehr leicht erkennen. Weiterhin kann dieser Code gut für die optische Darstellung von Dezimalziffern mittels Glimmlampen verwendet werden. Jeder der 10 Binärstellen wird eine Glimmlampe zugeordnet mit der entsprechenden Dezimalziffer als Aufschrift. Die Dezimalziffern 0, 1 , . . . . 9, werden auf Lochkarten im ,1 aus lO'-Code dargestellt. Für jede Ziffer wird eine eigene Zeile für die Lochung bereitgestellt. Eine Spalte der Lochkarte darf in einer der zehn Zeilen gelocht sein und speichert damit eine Dezimalziffer im ,1 aus lO'-Code. Weitere, häufig angewandte Codes mit mehr als 4 Bits sind in B III/23 zusammengestellt. Diese Codes sind so aufgebaut, daß das Codewort für eine Dezimalziffer stets zwei L enthält. Der ( ^ - C o d e , auch Quinär-Code genannt, besitzt gerade: = j 1 ^ = 10 Möglichkeiten (vgl. II, 1.4), jeweils zwei L innerhalb 5 Binärstellen anzuordnen. Diese 10 Möglichkeiten ergeben genau die 10 Dezimalziffern. Beim Biquinär- und Quibinär-Code besteht jedes Codewort aus zwei BinärstellenGruppen. Eine Gruppe besitzt 2 Bits, die andere 5 Bits. In jeder der beiden Gruppen muß stets eine L erscheinen. Diese Bedingung läßt Fehler erkennen. Aus der Wertigkeit der einzelnen Stellen kann die zugeordnete Dezimalziffer erlesen werden.
161
2. Codierung
Dezimal-
0 1
Biquinär7421 0
5 0 4 3 2 1 0
8 6 4 2 0 1 0
LLOOO
OL OOOOL
OOOOL OL
OOOLL
OL OOOLO
OOOOL LO
OL OOLOO
OOOLO OL
OL OLOOO
OOOLO LO
OL LOOOO
OOLOO OL
5
OOLOL OOLLO OLOOL OLOLO
L O OOOOL
OOLOO LO
6
OLLOO
LO OOOLO
OLOOO OL
7
LOOOL
LO OOLOO
OLOOO LO
8
LOOLO
L O OLOOO
LOOOO OL
9
LOLOO
LO LOOOO
LOOOO LO
2 3 4
Code
Quibinär-
Wertigkeit
B III/23: Zuordnungsliste häufiger Codes
Beispiel: OLOOOLO bedeutet: im Biquinär-Code: 0 - 5 + l - 0 + 0 - 4 + 0 - 3 + 0 - 2 + l - l + 0 - 0 = l im Quibinär-Code: 0 - 8 + l - 6 + 0 - 4 + 0 - 2 + 0 - 0 + l - l + 0 - 0 = 7
A U F G A B E N zu III, 2.1./2.2./2.3. J . Welche Ursachen gibt es für die Redundanz eines Code zur Datenübertragung? a) Zwang zum Umwandeln des (Nachrichten-) Alphabets j in das (Signal-) Alphabet 2 , absichtliche Redundanz zur Übertragungssicherung b) Stellenrundung, optimale Wahl der Stellenzahl, technische Gründe (s. internat. Fernschreibcode), absichtliche Redundanz zur Übertragungssicherung. c) Stellenrundung, Wahl eines nichtbinären Alphabets 2 , technische Gründe (s. internat. Fernschreibalphabet), absichtliche Redundanz zur Übertragungssicherung 2. Die meisten modernen DVA arbeiten bei der internen Zahlendarstellung im: a) Dual-System (binär dargestellt) b) Dezimal-System (binär dargestellt) c) Dezimal-System (dezimal dargestellt) 3. Was ist das charakteristische Gemeinsame aller Tetraden-Code? a) die binäre Darstellung jeder Dezimalziffer als Tetrade (= 4 Bits) b) die binäre Darstellung jeder Dezimalzahl als Tetrade (= 4 Bits) c) die binäre Darstellung jeder Dezimalziffer und jedes Buchstabens als Tetrade (= 4 Bits) 11
Dworatschek
162
Teil III. Logische Grundlagen
4. Welche Korrektur muß bei der Addition der beiden Zahlen 7 und 9 im BCIiCode vorgenommen werden und wieso? a) Addition von + OLLO, da eine Pseudotetrade als Ergebnis erscheint b) Addition von + OLLO, da ein Übertrag auftritt c) keine Korrektur, da sowohl eine Pseudotetrade als auch ein Übertrag auftritt. 5. Bei welchen Tetraden-Code treten mehr Ps&idotetraden auf, beim AikenCode oder beim 3-Exzess-Code? a) beim Aiken-Code (6 Pseudotetraden, beim 3-Exzess-Code dagegen nur 3 Pseudotetraden) b) beim 3-Exzess-Code (6 Pseudotetraden, beim Aiken-Code dagegen nur 3 Pseudotetraden) c) bei beiden gleich viele (6 Pseudotetraden) 6. Welche Korrektur muß bei der Addition der beiden Zahlen 3 und 4 im AikenCode vorgenommen werden und wieso? a) Addition von + OLLO, da Pseudotetrade und kein Übertrag auftreten b) Addition von - OLLO, da Pseudotetrade und Übertrag auftreten c) keine Korrektur erforderlich, da keine Pseudotetrade und kein Übertrag auftreten 7. Wie groß ist die Entscheidungs-Redundanz beim Biquinär-Code? a) ER = ld EV2 - ld EVI = ld (2 + 5) 2 - ld 10 = 7 • ld 7 - ld 10= 16,3 bit b) ER = ld EV2 - ld EVI = 2 • ld 2 S - ld 10 = 6,68 bit c) ER = l d E V 2 - l d E V l = ld 2 ( 2 + s > - ld 10 = 7 - 3,32 = 3,68 bit 2.4. Codesicherung 2.4.1. Fehlerursachen
Bei der Übertragung codierter Zeichen strebt man natürlich ein möglichst fehlerfreies Arbeiten der technischen Geräte an. Völlig zu umgehen sind jedoch die Fehlereinflüsse nicht. Da wir bei der Codierung praktisch ausschließlich mit binären Elementen (O, L) arbeiten, kann es durch Störungen im Übertragungskanal vorkommen, daß eine L in eine O oder umgekehrt eine 0 in eine L verfälscht wird. Stellen wir etwa bei der Übertragung die L als Spannungsimpuls der Größe + 6V und die 0 als Spannung OV dar, so kann durch einen Störspannungsimpuls der Größe ca. - 6V innerhalb des Übertragungskanals aus dem Codewort LLOL das Codewort LOOL entsprechend B HI/24 entstehen. Man verwendet deshalb meist Codes, die es dem Empfangsgerät ermöglichen, entweder : Fehler zu erkennen oder sogar: Fehler automatisch zu korrigieren.
163
2. Codierung
Dementsprechend spricht man von: .fehlererkennenden Codes' (error-detecting code) und ,fehlerkorrigierenden Codes' (error-correcting code) Beide Arten von Codes beruhen in ihrer Funktion auf dem Vorhandensein von Redundanz (vgl. 2.1.1). Darunter versteht man die Weitschweifigkeit eines Codes, die dadurch zustande kommt, daß wir von den insgesamt möglichen 0,L-Kombinationen nicht alle, sondern nur einen Teil benützen. Die 0,L-Kombinationen nennen wir generell Codeworte. Die unbenutzten Codeworte bezeichnen wir als Pseudoworte und die benutzten als Nutzworte. Trifft nun beim Empfänger am Ende einer Übertragungsstrecke ein Pseudowort ein, so ,weiß' er, daß eine Störung vorgekommen ist, die das vom Sender abgegebene Nutzwort in das empfangene Pseudowort umgewandelt hat.
ungestörtes Codewort
L
O
L
gestörtes Codewort
L + 6V
— OV
L
O
O
L
=>
OV Störimpuls
- 6V
B 111/24: Störung eines Codewortes in einem Übertragungskanal
2.4.2. Ungesicherte Codes
Besitzt der angewandte Code überhaupt keine Redundanz, d. h., werden alle Codeworte als Nutzworte verbraucht, so ist keine Fehlererkennung möglich. Jede Störung (Vertauschung von 0 und L) führt ja wieder zu einem Nutzwort und wird als solches natürlich vom Empfänger anstandslos angenommen. Wir wollen uns das Verhalten von ungesicherten Codes am Beispiel eines klein gewählten, s = 2 stelligen Code klarmachen. Es sind: EV = 2S = 2 2 = 2 • 2 = 4 mögliche 0,L-Kombinationen und damit 4 Codeworte vorhanden. Der Code soll ungesichert sein, d. h., keine Pseudoworte und damit keine Redundanz besitzen. Alle 4 Codeworte werden als Nutzworte (A, B, C, D) verwertet. Zahl der Nutzworte (Nachrichten): EVI Zahl der Codeworte (alle 0,L-Kombin.): EV2 Zahl der Pseudoworte (unbenutzte 0,L-Kombin.): Entscheidungs-Redundanz: ER = ld EV2 - ld EVI = ld 4 - ld 4 n *
=4 =4 =0 =0
Teil III. Logische Grundlagen
164 Alph.j
Alph-2
A
00
B
OL
C
LO
D
LL
s
4 Codeworte zugleich: 4 Nutzworte /
B 111/25: Zuordnungsliste eines ungesicherten Code
Übertragen wir nun die Buchstabenfolge DAB und tritt während der Übertragung etwa in der ersten Stelle des dritten ausgesandten Nutzwortes (= B) eine Störung auf, so wird die Buchstabenfolge DAD statt DAB (z. B. als Lochstreifen) empfangen (vgl. B III/26). Störung
O o
O o
Empfangslochstreifen
Übertragungskanal
• o
Sendelochstreifen
B 111/26: nicht erkennbare Störung bei ungesichertem Code
2.4.3. Fehlererkennende Codes
Um also die bei der Übertragung unvermeidlichen Fälschungen einer oder mehrerer Stellen eines Nutzwortes am Empfangsort erkennen zu können, dürfen bei einem s-stelligen Code nicht alle EV = 2S Möglichkeiten als Nutzworte verbraucht werden. Es müssen einige Kombinationen als Pseudoworte ungenutzt bleiben, die dann — werden sie empfangen — als Hinweis für eine Fälschung dienen. Wir wollen uns als Beispiel wieder einen Code mit 4 Nutzworten vorstellen. Diesmal verwenden wir aber s = 3 Stellen und erhalten somit: EV2 = 2S = 2 3 = 8 mögliche 0,L-Kombinationen (vgl. B III/27). Uns verbleiben also 4 Pseudoworte, die uns zur Fehlererkennung dienen können. Übertragen wir nun die Buchstabenfolge DAB wie im Fall des ungesicherten Code, und tritt in der 1. Stelle des 3. Nutzwortes (B) eine Störung auf, so trifft beim Empfänger das Pseudowort LLL ein. Der Empfänger veranlaßt daraufhin automatisch eine Wiederholung des gestörten Nutzwortes (vgl. B 111/28).
2. Codierung
165
Alphabet2
Alphabet]
000
A unbenutzt
00 L
unbenutzt
OLO OLL
B
LOO
unbenutzt
LOL
C
LLO
D
LLL
unbenutzt
B III/27: Zuordnungsliste eines fehlererkennenden Code Pseudowort Î
*• Befehl zum Wiederholen Störung
0 • • Empfangslochstreifen
Übertragungskanal
O O
0 « • O
Sendeloch streifen
B 111/28: Störung bei fehlererkennendem Code
2.4.4. Hamming-Distanz h Verwenden wir einen Code, der sowohl Nutzworte als auch Pseudoworte enthält, so unterscheidet sich jedes Nutzwort von jedem anderen Nutzwort in einer bestimmten Zahl d von Binärstellen. Man bezeichnet d als Stellen-Distanz. In B 111/27 war die Stellendistanz von jedem Nutzwort zu jedem anderen Nutzwort einheitlich d = 2. Es gibt aber auch Codes, bei denen d nicht durchweg gleich ist. Bei ihnen gibt es also Nutzworte, die sich von einem benachbarten Nutzwort in mehr Stellen unterscheiden als von einem anderen. Wichtiger als die Stellendistanz für die Beurteilung eines Code ist deshalb der Begriff: Hammingdistanz h. Darunter versteht man die geringste paarweise Stellendistanz zwischen allen Nutzworten eines Code, h ist also das Minimum aller auftretenden d, es gilt: h < d .
166
Teil III. Logische Grundlagen
(Beachte: manchmal wird in der Literatur die Stellendistanz d selbst schon als Hammingdistanz h bezeichnet, und nicht erst das Minimum der auftretenden d-Werte!) In B IH/27 war h = 2, da einheitlich d = 2 und damit auch das Minimum von d gleich 2 war. Man kann sich für einen 3-stelligen Code die Stellendistanz d bzw. die Hammingdistanz h an einem Drahtwürfel klarmachen. Die Ecken des Würfels stellen die Codeworte (Nutzworte + Pseudoworte) dar. Die Nutzworte sind mit A, B, C, D markiert. Die Anzahl der Drahtkanten von einem Nutzwort zu einem benachbarten Nutzwort ist die jeweilige Stellendistanz d. (vgl. B III/29). 3. Binärstelle
B111/29: Räumliche Darstellung der Stellendistanz d
Drückt man diesen Dralitquader zu einer Ebene zusammen, so erhält man das Gebilde links in B III/30. Rechts davon ist angedeutet, wie die Lage der Nutzworte zwischen den Pseudoworten für verschiedene Hammingdistanzen aussieht. Hammingdistanz:
B HI/30: Modell für einen Code mit s = 3 Binärstellen ( • = Nutzwort
O = Pseudowort)
167
2. Codierung
Das Verhalten von Codes mit mehr als 3 Stellen beim Auftreten von Fehlern kann an analogen flächenhaften Skizzen untersucht werden. Die Skizzen gewinnt man allgemein dadurch, daß man alle jene Codeworte durch eine Linie miteinander verbindet, die sich nur in einer Stelle unterscheiden. Die geringste Anzahl von Verbindungslinien, entlang welcher man sich von einem Nutzwort zum benachbarten bewegt, ist die Hammingdistanz h des Code. Meist genügt es, diese (kürzeste) Verbindungslinie zu zeichnen (vgl. B111/31).
anderen Codeworten
# = Nutzwort O = Pseudowort Hammingdistanz h = 3
B HI/31: Knotenmodell für Code mit h = 3
ausgesandtes Nutzwort sei: OLLL bei einem Fehler in der Übertragung wird das Pseudowort empfangen: OLOL d. h. 1 Fehler wird erkannt bei 2 Fehlern in der Übertragung wird das Pseudowort empfangen: LLOL d. h. 2 Fehler werden erkannt. » Bei 3 Fehlern in der Übertragung wird das Nutz wort empfangen: LLOO d, h. 3 Fehler werden nicht erkannt. allgemein gilt: e = h -1 wobei:
e = Zahl der mit Sicherheit erkannten Fehler h = Hammingdistanz
In obigem Beispiel wäre also: e= h-1=3-1=2
168
Teil III. Logische Grundlagen
2.4.5. Fehlerkorrigierende Codes
Nimmt man an, daß bei der Übertragung grundsätzlich nur 1 Fehler pro Nutzwort auftritt, so kann man B III/31 entnehmen, daß das Nutzwort OLLL nur in das Pseudowort OLOL, nicht aber in das Pseudowort LLOL übergehen kann. Umgekehrt kann das Nutzwort LLOO nur in das Pseudowort LLOL, nicht aber in OLOL übergehen. Interpretiert also das Empfangsgerät ein eintreffendes Pseudowort automatisch als das diesem Pseudowort am .nächsten liegende' Nutzwort (kleinstes d), so ist damit eine automatische Fehlerkorrektur erfolgt. allgemein gilt für die Fehlerkorrektur: k = (h -1)/2 wenn:
k = Zahl der mit Sicherheit richtig korrigierten Fehler h = Hammingdistanz
Den beiden Gleichungen für Fehlererkennung und Fehlerkorrektur entnehmen wir noch die Beziehung: e=2k d. h.: mit ein und demselben Code sind doppelt soviele Fehler erkennbar als korrigierbar. Beispiel: Code mit Hammingdistanz h = 6 daraus folgt: Zahl der mit Sicherheit erkennbaren Fehler : e = h - l = 6 - l = 5 Zahl der mit Sicherheit korrigierbaren Fehler: k = e/2 = 2,5 abgerundet: k = 2
B III/32: Fehlererkennung: h = 6, e = 5
2. Codierung
169
B HI/33: Fehlerkorrektur: h = 6, k = 2
In diesem Beispiel (h = 6) ist neben der reinen Fehlererkennung bzw. -korrektur auch noch die gemischte Fehlererkennung und -korrektur möglich. Die empfangenen Pseudoworte PW1 und PW2 werden hierbei — wie bei der reinen Fehlerkorrektur - als NW1 interpretiert, PW4 und PW5 als NW2. PW3 wird als Pseudowort aufgefaßt, da es von NW1 und NW2 gleichen Abstand besitzt. Der Empfänger fordert eine Wiederholung des gesendeten und gefälschten Nutzwortes an, sobald PW3 empfangen wird (vgl. B III/34).
B HI/34: gemischte Fehlerkorrektur und Fehlererkennung h = 6, k = 2, zusätzlich: e = 1
2.4.6. Erkennen von mehr als e Fehlern
Bisher haben wir stets von .sicher erkennbaren' Fehlern gesprochen. Darüber hinaus gibt es jedoch auch Fehler, die nicht mit Sicherheit, aber doch mit mehr oder weniger großen Wahrscheinlichkeit erkannt werden können.
170
Teil III. Logische Grundlagen
Beispiel: Code mit Hammingdistanz h = 3 Nutzworte: NW1, NW2, NW3 Stellendistanz: d = 3 von NW1 nach NW2 d = 4 von NW2 nach NW3 d nicht eingezeichnet: von NW1 nach NW3 Zahl der mit Sicherheit erkannten Fehler: e = h - 1 = 2
f =4 PW1 anderi Codev
-O
PW2
NW2
O
*
f =4
-o
PW3
y
o
PW4
o
PW5
«C
NW3
B 111/35: mit Wahrscheinlichkeit erkannte Fehler: f = 4
Aus B III/35 entnimmt man folgendes: Sendet man das Nutzwort NW1 und wird es durch f = 4 Fehler gestört, so empfängt man das Pseudowort PW3, d.h., f = 4 Fehler werden erkannt. Sendet man dagegen das Nutzwort NW3 und wird es auch nur durch f = 4 Fehler gestört, so empfängt man das Nutzv/ort NW2, d. h., der Empfänger erkennt in diesem Fall die 4 Fehler nicht. Bei diesem Code werden also maximal e = 2 Fehler sicher erkannt. Darüber hinaus können mehr Fehler eventuell erkannt werden. Das Verfahren der Fehlererkennung ist technisch leichter zu verwirklichen als die automatische Fehlerkorrektur und wird deshalb in der Praxis viel häufiger angewandt. Ein Nachteil ist natürlich dabei der Rückmeldekanal, der zusätzlich notwendig ist, um den Sender zur Wiederholung zu veranlassen, wenn ein Fehler erkannt worden ist. Bei einem Datenübertragungsverfahren mit Fehlerkorrektur kann dieser Rückmeldekanal entfallen. 2.4.7. Methode der Quersummenprüfung
2.4.7.1. Parity Check (Prüfbit) Bei Codes ohne Pseudoworte ist eine Fehlererkennung nicht möglich. Durch Zusatz nur eines bit pro Nutzwort kann aber die sichere Erkennung von e = 1 Fehler erreicht werden. Die Zusatzstelle wird so gewählt, daß die Quersumme
2. Codierung
171
des neuen Nutzwortes sich geradzahlig ergibt. Man spricht dann von ,even parity check'. (Es kann auch ungerade Quersumme vereinbart werden. Dann spricht man von ,odd parity check'.) Beispiel: ursprüngliches Nutzwort: neues Nutzwort mit: even parity check: (mit: odd parity check :
LOLL LOLL L LOLL 0 )
Durch diese Wahl der Prüfbits ergäben sich in dem Code von B 111/25 die neuen Nutzworte entsprechend BIII/36.
neues Alphabet 2 Alphabet i
ursprüngliches Alphabetj
even parity check
A
0
O
o
B
0
L
L
C
L
0
D
L
L
L o
B 111/36: Zuordnungsliste für Code mit Prüfbit
Durch den Zusatz der Prüfbits ergibt sich nun ein 3-stelliger Code mit der Hammingdistanz h = 2, die eine Erkennung von e = h - l = 2 - l = l Fehler ermöglicht. Der Empfänger .errechnet' sich aus den ersten beiden Binärstellen des empfangenen Nutzwortes das entsprechende Prüfbit und vergleicht es mit der dritten (empfangenen) Stelle. Bei Übereinstimmung war die Übertragung fehlerfrei, ansonsten wird eine Wiederholung verlangt. 2.4.7.2.
Blockcode
Wenn bei der Übertragung jeweils eine bestimmte Zahl mit Prüfbits versehener Nutzworte zu einem Block zusammengefaßt werden, so nennt man dies,BlockCode'. Neben der horizontalen Quersummenprüfung wird zusätzlich eine vertikale vorgenommen. Beispiel: Wir wollen der Einfachheit halber nur 3 Nutzwerte (D, A, B) in einem Block zusammenfassen. Dabei sollen 2 Fehler erkannt (oder 1 Fehler korrigiert) werden. Dazu bilden wir für jedes Nutzwort einzeln durch die horizontale Quersummenbildung das jeweilige Prüfbit. Anschließend bilden wir über alle Binärstellen die vertikale Quersumme mit Prüfbit.
172
Teil III. Logische Grundlagen horiz. Prüfbit
D
LL
0
A
OO
0
B
OL
L
LO
L
B 111/37: Block mit horizontalen und
vert. Prüfbits
vertikalen Prüfbits
Wie in 2.4.7.1. .errechnet' sich auch hier der Empfänger aus den empfangenen Bits:
LL
00 OL die horizontale und vertikale Quersumme und vergleicht die daraus ermittelten Prüfbits mit den empfangenen Prüfbits. Tritt z. B. in der 1. Stelle des 2. Nutzwortes ( B ) eine Störung auf, so empfängt er folgendes:
D
A
B
r
vertikale 7
-K)
Empfangslochstreifen
Übertragungskanal
O
•
O
•
0
• •
0
Prüfbits
• «Vi O / \horizon-
«
/
tale
Sendelochstreifen
B 111/38: Fehlersicheiung bei Block-Code
Der Empfänger wird sich aus den angelieferten Nachrichtenbits die dazu passenden vertikalen und horizontalen Prüfbits errechnen. Danach vergleicht er sie mit den empfangenen Prüfbits und stellt folgendes fest: das dritte horizontale und das erste vertikale Prüfbit stimmen nicht mit den empfangenen überein. Dann läßt sich (vgl. B 111/39) schließen, welches Nachrichtenbit gestört sein muß. Es ist dies das erste Bit des Codewortes für B. Die Korrektur des Fehlers ist damit möglich: das gestörte Bit wird einfach komplementiert.
D A B
£
empfangene und errechnete Prüfbits stimmen hier nicht überein, also ist das 1. Bit von ,B' gestört.
B 111/39: Fehlerkorrektur beim Block-Code
2. Codierung
173
Bei der Übertragung mit Blockcode führt man manchmal sogar diagonale Quersummenprüfung ein, u m die Zahl der erkennbaren bzw. korrigierbaren Fehler zu erhöhen. Mit dem Verfahren der Fehlererkennung bei Block-Codes sind zur Zeit schon Zeichenfehlerwahrscheinlichkeiten von ca. 10~8 bei der Datenübertragung auf gewöhnlichen Telefonleitungen möglich. Dies b e d e u t e t , d?fi bei der Übertragung von 10 8 = 100 Millionen bit nur 1 bit u n e r k a n n t verfälscht bleibt ( 1 0 0 Millionen bit entspricht etwa der I n f o r m a t i o n dreier Bände des großen Brockhaus-Lexikons). Mit anderen Worten: Bei einer 24-stündigen Übertragung mit 1000 Binärzeichen p r o Sekunde tritt im Durchschnitt nur ein falsches Zeichen auf. Wir werden in Teil IV noch auf die Datenübertragung z u r ü c k k o m m e n . AUFGABEN
zu III, 2.4.
1. Welche grundsätzlichen Arten der Übertragungssicherung kennt man in der Codierung bei der Datenübertragung? a) fehlererkennende Codes, fehlerkorrigierende Codes, störungsverhindernde Codes b) fehlererkennende Codes, fehlerkorrigierende Codes c) fehlererkennende Codes, störungsverhindernde Codes 2. Welche Bezeichnungen verwendet man für die O.L-Kombinationen eines Code ( A l p h a b e t 2 ) in dieser Reihenfolge: 1. alle 0 , L - K o m b i n a t i o n e n zusammen 2. alle 0 , L - K o m b i n a t i o n e n , denen in A l p h a b e t ] eine Nachricht zugeordnet ist 3. alle 0 , L - K o m b i n a t i o n e n , denen in A l p h a b e t ] keine Nachricht zugeordnet ist a) 1. 2. 3. b ) 1. 2. 3. c) 1. 2. 3.
Nutzworte Codeworte Pseudoworte Codeworte Nutzworte Pseudoworte Nutzworte Befehlsworte Datenworte
3. Wie groß ist die Hammingdistanz h eines Code mit den N u t z w o r t e n OOLL, LOOO, LLOL? a) h = 3 b) h = 2 c) h = (2 + 3 + 3)/3 = 2,7
174
Teil III. Logische Grundlagen
4. Wie groß ist die Zahl der mit Sicherheit erkennbaren Fehler im Code nach Aufgabe 3? a) e = h - 1 = 3 - 1 = 2 b ) e = h - l = 2- l = l c) e = (h -1)/2 = (2 -1)/2 = 0,5, d. h„ e = 0 5. Bei welchem Übertragungs-Code benötigt man neben dem eigentlichen Übertragungskanal noch einen Rückmeldekanal? a) bei fehlererkennenden Codes b) bei fehlerkorrigierenden Codes c) bei ungesicherten Codes (d. h. Redundanz = 0 ) 6. Man bilde zu den Nachrichten LLOLO LOLLO OLOLO die horizontalen und vertikalen Prüfbits zur ungeraden Quersumme (odd parity check) und gebe die so gebildeten Nutzworte des Blockcode an. a) LLOLO O b) LLOLO L c) LLOLO L LOLLO 0 LOLLO L LOLLO L OLOLO L OLOLO O OLOLO O LLOOL 0
OOLLO L
OOLLO -
7. Welche Stelle welcher Nachricht in Aufgabe 6 wurde bei der Übertragung gestört, wenn beim Empfänger das 2. horizontale und 3. vertikale Prüfbit mit dem vom Empfänger errechneten nicht übereinstimmt? a) 2. und 3. Bit der 2. und 3. Nachricht b) 2. Bit der 3. Nachricht c) 3. Bit der 2. Nachricht
3. Schaltalgebra 3.1. Boole'sche Algebra In der mathematischen Logik werden Aussagen und deren Verknüpfungen nach ihrem Wahrheitsgehalt hin untersucht. Dabei wird auf die spezifische, subjektive Bedeutung solcher Aussagen nicht eingegangen. Man gibt verschiedene Ausgangsaussagen mit jeweils eindeutig definiertem Wahrheitsgehalt vor. Dann gibt man Regeln und Gesetze an, nach denen diese Ursprungsaussagen miteinander verknüpft werden können. Auf Grund dieser Verknüpfungsregeln lassen sich dann die Wahrheitsgehalte der Ergebnis-Aussagen .errechnen'. Die Untersuchung solcher Gesetzmäßigkeiten nennt man ,mathematische Logik'. Sie geht auf den griechischen Philosophen Aristoteles (384—322 v. Chr.) zurück.
175
3. Schaltalgebra
Aristoteles hat bei seinem logischen Formalismus den heute noch üblichen zweiwertigen Aussagenkalkül eingeführt. Darin werden den Aussagen und den daraus (auf Grund bestimmter Gesetzmäßigkeiten) hervorgehenden Verknüpfungsaussagen nur zwei Wahrheitswerte zugeordnet. Die Aussagen sind entweder ,wahr' oder .falsch' - eine andere Möglichkeit wird hierbei nicht zugelassen und ist auch gar nicht definiert. Der Wahrheitswert einer Aussage ist demnach eine binäre Größe. Dies bedeutet keinesfalls eine Einschränkung der Aussagefähigkeit solcher Aussagen. In der mathematischen Logik lassen sich nämlich alle Aussagen auf die Elementar-Wahrheitswerte ,wahr' und ,falsch' zurückführen und demnach auch formal darstellen. Beispiel: Die keineswegs binäre Aussage, daß während einer Woche nur an 2 Tagen, nämlich Sa und So, nicht gearbeitet wird, läßt sich durch folgende sieben Aussagen mit binärem Charakter (nämlich ,wahr' oder,falsch') darstellen: Aussage: Mo wird Di wird Mi wird Do wird Fr wird Sa wird So wird
gearbeitet gearbeitet gearbeitet gearbeitet gearbeitet gearbeitet gearbeitet
(binärer) Wahrheitswert wahr wahr wahr wahr wahr falsch falsch
Um uns besser eine Vorstellung von den Verknüpfungsgesetzen verschiedener Aussagen machen zu können, wollen wir auf die uns von der Schule her geläufige, gewöhnliche Algebra etwas zurückgreifen. Bei der gewöhnlichen Algebra haben wir gewisse Variable (Größen) vorliegen, die beliebige Zahlenwerte annehmen dürfen. Ferner können wir solche Variable durch verschiedene Verknüpfungen miteinander verbinden, wodurch wir eine neue Größe erhalten. Diese nennen wir eine Funktion der ursprünglichen Variablen. Beispiel: Die drei Variablen x l t x 2 , X3 erzeugen über die Verknüpfungsgesetze der Multiplikation und Addition die Funktionsgröße y: y = x j + x2 • x3 Nehmen wir nun für die Variablen spezielle Zahlenwerte: x x = 2, x 2 = 7, x 3 = 5 an, so erhalten wir über die Funktion auch einen eindeutig bestimmten Zahlenwert für y: y=2+7 • 5 y = 37
176
Teil III. Logische Grundlagen
Denken wir in erster Linie an den ganzen Ausdruck y = x j + x 2 • x 3 , so sprechen wir von der Funktion y. Steht dagegen mehr der Zahlenwert für y im Vordergrund, so sprechen wir auch von der Ausgangsvariablen y. Wir wollen nun diese Tatsachen in analoger Weise auf die mathematische Logik anwenden. Den verschiedenen Variablen der gewöhnlichen Algebra entsprechen beim Aussagenkalkül der mathematischen Logik die verschiedenen Aussagen, die wir miteinander verknüpfen wollen. Ein wichtiger Unterschied besteht allerdings. Im Gegensatz zu den Variablen x ! , x 2 , x 3 der gewöhnlichen Algebra können die Aussagen (-variablen) nur einen von zwei Werten annehmen: entweder ,wahr' oder,falsch'. Solche Aussagenvariablen können wir nun miteinander verbinden, um daraus als Funktion eine neue Aussage zu gewinnen — ähnlich der Ergebnisgröße y in obigem Beispiel. Natürlich wird auch die gewonnene Ergebnisaussage binären Charakter haben. Ihr Wahrheitswert ist aber durch die Funktion eindeutig festgelegt.
Beispiel: Die Aussage ,es regnet' kann ebenso wie die Aussage ,es ist Sonntag' entweder ,wahr' oder,falsch' sein; m. a. W. wir haben zwei Aussagenvariable vorliegen. Verknüpfen wir diese Aussagenvariablen, so erhalten wir eine neue Aussage: ,Ich gehe ins Kino, wenn es regnet und wenn es Sonntag ist' Diese Aussage ist eine eindeutige Funktion der beiden ersten. Sie ist dann und nur dann ,wahr', wenn die beiden ersten Aussagen gleichzeitig erfüllt, d. h., ,wahr' sind. Also nur dann, wenn es sowohl regnet als auch Sonntag ist. In 3.2.2. werden wir sehen, daß dies eine AND-Verknüpfung ist. An diesem einfachen Beispiel sehen wir schon, daß die textmäßige Darstellungsweise solcher Aussagen und ihrer Verknüpfungen recht umständlich und auch leicht unübersichtlich werden kann. In der Mitte des vorigen Jahrhunderts hat George Boole einen eigenen Formalismus für die mathematische Behandlung derartiger Aussagenverknüpfungen geschaffen. Für die beiden Wahrheitswerte ,wahr' und ,falsch' der Aussage wird dabei das Binäralphabet verwandt: L = ,wahr' O = .falsch' Ebenso wie in der gewöhnlichen Algebra die Addition mit + formal abgekürzt wird, werden auch hier für eindeutig definierte Verknüpfungsarten Kurzzeichen eingeführt. In 3.3.1. kommen wir darauf zurück. Weiterhin geben Rechenregeln die Möglichkeiten der Operationen mit solchen Verknüpfungskürzeln an.
3. Schaltalgebra
177
Diesen von George Boole geschaffenen Formalismus nennt man Boole'sche Algebra (engl, boolean algebra), manchmal auch logische Algebra. Dementsprechend spricht man auch von Boole'schen Variablen und Boole'schen Funktionen. Wir werden gleich sehen, daß die Darstellungsverfahren der Boole'schen Algebra vorzüglich den Beschreibungserfordernissen der digitalen, elektronischen Schaltungstechnik entspricht. Die digitale Schaltungstechnik wurde vor allem bei der Konstruktion von DVA entwickelt. Sie wird heute aber auch in vielen anderen Zweigen der Elektrotechnik, wie Meß-, Regel- und Steuerungstechnik eingesetzt. Im Gegensatz zur konventionellen, analogen Schaltungstechnik arbeitet die digitale Schaltungstechnik mit diskreten, meist binären Ein- und Ausgangsspannungswerten. Denkt man hauptsächlich an diesen Anwendungsbereich der Boole'schen Algebra, so spricht man von ihr als von der Schaltalgebra (switching algebra). Im folgenden werden wir bevorzugt diesen Begriff gebrauchen. Wir wissen, daß wir innerhalb der DVA nur mit dem Binäralphabet 0 , L operieren. Alle Daten und Befehle liegen in irgendeiner Form — aber jedenfalls binär — codiert vor. Das bedeutet aber nichts anderes, als daß wir sie als Boole'sche Variable auffassen können. Weitergehend können wir sogar sagen: die Operationen, die wir — bewirkt durch die Befehle — an den Daten vornehmen wollen, können wir stets als Boole'sche Funktionen beschreiben. Vorerst wollen wir noch nicht auf die technische Realisierung solcher Boole'scher Funktionen eingehen. Wir werden später (IV) sehen, daß man dies mit den verschiedensten Bauelementen wie Relais, Dioden oder Transistoren einfach erreichen kann. Innerhalb des Kapitels Schaltalgebra' interessieren uns vor allem die formale Darstellungsweise, die Rechenregeln sowie Beispiele der Anwendung.
3.2. Grundfunktionen Als Starthilfe zu neuen Überlegungen wollen wir noch einmal zusammenfassen: Eine Boole'sche Größe hat binären Charakter. Eine Boole'sche Funktion liegt dann vor, wenn eine Boole'sche (Ergebnis-) Größe in einer eindeutig definierten Weise von der Erfüllung bzw. Nichterfüllung einer oder mehrerer^Bedingungen abhängt, d. h., aus festgelegten Verknüpfungen einer oder mehrerer Boole'scher Variabler entsteht. 3.2.1. Identität und Negation
Die elementarsten Boole'schen Funktionen sind die Identität und die Negation. In ihr ergibt sich die Boole'sche Ergebnisgröße als Funktion nur einer Boole'schen Variablen. 12
Dworatschek
178
Teil III. Logische Grundlagen
Identität Die Identität zwischen der Boole'schen Variablen und der Boole'schen Ergebnisgröße y ist folgendermaßen definiert: und
y =L y =0
wenn wenn
x=L x = 0
man kann demnach einfacher schreiben: Identität: y = x
Negation Die Negation zwischen der Variablen x und der Ergebnisgröße y ist folgendermaßen definiert: und
y =L y=O
wenn wenn
x = 0 x=L
Die Negation stellt also einfach die Umkehrung des Wahrheitswertes dar. Für die Negation schreibt man allgemein: Negation: y = x
(sprich: y ist gleich x nicht)
Wir sehen leicht ein, daß die Identität in der Schaltalgebra keine große Rolle spielen wird. Denn wozu sollte man eine neue Größe y einfuhren, wenn sie ohnehin mit einer vorhandenen Größe x identisch ist? Im Gegensatz zur Identität besitzt jedoch die Negation große Bedeutung sowohl für die Rechenregeln der Schaltalgebra als auch für deren praktische Verwirklichung in elektrischen Schaltkreisen. Für die Verknüpfung von mehreren Boole'schen Variablen sind die beiden Booleschen Funktionen AND und OR von großer Wichtigkeit. Es läßt sich nämlich zeigen, daß sich alle überhaupt möglichen logischen Funktionen auf die drei Elementarfunktionen: AND, OR und Negation zurückführen lassen. Zunächst wollen wir uns die in Worten gefaßte Definition der beiden Elementarfunktionen AND sowie OR anschauen. 3.2.2. AND-Funktion Definition:
AND-Funktion
Die Ergenisgröße y ist dann und nur dann ,wahr' (L), wenn alle Eingangsvariablen x j , x 2 , . . . . , x n gleichzeitig ,wahr' (L) sind. m. a. W.: ist diese Bedingung nicht erfüllt, d. h. ist wenigstens eine der Variablen x!,x2, x n .falsch'(0), so ist auch die Ergebnisgröße y ,falsch'(O).
3. Schaltalgebra
179
Die deutsche Bezeichnung für die AND-Funktion lautet natürlich UND-Funktion. Wir wollen jedoch bei der englischen Bezeichnungsweise bleiben, weil sie auch bei uns benützt wird. Die AND-Funktion bezeichnet man häufig auch als Konjunktion. Als Gedächtnisstütze für die Charakterisierung der AND-Funktion dient am besten der Ausdruck ,alle (Eingangsvariablen) gleichzeitig L'. Diese Definition der Boole'schen Funktion AND wollen wir uns an zwei praktischen Beispielen aus dem Alltag verdeutlichen. Der Übersichtlichkeit wegen wählen wir nur drei Eingangsvariable X!, x 2 , X3. Beispiel 1:
y
B 11/40: Beispiel zur AND-Funktion
Wir denken uns einen Wasserbehälter mit einem Abflußrohr. In dieses Ablußrohr seien drei Sperrschieber eingebracht. Wir verabreden, daß diese Schieber nur eine von zwei Positionen einnehmen können: entweder: ganz herausgezogen (entspricht ,wahr' bzw. L) oder : den Wasserfluß ganz sperrend (entspricht,falsch' bzw. 0 ) . Zwischenpositionen seien nicht zugelassen. Die Aussage: ,am Rohrausgang fließt Wasser' kürzen wir mit der Boole'schen Größe y ab. Damit ist: y = L, wenn tatsächlich Wasser fließt, y = 0 , wenn kein Wasser fließt. Aus B111/40 entnehmen wir, daß dann und nur dann am Rohrausgang Wasser fließen kann, wenn alle drei Schieber x l t x 2 , x 3 offen sind, d. h., auf ,wahr' (L) stehen, y = L ist also nur möglich, wenn x j = L, x 2 = L, x 3 = L — dies entspricht aber genau der Definition der AND-Funktion. Diese Wasserrohranordnung stellt also eine Verwirklichung der AND-Funktion dar. Die Konstellation der Schieber, wie sie in B HI/40 gezeichnet ist, ergibt y = O, da zwar X! = L und x 3 = L, aber x 2 = O angegeben ist. 2 *
180
Teil III. Logische Grundlagen
Beispiel 2: Kontakte
+
-
X
Lampe ( V )
Batterie
y
Leitung
B HI/41: Beispiel für die AND-Funktion
Schließen wir an eine Batterie über einen Leitungsdraht, in den drei Kontakte hintereinander eingebaut sind, eine Lampe, so haben wir eine weitere Realisierung der AND-Funktion vor uns. Für diese Schaltungsanordnung verabreden wir: für die Variablen x i , x 2 , x 3 gilt: ,Kontakt offen' entspricht O .Kontakt geschlossen' entspricht L für die Ergebnisgröße y gilt: ,Lampe aus' entspricht O ,Lampe brennt' entspricht L Aus B III/41 entnehmen wir, daß die Lampe dann und nur dann brennt, wenn alle drei Kontakte geschlossen sind. Mit Hilfe obiger Verabredungen können wir dann sagen: y = L kann nur auftreten, wenn gleichzeitig Xj = L, x 2 = L und x 3 = L. Die Schaltungsanordnung gibt also die AND-Funktion wieder. In B 111/41 ist y = 0 , da zwar x j = L und x 3 = L, aber x 2 = O. 3.2.3. OR-Funktion
Definition: OR-Funktion Die Ergebnisgröße y ist dann ,wahr' (L), wenn eine oder mehrere der Eingangsvariablen Xj, x 2 , • . • x n ,wahr'(L) sind. m. a. W.: die Ergebnisgröße y ist ,wahr' (L), wenn wenigstens eine Eingangsvariable ,wahr' (L) ist. oder: die Ergebnisgröße y ist dann und nur dann ,falsch' (0), wenn alle Eingangsvariablen x j , x 2 , . . . . x n .falsch' sind. Der deutsche Ausdruck für die englische Bezeichnung OR ist ODER-Funktion.
3. Schaltalgebra
181
An dieser Stelle sei auf einen häufig begangenen Fehler hingewiesen. Die ODERFunktion stimmt nicht ganz mit dem Sinn des Wortes ,oder' in der Umgangssprache überein. Dort wird das Wort ,oder' nämlich meist im Sinne von e n t weder — oder', d. h., als Alternativkennzeichnung, angewandt. Die ODER-Funktion ist dagegen auch dann ,wahr', wenn beide Eingangsvariablen ,wahr' sind. Der einfachste Merksatz lautet wohl für die OR-Funktion: .wenigstens eine (der Eingangsvariablen) ist L'. Diese Definition der Boole'schen Funktion OR wollen wir an ähnlichen zwei Beispielen wie bei der AND-Funktion verdeutlichen. Dabei wählen wir wieder der Einfachheit wegen nur drei Eingangsvariable Xj, x 2 , x 3 . Beispiel 1:
B 111/42: Beispiel für OR-Funktion
Wie in B HI/41, so nehmen wir auch hier wieder einen Wasserbehälter und ein Ablußrohr. Dazwischen schalten wir aber diesmal drei parallel arbeitende Rohre mit je einem Schieber zur Sperrung dieses Rohres. Wir stellen fest: durch das Ablußrohr fließt Wasser, wenn wenigstens einer der drei Schieber (in BIII/42 der Schieber 3) geöffnet ist. Der Fall y = 0 kann also nur dann auftreten, wenn alle drei Schieber geschlossen sind, d. h., wenn gleichzeitig Xj = 0 , x 2 = O, X3 = O. Dies entspricht genau der Definition der ORFunktion. Im Gegensatz zu B HI/41 schließen wir in diesem Fall die Lampe über drei parallele Drahtstücke mit je einem Kontakt an die Batterie. Die Verabredungen bzgl. x 1 ; x 2 , x 3 , y , gelten auch hier. Wir sehen, die Lampe brennt (y = L), wenn ein oder mehrere Kontakte geschlossen sind — jedenfalls, wenn wenigstens ein Kontakt geschlossen ist (in B III/43 ist es Kontakt 3). Die Lampe brennt nur dann nicht, wenn alle drei Kontakte offen sind. Die Schaltanordnung realisiert also die OR-Funktion.
182
Teil III. Logische Grundlagen
Beispiel 2: Kontakte x
i
^
Lampe
B III/43: Beispiel für OR-Funktion
3.3.
Darstellungsarten
In diesem Abschnitt wollen wir uns die verschiedenen Möglichkeiten ansehen, wie die einzelnen Boole'schen F u n k t i o n e n rein formal dargestellt werden können. Die verschiedenen Darstellungsarten sind nicht durchweg gleichwertig. Man m u ß von Fall zu Fall entscheiden, welche Darstellungsart gerade die anschaulichste oder aussagekräftigste ist. Prinzipiell lassen sich alle F u n k t i o n e n in allen 5 Darstellungsarten angeben. Wir wollen hier die 5 Möglichkeiten an Hand der beiden G r u n d f u n k t i o n e n AND und OR, deren Bedeutung wir schon an Beispielen verdeutlicht haben, einzeln behandeln. 3.3.1. Kurzzeichen Im Formalismus der gewöhnlichen Algebra verwendet man das Zeichen + für die V e r k n ü p f u n g s a r t , A d d i t i o n ' , das Zeichen : für die ,Division' etc. Ganz entsprechend geht man auch beim Formalismus der Boole'schen Algebra vor. Das Zeichen ~~ für die Negation y = x kennen wir schon. Wir führen nun auch Kurzzeichen für die S c h a l t f u n k t i o n e n , K o n j u n k t i o n ' und ,Disjunktion' ein.
Schaltfunktion
Negation Konjunktion (AND) Disjunktion (OR)
Zeichen
-
weitere Schreibweisen in der Literatur i
&
-i A
V
V
B 111/44: Kurzzeichen für die Elementarfunktionen
: i
-
i
+
i
3. Schaltalgebra
183
In der Literatur werden verschiedene Kurzzeichen verwandt. Wir halten uns durchweg an die erste Gruppe in B HI/44, nämlich: — & V . Wir wollen jetzt auf unsere früheren Beispiele zurückgreifen. Die Aussage, ob im Ausflußrohr von B HI/40 Wasser fließt oder nicht, würde demnach mit unseren Kurzzeichen folgendermaßen lauten (AND-Funktion!): y = Xj & x 2 & x 3 Für B 111/42 würde die Aussage dagegen lauten (OR-Funktion!): y= x,Vx2Vx3 allgemein:
Die Konjunktion y zwischen den n Eingangsvariablen x i , x 2 , . . .... x n lautet: & xn y = X! & x 2 & Die Disjunktion y zwischen den n Eingangsvariablen x 1 ; x 2 , . . . . . x n lautet: y=x,Vx2v Vxn
Die Darstellung einer logischen Funktion mit Kurzzeichen bezeichnet man meist kurz als Schaltfunktion. 3.3.2. Wertetafel
Eine andere, sehr übersichtliche und auch häufig angewandte Methode, Schaltfunktionen darzustellen, ist die Wertetafel. Für jede Eingangsvariable sowie für die Ausgangsvariable y wird je eine Spalte bereitgestellt. Nun werden alle möglichen Kombinationen der Eingangsvariablen für die zulässigen Werte O und L eingetragen. Laut Verknüpfungsregel ergibt sich dann dazu der eindeutige Wert (O oder L) der Ausgangsvariablen y. Für die Identität und die Negation ist die Wertetafel sehr einfach aufgebaut, weil nur eine Eingangsvariable x auftritt. Identität
Negation
X
y
X
y
0
0
O
L
L
L
L
0
B HI/45: Wertetafeln für Identität und Negation
184
Teil III. Logische Grundlagen
Bei der Konjunktion (AND) und Disjunktion (OR) für zwei Eingangsvariable Xj, x 2 besitzt die Wertetafel jeweils4 Zeilen, weil es genau 2 2 = 4 Kombinationen zwischen den Werten der beiden Eingangsvariablen gibt. Konjunktion (AND)
Disjunktion (OR)
X
x2
y
Xl
x2
y
0 0 L L
0 L 0 L
0 0 0 L
0 0 L L
0 L 0 L
0 L L L
1
B 111/46: Wertetafeln für A N D und OR
Als Beispiel wollen wir die 3. Zeile der Wertetafel für die Konjunktion interpretieren. Sie besagt: wenn x t = L und x 2 = O, dann ist die Ausgangsvariable y = 0. Wir werden noch feststellen, daß die Wertetafel gerade bei komplizierteren Verknüpfungen (mehrerer Eingangsvariabler) recht nützlich ist. 3.3.3. Kontaktskizze Die verschiedenen logischen Verknüpfungen können wir auch durch Kontaktskizzen darstellen. Der Kontakt hat aus seinem Aufbau heraus schon binären Charakter — er ist entweder geöffnet oder geschlossen. Die Darstellungsweise mit Kontakten wurde bei der Relaisschalttechnik entwikkelt. Dabei unterscheidet man prinzipiell zwei Grundtypen von Kontakten: den Arbeitskontakt und den Ruhekontakt. Beide Kontaktarten werden grundsätzlich in der Stellung in die Skizze eingezeichnet, in der das Relais unerregt ist. Der Arbeitskontakt schließt den Strompfad — wie der Name schon sagt — wenn das Relais,arbeitet', d. h., erregt wird. (Die Erregung des Relais geschieht einfach, indem man seine Erregerwicklungen an elektrische Spannung legt. Näheres über Relais s. IV, 1.1.) Der Ruhekontakt dagegen ist dann geschlossen, wenn das Relais ,in Ruhe', d. h., unerregt ist. Wir vereinbaren nun: für die Eingangsvariable (= Relaiserregung) x = L , wenn das Relais erregt ist x = O, wenn das Relais in Ruhe ist oder, was dasselbe bedeutet: x = L , wenn das Relais in Ruhe ist
185
3. Schaltalgebra
für die Ausgangsvariable (= geschlossener Strompfad) y = L, wenn der Strompfad über den Kontakt hinweg geschlossen ist y = O, wenn der Strompfad unterbrochen ist. An die Kontakte schreiben wir in der Kontaktskizze entweder x oder x , je nachdem, ob das Relais erregt sein muß oder nicht, um mit diesem Kontakt die Ausgangsvariable y zu L zu machen: Ruhekontakt
Aibeitskontakt
-»• y
B 111/47: Aibeitskontakt/Ruhekontakt eines Relais
Wir können nun auch einen Arbeitskontakt und einen Ruhekontakt zu einem sog. Umschaltekontakt kombinieren. Ein solcher Doppelkontakt läßt sich in der Relaistechnik leicht verwirklichen.
Aibeitskontakt Umschaltekontakt Ruhekontakt
B III/48: Aufbau eines Umschaltekontaktes
Diese kurze Einführung in das weite Gebiet der Relaiskontakte soll uns für das Verständnis der logischen Funktionsweise von Kontaktskizzen genügen. Mit der Kenntnis dieser einfachen Zusammenhänge sind wir nämlich schon in der Lage, Kontaktskizzen für kompliziertere Funktionen aufzustellen und gegebenenfalls zu vereinfachen, d. h., die Zahl der Kontakte zu verringern. Die Kontaktskizzen für die Grundfunktionen sind recht anschaulich (B 111/49). Die Negation wird durch einen Ruhekontakt, die Identität durch einen Arbeitskontakt realisiert.
186
Teil III. Logische Grundlagen
x
1
Identität
Negation
Konjunktion (AND)
Disjunktion (OR)
x
I
2 * / I
x
/
3y
l
k.
B HI/49: Kontaktskizzen für die Grundfunktionen
Der Kontaktskizze für die Disjunktion (OR) entnehmen wir sofort, daß der Strompfad schon geschlossen ist (y = L), wenn wenigstens eines der Relais 1, 2 oder 3 erregt, d. h., einer der Kontakte x 1 ; x 2 oder x 3 geschlossen ist. Bei der Konjunktion (AND) dagegen müssen alle drei geschlossen sein, wie es die Definition fordert.
3.3.4. Symboldarstellung
Eine weitere Darstellungsmöglichkeit logischer Funktionen finden wir in der Symboldarstellung. Sie arbeitet mit zeichnerischen Symbolen für die verschiedenen Grundfunktionen. Leider hat sich in der Literatur noch keine einheitliche Symboldarstellung durchgesetzt. Man gewinnt die Symboldarstellung aus der Darstellungsart der Funktion mit Kurzzeichen (vgl. 3.3.1). Sie ist schon ein Übergang zum reinen Schaltplan, der die elektrischen Bauelemente und ihre gegenseitige Gruppierung angibt. Sie wird deshalb vor allem beim logischen Entwurf von digitalen Baugruppen und größeren Teilen von DVA angewandt. In B III/50 sind für die Grundfunktionen ihre Symboldarstellung und die dazugehörige Kurzzeichendarstellung angegeben.
187
3. Schaltalgebra Symbol-
Grundfunktion
Identität
x
Negation
X
AND
Xl
Kurzzeichen-Darstellung
y =x
^ ^
p N
». y = X! & x 2 & . . . & x n
"2 xn
OR
y =x
l>
Xl x2
• y = Xj V x 2 V . . . V x n
xn
B 111/50: Symboldarstellung der Grundfunktionen
Wollen wir etwa bei einer Konjunktion y die Eingangsvariable x t nicht selbst, sondern deren Negation Xj verwenden, so können wir das auf zwei Arten mit den Symbolen ausschreiben: ausgeschriebene Form:
•y = X j & x 2 x2
BIII/51
188
Teil III. Logische Grundlagen
verkürzte Form:
• y = xx & x 2
BIII/52
Ly
Ein weiteres Beispiel für die Symboldarstellung einer Schaltfunktion sei noch angegeben:
y =*i
Vx2
B HI/53
d. h. die Eingangsvariable x 2 wird negiert und über die OR-Funktion mit der Eingangsvariablen Xj verknüpft. Die sich ergebende Ausgangsgröße wird negiert und führt zur endgültigen Ergebnisgröße y. 3.3.5. Gebietsdarstellung Aus der mathematischen Mengenlehre wurde eine Darstellungsart für logische Funktionen gewonnen, die vor allem bei geringer Zahl von Eingangsvariablen ( < 4) sehr anschauliche Ergebnisse liefert. Für unsere weiteren Erläuterungen wählen wir zwei Eingangsvariable X!, x 2 .
Man geht von einem Gebiet (Rechteck) aus, das alle zulässigen und möglichen Werte der Eingangsvariablen sowie deren Kombinationen beinhalten möge.
GesamtMenge
3. Schaltalgebra
189
Dann zeichnet man ein Gebiet (Kreis), innerhalb dessen Xx = L und außerhalb dessen X! = O = L) gÜt.
Nun zeichnen wir ein entsprechendes Gebiet (Kreis) für die zweite Eingangsvariable x 2 — und zwar so, daß sich die beiden Kreise überschneiden.
Wir sehen, daß wir nun das Rechteck, d. h. die Gesamtmenge, in 4 Flächen, d. h. Teilmengen, aufgeteilt haben.
B 111/54: Gebietsdarstellung für zwei Variable
Diese entsprechen den 4 Zeilen der Wertetafel für 2 Variable. In den folgenden Gebietsdarstellungen logischer Funktionen kennzeichnen wir stets die Flächen (Teilmengen) durch Schraffur, für die die Ausgangsvariable y = L wird. Die unschraffierten Flächen stellen also die Kombinationen der Wahrheitswerte der Eingangsvariablen dar, für die entsprechend die Aussage y = 0 (bzw., was dasselbe bedeutet, y = L) gilt.
Auf Grund dieser Vereinbarungen stellt also die Identität y = x gerade die Kreisfläche dar.
B III/55: Identität y = x
190
Teil III. Logische Grundlagen
Die Negation y = x ergibt sich ebenso einfach als ergänzender Teil zum Kreis.
B HI/56: Negation y = x
Die Definition der Konjunktion y der beiden Eingangsvariablen x j , x 2 besagt, daß y = L nur dann erfüllt ist, wenn gleichzeitig Xj = L und x 2 = L sind. Schraffiert muß demnach gerade die Überlappung der beiden Kreise für x j = L und x 2 = L werden.
BIII/57: AND: y =Xj & x 2
Die Definition der Disjunktion (OR) besagt, daß die Ausgangsvariable y = L ist, wenn entweder Xi = L oder x 2 = L oder beide L sind. Damit bedeutet y = L die von beiden Kreisen (x x = L und x 2 = L) umschlossene Fläche (Teilmenge).
B 111/58: OR: y = Xj V x 2
3. Schaltalgebra
191
Als weiteres Beispiel für die Gebietsdarstellung wollen wir uns die Funktion y = X! V x 2 , die wir in 3.3.4. in der Symbolschreibweise kennengelernt haben, hier ansehen.
B HI/59: Beispiel y = X! V x 2
3.4. Funktionen bei 2 Eingangsvariablen 3.4.1. Allgemeine Überlegungen Nehmen wir an, wir hätten n Eingangsvariable Xi, x 2 , . . . x n . Jede dieser n Eingangsvariablen kann einen der beiden Werte 0 , L annehmen. für n = 1 Eingangsvariable erhalten wir demnach: 2 = 21 = 2 Wertekombinationen, d. h., 2 1 Zeilen in der Wertetafel (vgl. Identität, Negation, B HI/45) für n = 2 Eingangsvariable erhalten wir: 2 • 2 = 2 2 = 4 Wertekombinationen, d. h., 2 2 Zeilen in der Wertetafel
a = 2- 2
2 = 2 " Wertekombinationen, d. h. a = 2" Zeilen in der Wertetafel
Für die Ausgangsvariable y hatten wir in der Wertetafel (vgl. B111/46) eine eigene Spalte freigelassen. Zur Definition einer bestimmten logischen Funktion werden wir nun jeder Wertekombination der Eingangsvariablen, d. h., jeder Zeile der Wertetafel, für y eine L oder eine O zuordnen. Die Wertetafel besteht aus a Zeilen. Damit setzt sich die y-Spalte aus a binären Werten (O oder L) zusammen (vgl. B HI/60). Demnach lassen sich: b = 2a mögliche, unterschiedliche y-Spalten angeben. Jede dieser y-Spalten gibt — zusammen mit den x-Spalten - die Wertetafel einer bestimmten Verknüpfungsregel für die Eingangsvariablen an.
192
Teil III. Logische Grundlagen
1. Zeüe
O oder L
2. Zeile
O oder L
(a-1). Zeüe
O oder L
a. Zeile
O oder L
B HI/60: mögliche Muster der y-Spalte
Mit b = 2 a und a = 2 n läßt sich der gesamte Sachverhalt folgendermaßen angeben: Für n Eingangsvariable x 1 , x 2 , . . . . x n lassen sich insgesamt b Boole'sche Funktionen, deren Ausgangsvariable jeweils mit y bezeichnet wird, definieren: n b=2 =2
-i
Die zugehörige Wertetafel besteht aus a = 2 n Zeilen. Von diesem allgemeinen Fall wollen wir wieder zu dem Fall mit 2 Eingangsvariablen x i , x 2 , zurückkehren. Die soeben gewonnenen Erkenntnisse können wir hier gleich verwerten. Bei n = 2 Eingangsvariablen erhalten wir: a = 2 2 = 4 Zeilen in der Wertetafel. Für die Spalte der Ausgangsvariablen y lassen sich dann b = 2 a = 2 4 = 16 Zuordnungsmuster angeben (vgl. B 111/61). Mit unseren 2 Eingangsvariablen können wir demnach insgesamt b = 16 logische Funktionen definieren. Bisher haben wir davon nur zwei kennengelernt, nämlich die Konjunktion (AND) und die Disjunktion (OR). Wir wollen uns nun noch die restlichen 14 Muster für die y-Spalte ansehen und untersuchen, welche logischen Funktionen sie definieren. X
1
x2
yi y-i y3 y4 ys ye y? ys
y? yio
y m yi2 y u
yi4 yis yie
0
0
0
0
0
o
o
0
0
0
L
L
L
L
L
L
L
L
0
L
0
o
0
0
L
L
L
L
O
0
O
0
L
L
L
L
L
0
0
0
L
L
0
0
L
L
0
O
L
L
0
0
L
L
L
L
0
L
0
L
O
L
0
L
0
L
0
L
0
L
0
L
AND
OR — ^ ^
Spiegelungsebene
B III/61: Die 16 möglichen Funktionen bei 2 Eingangsvariablen
3. Schaltalgebra
193
In B111/61 geben die ersten beiden Spalten in gewohnter Weise die Wertekombinationen der Eingangsvariablen X!,X2, an. Nehmen wir nun jedesmal eine der 16 folgenden y-Spalten hinzu und lassen die anderen unberücksichtigt, so haben wir eine Wertetafel für eine bestimmte logische Funktion. Die y-Spalten haben wir der einfacheren Beschreibung wegen von 1 bis 16 durchnumeriert. Nehmen wir zu den beiden x-Spalten beispielsweise die Spalte y 2 hinzu, so haben wir die uns schon bekannte Wertetafel für die Konjunktion (AND) vor uns. Die Spalte y 8 definiert die ebenfalls schon besprochene Disjunktion (OR). Wir wollen nun die einzelnen logischen Funktionen y! bis y i 6 auf ihre Brauchbarkeit hin untersuchen. Dabei fällt auf: yiö ist das Komplement von yis ist das Komplement von y 2 y9
ist das Komplement von y 8
Die logischen Funktionen y 1 6 bis y 9 entstehen also einfach durch Negation der Funktionen y j b i s y s - Damit genügt es, die ersten 8 Funktionen genauer zu betrachten — die übrigen 8 besitzen die entsprechenden Eigenschaften. Für die praktische Anwendung ist natürlich die Funktion y j uninteressant. Diese Funktion ergibt nämlich stets den Ausgangswert y j = 0 , völlig unabhängig von den Werten der beiden Eingangsvariablen x t und x 2 . Die logische Funktion y t liefert also überhaupt keine Information über den Wertezustand der Eingangsvariablen x t , x 2 und ist deshalb für logische Aussagen uninteressant. Weiterhin entnimmt man B HI/61, daß stets gilt: y 4 = X i . Die logische Funktion y 4 ist also völlig unabhängig von der Variablen x 2 , sie ist identisch mit der Variablen Xj. Damit entfällt auch die Funktion y 4 für den praktischen Gebrauch — es wäre ja sinnlos, eine neue Boole'sche Größe y 4 einzuführen, wenn sie mit einer ohnehin schon vorhandenen X! identisch ist. Dasselbe gilt auch für die logische Funktion y 6 . Es ist nämlich stets y 6 = x 2 , d.h., y 6 ist völlig unabhängig von xl. Von den 8 Funktionen y! bis y 8 entfallen also schon 3 als unbrauchbar. Unter Berücksichtigung der 8 gespiegelten' Funktionen y 9 bis y 1 6 stehen uns also für die technische Verwertung noch 2 • 5 = 10 logische Funktionen bei 2 Eingangsvariablen zur Verfügung. Die zwei wichtigsten darunter, nämlich die Grundfunktionen Konjunktion und Disjunktion, haben wir schon eingehend behandelt. Die weiteren werden wir im folgenden untersuchen. 13
Dworatschek
Teil III. Logische Grundlagen
194
3.4.2. NAND-Funktion Für die technische Realisierung mit Transistoren ist die NAND-Funktion von größter Bedeutung. Die NAND-Funktion entsteht einfach durch Negation der AND-Funktion. Daher kommt auch ihr Name: Negation von AND ergibt NAND. Die Wertetafel der negierten Form einer logischen Funktion erhalten wir aus B III/61 durch Spiegelung. Die Spalte y l s definiert also die NAND-Funktion. Die Schaltfunktion können wir direkt aus der Wertetafel heraus aufstellen oder aber wir gewinnen sie durch Negation der AND-Schaltfunktion: Die AND-Schaltfunktion war: y 2 = Xj & x 2 Die NAND-Schaltfunktion ergibt sich hieraus als Negation: y 1 5 = y 2 = X! & x 2 Die Symboldarstellung läßt sich damit leicht angeben:
yls
= x
i
&x
2
B 111/62: Symboldarstellung für NAND
Die Gebietsdarstellung finden wir auch recht einfach, indem wir das zur AND-Fläche komplementäre Gebiet schraffieren.
B III/63: NAND y l s =Xi & x 2
Mit Hilfe des später (vgl. 3.5.5) hergeleiteten Morgan'schen Theorems können wir für: y i S = X! & x 2 auch schreiben: y 1 5 = x 1 V x 2
195
3. Schaltalgebra
Damit ergibt sich die Kontaktskizze für die NAND-Funktion entsprechend BIII/64.
yis
B III/64: NAND
*2
3.4.3. NOR-Funktion
Die NOR-Funktion ergibt sich als Negation der OR-Funktion. Zusammen mit den beiden x-Spalten ergibt die Spalte y 9 die dazugehörige Wertetafel. Die NOR-Schaltfunktion erzeugen wir uns auch hier durch Negation aus der OR-Schaltfunktion: y9 =y8 = x i V x 2 Damit läßt sich auch die Symboldarstellung angeben:
y9 = x , V x 2
B111/65. Symboldarstellung für NOR
Das Gebiet für y 9 = L ist einfach das Komplement zur Fläche y 8 = L der OR-Funktion (B 111/66).
B 111/66: NOR y9 = x , V x 2 13 *
Teil III. Logische Grundlagen
196
Das erwähnte Morgan'sche Theorem liefert uns: y 9 = Xj V x 2 = Xj & x 2 Damit läßt sich sofort die Kontaktskizze für die NOR-Funktion angeben:
y9=x!&x2 B 111/67: NOR
3.4.4. Äquivalenz Die logische Funktion y 1 0 bezeichnet man als Äquivalenz. Ihre Definition entnehmen wir direkt der Wertetafel: Bei der Äquivalenz ist die Ausgangsvariable y 1 0 dann und nur dann L, wenn beide Eingangsvariable x 1 ; x 2 gleich (entweder O oder L) sind.
Daraus läßt sich auch sogleich die Schaltfunktion anschreiben: y10
=(xi &X2) V(X!
&X2)
Die Gebietsdarstellung läßt sich hieraus Schritt für Schritt entwickeln.
B 111/68: Äquivalenz y 1 0
Die Symboldarstellung gewinnt man direkt aus der Schaltfunktion als OR-Verknüpfung zweier AND-Schaltungen (B III/69).
197
3. Schaltalgebra
Xj & x2
y 10 =
&X2) V (X! & x 2 )
X! & X2
B HI/69: Symboldarstellung der Äquivalenz
Die Kontaktskizze für die Äquivalenz setzt sich aus zwei Umschaltekontakte derselben Stellung zusammen:
X yio B 111/70: Äquivalenz
x
3.4.5. Antivalenz
Die logische Funktion ,Antivalenz' ergibt sich als Negation der Äquivalenz. Der Wertetafel entnehmen wir die Definition:
Bei der Antivalenz ist die Ausgangsvariable y 7 dann und nur dann L, wenn die beiden Eingangsvariablen x 1 ; x 2 verschiedende Werte annehmen.
Daraus folgt die Schaltfunktion der Antivalenz: y7 = ( X l & x 2 ) V ( x i & x 2 )
198
Teil III. Logische Grundlagen
Die Gebietsdarstellung für die Antivalenz folgt als Komplementärfläche der Äquivalenz (B 111/71).
B III/71: Antivalenz y 7
Die Symboldarstellung entnimmt man auch hier direkt der Schaltfunktion.
B HI/72: Symboldarstellung der Antivalenz
Die Kontaktskizze der Antivalenz setzt sich aus zwei Umschaltekontakten entgegengesetzter Stellung zusammen.
x2 y7
B HI/73: Antivalenz
3. Schaltalgebra
199
3.4.6. Inhibition Die logische Funktion y 3 bezeichnet man als Inhibit-Funktion (Inhibition). Sie ist von großer Bedeutung für die praktische Schaltungsanwendung, da mit ihr alle anderen Funktionen dargestellt werden können. Die Schaltfunktion folgt wieder direkt aus der Wertetafel:
y 3 = Xi & x 2 bzw. y s = X! & x 2 Die Ausgangsvariable bei der Inhibit-Funktion ist dann. L, wenn eine der beiden Eingangsvariablen x l 5 x 2 den Wert L und die andere den Wert O hat.
Die Gebietsdarstellung folgt wieder einfach aus der Definition.
B III/74: Inhibit y3
=
X j & X2
Die Symboldarstellung der Inhibition zeigt eine AND-Schaltung, wobei der eine Eingang negiert ist.
>
y3 = x t & x2
B 111/75: Symboldaistellung der Inhibit-Funktion
200
Teil III. Logische Grundlagen
Die Kontaktskizze ergibt sich als Reihenschaltung eines Arbeits- und eines Ruhekontaktes: X
1
|
/
i
^ t
• y3
B HI/76: Inhibit-Funktion
Die logische Funktion y s in B 111/61 stellt ebenfalls die Inhibit-Funktion dar, wobei nur die beiden Eingangsvariablen Xj, x 2 miteinander vertauscht sind. Die negierte Eingangsvariable ist hier Xi: Ys = * i & x 2 3.4.7.
Implikation
Durch Negation der Inhibit-Funktion erhalten wir die sog. Implikation y 1 4 . Die Schaltfunktion hierfür ergibt sich also zu: y14 = y 3 = x j & x2
Die Gebietsdarstellung der Implikation folgt wieder als Komplementfläche der Inhibition.
B III/77: Implikation
yi4 Die Symboldarstellung zeigt eine NAND-Schaltung mit negiertem x 2 -Eingang:
v 1 = X
B III/78: Symboldarstellung der Implikation
t
&X
2
201
3. Schaltalgebra
Über das Morgan'sche Theorem erhalten wir: y14 =x, &x2 =*i Vx2 Mit diesem Ausdruck für die Implikation können wir auch die Kontaktskizze angeben: x
B 111/79: Implikation
i
x2
Die logische Funktion yl2 stellt ebenso wie yl4 die Implikation dar. Nur die Eingangsvariablen Xj und x 2 sind miteinander vertauscht. 3.4.8.
Zusammenfassung
Wir haben nun alle 2 • 5 = 10 technisch brauchbaren logischen Funktionen besprochen und in ihren verschiedenen Darstellungsmöglichkeiten verglichen. Zum besseren Vergleich fassen wir die gewonnenen Erkenntnisse in B 111/80 zusammen. Die 6 unbrauchbaren Funktionen lassen wir dabei gleich weg.
Eingangs-
X]
variable
0
0
0
L 0
L L L L
logische Funktionen Schaltfunktion
Bezeichnung
y2 = x, & x2
Konjunktion
L O U
y3 = X j & x 2 y5 = x, & x2
Inhibition
y7
0
L
L 0
y7 = ( x , & x 2 ) V (X| & X 2 )
ys
0
L
L
y8 = x ,
y9
L 0
negierte
yio
L O O L
y 1 0 = (x, & x 2 ) V (x, & x 2 )
Formen
yn
L 0
y,2 =xj &x2
Normalformen
y2
0
0
ys
0
O L 0
ys
u
yi4
L
yis
L L
0
L
O 0
L
L
L O L L 0
vx2
y9 = xt V x2
yi4 = xj & x 2 yis = x j & x 2
Abk. AND
Inhibition Antivalenz Disjunktion neg. Disjunktion
OR
NOR
Äquivalenz Implikation Implikation neg. Konjunktion
B 111/80: die 2 • 5 = 10 technisch brauchbaren logischen Funktionen von 2 Eingangsvariablen.
NAND
202
Teil III. Logische Grundlagen
AUFGABEN 1.
zu III, 3 . 1 . / 3 . 2 . / 3 . 3 . / 3 . 4 .
Wer war der Begründer der Schaltalgebra? a) Boole b) Aristoteles c) Morgan
2.
Welcher der beiden Begriffe ,Boolesche Algebra' und Schaltalgebra' ist der umfassendere? a) beide völlig gleichberechtigt b) Schaltalgebra c) Boole'sche Algebra
3.
Welches sind die drei Grundfunktionen, mit denen man alle anderen Booleschen Funktionen zweier Eingangsvariabler ausdrücken kann? a) Identität, Negation, AND b) Negation, AND, NAND c) Negation, AND, OR
4.
Wie lautet die Boole'sche Funktion der 5 Eingangsvariablen x j , x 2 , x 3 , x 4 , x s , deren Ausgangsvariable y nur dann O wird, wenn zugleich alle 5 Eingangsvariablen O sind? a) Disjunktion ( O R ) b) Konjunktion (AND) c) NOR-Funktion
5.
Was versteht man unter einem Arbeitskontakt in der Relaistechnik? a) Kontakt eines Relais, der öffnet, sobald das Relais erregt wird. b) Kontakt, der von einem Ausgangskontakt zu einem anderen umschaltet, sobald das Relais erregt wird. c) Kontakt, der schließt, sobald das Relais erregt wird.
6.
Wie wird die AND-Funktion von 2 Eingangsvariablen x 1 ; x 2 skizze dargestellt?
als Kontakt-
a) als Reihenschaltung von 2 Arbeitskontakten, die die 2 Eingangsvariablen x j , x 2 repräsentieren b) als Reihenschaltung von 4 Ruhekontakten, die die 2 Eingangsvariablen X j , x 2 repräsentieren c) als Parallelschaltung von 2 Arbeitskontakten, die die 2 Eingangsvariablen repräsentieren
203
3. Schaltalgebra
7.
Wie lautet die Schaltfunktion (noch nicht minimisiert), deren Symboldarstellung im folgenden angegeben ist?
a) y = ( x i V x 2 ) & X i & ( x j
Vx2)
b) y = (xi & x 2 ) V x 1 V ( x j & x 2 ) c) y = ( x , V x 2 ) & x j & (xi V x 2 )
8.
Wie lautet die Schaltfunktion, deren Gebietsdarstellung hier angegeben ist?
a) y = ( X l &X 2 )V_( X 1 & x 3 ) b) y = (x! & x 2 & x 3 ) V (X! & x 2 & x 3 ) c) y = ( X l V x 2 V x 3 ) & ( x j V x 2 V x 3 ) 9.
Wieviele Zeilen hat die Wertetafel einer Funktion von 5 Eingangsvariablen? a) 2 S = 32 b) 2 l S = 2 3 2 « 5 MUliarden c) 5 2 = 25
10.
Wieviele der überhaupt möglichen Boole'schen Funktionen von 2 Eingangsvariablen sind technisch verwertbar? a) 18 b) 2, nämlich AND und OR c) 10
204 11.
Teil III. Logische Grundlagen
Welche Boole'sche Funktion zweier Eingangsvariabler ist dann und nur dann O, wenn beide Eingangsvariablen gleich sind? a) Antivalenz b) Äquivalenz c) Implikation
12.
Welche Boole'sche Funktion zweier Eingangsvariabler geht aus der Negation der Implikation hervor? a) Antivalenz b) Inhibition c) Äquivalenz
3.5. Rechenregeln 3.5.1. Postulate Um die verschiedenen Rechenregeln der Schaltalgebra herzuleiten, gehen wir von einigen wenigen Grundbeziehungen, den sog. Postulaten, aus. Diese Postulate sind Definitionen und lassen sich als Axiome innerhalb der Schaltalgebra selbst nicht mehr beweisen. Jedoch lassen sich alle anderen Rechenregeln mit Hilfe dieser Postulate beweisen. Wir werden den entsprechenden Beweis natürlich nicht bei jeder hier angegebenen Regel vornehmen. Wir begnügen uns i. a. mit einer Veranschaulichung durch Kontaktskizzen oder bzw. und Gebietsdarstellungen.
Die Postulate lauten:
0 V0 =0 L &L =L
L = 0
(la)
Ö=L
(lb)
(2a) (2b)
L VL =L 0 & 0 = 0 Ii I i
-1 O
0 VL=LV 0 0 &L =L & 0
(3a) (3b)
(4a) (4b)
Das Postulat (1) bedeutet einfach die Negation. Da wir nämlich nur über die zwei Werte O und L verfügen, muß zwangsläufig der eine Wert durch Negation in den anderen übergehen. Die Postulate (2) und (3) sind in ihrer einfachen Aussage ohnehin plausibel. Das Postulat (4a) kann entsprechend der Kontaktdarstellung als die Parallelschaltung eines (stets) offenen und eines (stets) geschlossenen Kontaktes aufgefaßt werden. Der Strompfad ist also über den oberen Zweig (geschlossener Kontakt) stets durchgeschaltet. Dies bedeutet: der Ausgang y ist stets L.
205
3. Schaltalgebra
L * BIII/81: Postulat (4a)
y=L
O
Das Postulat (4b) kann dagegen als Reihenschaltung eines (stets) offenen und eines (stets) geschlossenen Kontaktes interpretiert werden. Der Strompfad bleibt hier natürlich stets unterbrochen. Dies bedeutet, daß die Ausgangsvariable stets y = 0. L B 111/82: Postulat (4b)
|
•
O •
•
•
• y=o
3.5.2. Theoreme Von großer Bedeutung für die praktische Anwendung der Schaltalgebra auf dem Gebiet digitaler Schaltnetzwerke ist die Möglichkeit der Vereinfachung der Schaltfunktionen. Eindeutige Kriterien für diese Vereinfachung (Minimisierung genannt) kann man allerdings in allgemeiner Form nicht angeben — sie hängen zu sehr von der jeweils gewählten Schaltkreistechnik ab. Häufig versucht man die Schaltfunktion so umzuformen, daß am Ende möglichst wenig Eingangsvariable auf die Ausgangsvariable einen Einfluß ausüben. Wir werden darauf noch genauer eingehen. Zunächst wollen wir uns verschiedene Rechenregeln und Beziehungen aus den Postulaten herleiten — wir werden sie für die Vereinfachung von Schaltfunktionen benützen können. Es ist wichtig, daß man sich eine gewisse Routine bei der Anwendung dieser Theoreme aneignet! Eine einfache und plausible Deutung der Theoreme findet sich, wenn die Disjunktion (V) durch eine Parallelschaltung und die Konjunktion (&) durch eine Reihenschaltung der entsprechenden Kontakte in der Kontaktskizze realisiert werden.
Theoreme: xV0 =x x V L =L
(la) (1b)
x&0 = 0 x&L =x
(2a) (2b)
xVx =x X & X = X
(3a) (3b)
x Vx =L x&x =0
(4a) (4b)
X = X
(5)
Teil III.'Logische Grundlagen
206
Als Methode zum Beweis dieser Theoreme aus den Postulaten heraus bietet sich das sog. Induktions-Verfahren an. Dabei geht man folgendermaßen vor: Die Variable x kann als Boole'sche Größe einen der beiden Werte 0 , L annehmen. Andere Werte für x sind nicht zugelassen. Wollen wir nun eines der angegebenen Theoreme beweisen, so brauchen wir deshalb nur zu zeigen, daß das Theorem sowohl für x = 0 als auch für x = L erfüllt ist. Beispiel: Das Theorem (4a) behauptet: x V x = L Beweis für x = O: linke Seite: OVO mit Postulat ( l b ) : = O V L mit Postulat (4a): = L = rechte Seite = L Beweis für x = L: linke Seite: LVL mit Postulat ( l a ) : = L V O mit Postulat (4a): = L = rechte Seite = L d. h.: das Theorem (4a) ist sowohl für x = O als auch für x = L erfüllt — also ist es allgemein erfüllt. Auf diese Weise lassen sich auch die übrigen Theoreme beweisen. Zur Veranschaulichung der Aussagen eines Theorems sind die Kontaktskizzen auch sehr nützlich: Beispiel: Theorem (2a) lautet: x & 0 = 0 Als Kontaktskizze wird diese Ausssage leicht verständlich: 1
l x
•
• O
• y=x&O= O B III/8 3
Die Konjunktion zwischen einer Boole'schen Größe x und dem Wert O ist stets O, da der Strompfad - unabhängig von x - stets unterbrochen bleibt. 3.5.3. Assoziatives Gesetz Aus der gewöhnlichen Algebra kennen wir das Assoziative Gesetz in folgender Form: für die Addition: (x! + x 2 ) + x 3 = X! + (x 2 + x 3 ) = Xj + x 2 + x 3 Multiplikation : ( x j • x 2 ) • x 3 = x j • (x 2 • x 3 ) = x x • x 2 • x 3 Dabei kennzeichnen die Klammern die zuerst auszuwertenden Ausdrücke.
3. Schaltalgebra
207
Das Assoziative Gesetz besagt also: Wird auf mehrere Variable nur ein Operationstyp angewandt, so ist es gleichgültig, welche Variablen wir zuerst zusammenfassen. Die Stellung der Klammern ist also gleichgültig - sie können deshalb ganz weggelassen werden. In dieser Form gilt das Assoziative Gesetz auch für die Operationen .Disjunktion' (V) und .Konjunktion' (&). Es gilt also: für die Disjunktion: ( x 1 V x 2 ) V x 3 = x , V ( x 2 V x 3 ) = X! V x 2 V x 3 für die Konjunktion: (x t & x 2 ) & X 3 = Xj & (x 2 & x 3 ) = Xj & x 2 & x 3 Die Gültigkeit des Assoziativen Gesetzes für die Konjunktion wollen wir uns über die Gebietsdarstellung verdeutlichen (B III/84). Über die beiden verschiedenen Zwischenergebnisse: yi =(*i & x 2 ) und y 2 = (x 2 & x 3 ) kommen wir auf dasselbe Endergebnis: x t & x 2 & x 3
208
Teil III. Logische Grundlagen
3.5.4. Distributives Gesetz Auch bei diesem Gesetz wollen wir auf die gewöhnliche Algebra zurückgreifen. Dort gilt: xi • ( x 2 + x 3 ) = (X! • x 2 ) + (X! • x 3 ) Hiervon ausgehend können wir für die Schaltalgebra in analoger Weise anschreiben: Distributives Gesetz 1. Art: X! & ( x 2 V x 3 ) = ( X l & x 2 ) V ( X l & x 3 ) In der gewöhnlichen Algebra gilt die 2. Form des Distributiven Gesetzes nicht; es ist nämlich: x i + (x 2 • x 3 ) ^ (X! + x 2 ) • (X! + x 3 ) Die rechte und linke Seite dieses Ausdrucks bedeuten etwas völlig Verschiedenes. Anders ist die Situation in der Schaltalgebra. Dort gilt: Distributives Gesetz 2. Art: Xl
V (x2 & x 3 ) = ( X l V x 2 ) & ( X l V x 3 )
In der Schaltalgebra sind also die Kurzzeichen & und V völlig gleichberechtigt. Mit dem Distributiven Gesetz 2. Art lassen sich ebenso häufig Vereinfachungen von Schaltfunktionen durchführen wie mit dem 1. Art. Zu Minimisierungs-Zwekken werden die beiden Distributiven Gesetze meist von rechts nach links eingesetzt. Den Beweis für die Gültigkeit der beiden Gesetze kann man auch hier wieder mit der Methode der Induktion durchführen. Dazu wählt man alle möglichen 0,LKombinationen der Variablen Xj, x 2 , x 3 (es sind insgesamt 2 3 = 8) und zeigt, daß beide Seiten obiger Rechenregeln jeweils denselben Wert ergeben.
3.5.5. Morgan'sches Theorem Eine sehr wichtige und praktische Umformregel finden wir in dem nach Morgan benannten Theorem. Es kennzeichnet recht deutlich den Dualismus zwischen der Konjunktion und der Disjunktion, der schon bei den Postulaten auffiel. Morgan'sches Theorem: x 1 V x 2 = x 1 & x2 und:
Xj & x 2 = x j V x 2
3. Schaltalgebra
209
Mit Hilfe dieses Theorems kann also eine Disjunktion zwischen Eingangsvariablen x 1 ; x 2 in eine Konjunktion zwischen ihren Negationen x j , x 2 umgewandelt werden. Ebenso ist die Zurückführung der Konjunktion auf die Disjunktion möglich. Der amerikanische Mathematiker Shannon, der viel zur derzeitigen praktischen Bedeutung der Schaltalgebra beigetragen hat, brachte obige Aussage in eine allgemeinere Form für beliebige viele Variable x ( xn: verallgemeinertes M organ'sches Theorem: y (x!,x2,
x n , & , V) = y ( x 1 ; x 2 , . . . x n , V,&)
Dieses Theorem besagt folgendes: Für eine beliebige logische Funktion y der Eingangsvariablen Xj, x 2 , . . . x n erhält man die Negation y dieser Funktion, indem man: jede Variable x durch deren Komplement x ersetzt und: die Konjunktionen & mit den Disjunktionen V vertauscht. Beispiel: es sei: y = x x V (x 2 & x 3 ) V (x 2 & x 3 ) dann erhält man nach obigem Theorem die Negation y zu: y = Xj V (x 2 & x 3 ) V ( x 2 & x 3 ) = X! & ( x 2 V x 3 ) & ( x 2 V x 3 ) Die Negation y kann also sehr einfach durch rein formale Umwandlung gewonnen werden. Durch Induktion wollen wir nun das Morgan'sche Theorem in seiner einfachen Form beweisen. Jeder der beiden Eingangsvariablen x 1 ; x 2 kann jeweils einen der beiden Werte O, L annehmen. Insgesamt erhalten wir also 4 mögliche Wertekombinationen, für die wir die Gleichheit der linken und rechten Seite des Morgan'schen Theorems zeigen müssen. Behauptung:
Xi V x 2 = Xj & x 2
Beweis: Xl
x2
xi V x 2
Xi V x 2
Xl
x2
X! & X2
0 0 L L
0 L 0 L
0 L L L
L 0 0 0
L L Ö 0
L 0 L 0
L 0 0 0
es ist also: Unke Seite damit ist die Behauptung stets erfüllt. 14
Dworatschek
=
rechte Seite
Teil III. Logische Grundlagen
210 3.5.6. Entwicklungstheorem
Die Anwendung des Entwicklungstheorems kann manchmal recht schnell zu Vereinfachungen der Schaltfunktion fuhren. Das Entwicklungstheorem lautet: Liegt eine logische Funktion y von den Eingangsvariablen Xj, x 2 . . . . x„ vor, so gelten die beiden Beziehungen: y (xj, x 2 , . . . x n ) = [xj & y (L,x 2 ,. . . x n )] V [Xj & y (0, x 2 , . . . x„)] y (x l 5 x 2 , . . . x n ) = [xj V y (0, x 2 , . . . x„)j & [xj V y ( L , x 2 , . . . x„)] Die Gültigkeit dieser beiden Beziehungen kann wieder leicht bewiesen werden, indem man für Xj einmal 0 und einmal L einsetzt. Wir wollen uns hier auf den Nachweis für X! = 0 und auf die erste Beziehung beschränken. y (0, x 2 . . . x n ) = [O & y ( L , x 2 , . . . x n )] V [Ö & V (0, x 2 , . . . x„)] O V [L & y (0, x 2 , . . . x n )] O V y (0, x 2 , . . . x n ) y (0, x 2 , . . . x n ) d. h., die linke und rechte sind gleich; die Beziehung ist also für xi = O gültig. Analog läuft der Beweis für Xj = L. 3.5.7. Beispiel
An einem Beispiel werden wir nun sehen, wie die verschiedenen Theoreme zur Vereinfachung einer Boole'schen Funktion dienen können. Bei den schrittweise durchgeführten Umwandlungen geben wir stets die Nummer des Theorems an, nach denen die jeweilige Umformung vorgenommen wird. Vorgegeben sei uns folgende Schaltfunktion: y = [(xi v x 2 ) & (x, V x 3 )] V ( X l & x 2 & x 3 ) Nun sei es beispielsweise aus technischen Überlegungen heraus wünschenswert, diese Schaltfunktion so stark wie möglich zu vereinfachen, um Bauteile zu sparen. Vereinfachungen werden wir einmal mit dem Entwicklungssatz und einmal direkt, über Gebietsdarstellung und Kontaktskizze, vornehmen. 3.5.7.1. Vereinfachung über den Entwicklungssatz Zunächst berechnen wir aus der gegebenen Schaltfunktion: y (x! = 0 ) = [(0 V x 2 ) & ( 0 V x 3 ) ] V ( 0 & x 2 & x 3 ) mit Theorem (la) und (2a) folgt: = [x 2 & x 3 ] V O mit Theorem (la) folgt: = x2 & x 3
3. Schaltalgebra
211
Nun bestimmen wir aus der Schaltfunktion noch: y ( X l = L) = [(L V x 2 ) & (L V x 3 )] V (L & x 2 & x 3 ) mit dem Distributiven Gesetz 2. Art folgt: = [L V (x 2 & x 3 )] V (L & x 2 & x 3 ) mit dem Assoziativen Gesetz gilt: = [LV(x2&x3)]V[L&(x2&x3)] mit Theorem ( l b ) und (2b) folgt: = LV(x, &x3) mit Theorem ( l b ) folgt schließlich: =L Mit den beiden Ausdrücken: y (*i = 0 ) = x 2 & x 3 y ( x , = L) = L können wir nun den Entwicklungssatz auswerten: y = [x,&y(x1=L)]V[x1&y(x1=0)] = [ X l & L] V [ Xj & ( x 2 & x 3 ) ] = Xj V [ X ! & ( x 2 & x 3 ) ] = (Xl V x , ) & [ x , V ( x 2 & x 3 ) ] = L & [ X l V(x2 &x3)] = Xj V (x 2 & x 3 ) Die ursprüngliche Form der Schaltfunktion wurde also auf die vereinfachte Form y = Xj V (x 2 & x 3 ) zurückgeführt.
3.5.7.2. direkte Vereinfachung Wir wollen nun ohne Entwicklungssatz, d. h. nur mit den übrigen Regeln, auskommen. Vorgegeben ist wieder die Schaltfunktion: y = t(xi V x 2 ) & ( X l V x 3 )] V ( X l & x 2 & x 3 ) mit dem Distributiven Gesetz 2. Art folgt: = [X! V (x 2 & x 3 )] V ( X l & x 2 & x 3 ) mit Theorem (2b) folgt: = [x t V ( L & X 2 & X 3 ) ] V ( X 1 & x 2 & x 3 ) Wir führen die Abkürzung z ein: z = x2 & x3 14 •
212
Teil III. Logische Grundlagen
Dann folgt: y = [xi V z] V (xj &z) Über das Assoziative Gesetz ergibt sich: = x j V[z V ( x i &z)] mit dem Distributiven Gesetz 2. Art folgt: = X l V [(z V x j ) & (z V z)] Theorem (3a) liefert: = X l V[z V x O & z ] nach dem Distributiven Gesetz 2. Art folgt: = [Xl V ( z V x , ) ] & ( x , Vz) das Assoziative Gesetz und Theorem (3a) ergeben: = [x, V z ] & ( x i V z ) die identischen Klammerandrücke ergeben nach Theorem (3b): y = Xi V z = xi V ( x 2 & x 3 ) Wir erhalten auch hier die vereinfachte Schaltfunktion: y = x j V(x2&x3). 3.5.7.3. Vereinfachung über die Gebietsdarstellung Die zu vereinfachende Schaltfunktion y können wir in zwei Terme y j und y 2 aufspalten, die wir getrennt als Fläche darstellen.
y=
[(Xi
v x 2 ) & ( X l V x 3 )] V ( X l & x 2 & x 3 ) yi V y 2
d. h. der 1. Term lautet: Yi =(xi V x 2 ) & ( x i V x 3 ) In B III/ 85 bilden wir die dazugehörige Gebietsdarstellung. Rückschließend aus der schraffierten Fläche ergibt sich, daß man auch schreiben kann: yi = x j V ( x 2 & x 3 )
B III/85: 1. Terra:
yi
3. Schaltalgebra
213
Der 2. Term der Schaltfunktion lautet: y 2 =Xi & x 2 & x 3 Die hierzugehörige Gebietsaufteilung sehen wir in B 111/86.
B III/86: 2. Term: y 2
Vergleichen wir nun B HI/86 und B HI/85, so stellen wir fest, daß die Fläche für y 2 schon in der Fläche für y ! enthalten ist. Da die beiden Terme y t und y 2 mit V verknüpft sind, besagt dies, daß der 2. Term völlig überflüssig ist. Es genügt also auch zu schreiben: y = yi = * i V ( x 2 & x 3 ) Dies aber ist die schon in 3.5.6.1 ./2. gefundene, vereinfachte Form für die Schaltfunktion y. 3.5.7.4.
Vereinfachung über die
Kontaktskizze
Die Kontaktskizze für die vorgegebene Schaltfunktion y ist in B III/87 angegeben. Zusätzlich sind die möglichen Stromwege eingezeichnet. Xj
xt
2. Term: y 2 B III/87: Kontaktskizze für y = [(x x V x 2 ) & (xj V x 3 ) ] V (xj & x 2 & x 3 )
214
Teil III. Logische Grundlagen
Der 1. Weg, der zu dem Wert y = L führt, ist schon brauchbar, wenn xl = L. Der 2. Weg schließt den Strompfad, sobald x 2 = L und x 3 = L. Der 3. Weg ist nur gangbar, wenn Xj = L, x 2 = L und x 3 = L. Dann ist aber der Strompfad ohnehin schon über den 1. und 2. Weg geschlossen. Den 3. Weg können wir also völlig weglassen. Den 1. und den 2. Weg können wir noch etwas .zusammenziehen' und erhalten als Ergebnis B 111/88.
y B m/88
Aus dieser Kontaktskizze können wir rückschließend sofort die uns schon bekannte Form der vereinfachten Schaltfunktion y ablesen:
y = Xj V(x 2 & x 3 )
3.6. Normalformen der Schaltfunktion Im vorhergehenden Abschnitt haben wir an einem Beispiel gesehen, daß ein und dieselbe Schaltfunktion umfangreicher oder aber vereinfacht angeschrieben werden kann. Dieselbe Schaltfunktion kann also in verschiedenen Schreibformen auftreten, wobei allerdings jede Form durch Umwandlung nach den angegebenen Rechenregeln in die andere Form gebracht werden kann. Im folgenden werden wir zwei .genormte' Formen der Schaltfunktion kennenlernen — also Formen mit klar definiertem Aufbau. Es sind dies die .Disjunktive Normalform' und die .Konjunktive Normalform'. 3.6.1. Disjunktive Normalform Wir wollen nun eine Methode kennenlernen, wie man aus der Wertetafel einer Boole'schen Funktion die Schaltfunktion selbst (d. h. die Schreibweise mit Kurzzeichen) aufbauen kann. Dazu verwenden wir die sog. Disjunktive Normalform. Aus 3.4. wissen wir, daß die Wertetafel irgendeiner Bool'schen Funktion bei n Eingangsvariablen X1(X2 x n gerade 2" Zeilen besitzt. Als Vollkonjunktionen bezeichnen wir nun den Boole'schen Ausdruck, der entsteht, indem
3. Schaltalgebra
215
wir alle Eingangsvariablen oder ihre Negationen konjunktiv (&) miteinander verknüpfen. Eine Möglichkeit wäre beispielsweise: Xj & x 2 & x 3
Xn.j & x„.
Ob die Eingangsvariable hierbei selbst oder ihre Negation verwendet wird, das legt die Wertetafel fest. Für jede Zeile der Wertetafel erhalten wir nämlich eine Vollkonjunktion — jede Zeile ist ja gerade eine 0,L-Kombination aller n Eingangsvariablen. Insgesamt treten also 2 n Vollkonjunktionen auf. Bei der Bildung der Vollkonjunktion für eine bestimmte Zeile wird die Eingangsvariable xj mit Xj eingesetzt, wenn sie in dieser Zeile der Wertetafel mit L markiert ist. Ist sie dort mit O markiert, so wird Xj in die Vollkonjunktion eingetragen. Eine Vollkonjunktion nennt man häufig auch Minterm. Verknüpft man nun all die Minterme, für welche die Ausgangsvariable y laut Wertetafel zu L wird, disjunktiv miteinander, so erhält man die Disjunktive Normalform (Abk.: DNF). Sie ist, wie schon erwähnt, eine der vielen möglichen Formen der Schaltfunktion. An einem konkreten Beispiel wollen wir uns nun die Aufstellung der DNF aus der vorgegebenen Wertetafel genauer ansehen. Zur Festlegung der Wertetafel geben wir vor: Es seien drei Eingangsvariable x 1 , x 2 , x 3 vorhanden, d. h., hier ist n = 3. Damit erhalten wir eine Wertetafel mit 2" = 2 3 = 8 Zeilen. Nun können wir noch die Spalte für die Ausgangsvariable y und damit die Eigenschaften der Funktion vorgegeben. Dazu schreiben wir beispielsweise vor: die Ausgangsvariable y sei nur L, wenn gilt: oder: oder: oder:
Xj X! Xj x|
=0 =O =L —L
x2 = 0 x2 = O x2 = L x2 = L
x3 = O x3 = L x3 = 0 x3 = L
In allen anderen Fällen soll die Ausgangsvariable y = O sein. Aus diesen Angaben und Bedingungen heraus können wir die Wertetafel aufstellen. Zunächst benötigen wir die Vollkonjunktionen (Minterme), für die die Ausgangsvariable y = L wird. Der y-Spalte in B III/89 entnehmen wir: es sind dies die Zeilen 1, 2, 7, 8 der Wertetafel. Die dazugehörigen Minterme ergeben sich zu: 1. Zeile 2. Zeile 7. Zeile 8. Zeile
Xj & x 2 x t & x2 Xj & x 2 x t & x2
&x3 & x3 & x3 & x3
216
Teil III. Logische Grundlagen
1. Zeile 2. Zeile
7. Zeile 8. Zeile
0 0 0 0 L L L L
x2
x3
y
O 0 L L 0 0 L L
o L 0 L O L 0 L
L < L 0 0 0 0 L * L
o an. Danach fällt sie wieder zur o-Stellung zurück. Die Zeitdauer T läßt sich über die entsprechende Veränderung von Bauelementen der Kippstufe (Widerstände, Kondensatoren) nach Wunsch einstellen. Monoflop werden aus diesem Grunde vor allem für zwei Zwecke eingesetzt:
247
2. Speicherarten
a) zur Erzeugung von Ausgangsimpulsen mit klar definierter Form aus verwaschenen' Eingangsimpulsen b) als Verzögerungsschaltung für Impulse Eingangsspannung Spannungsimpulse
-•Zeit t Ausgangsspannung
Vorzugsstellung
->- Zeit t T
T
T
B IV/13: Spannungsverlauf bei einer Monostabilen Kippstufe
Bistabile Kippstufe Die bistabile Kippstufe wird auch ,Eccles-Jordan-Schaltung' oder vor allem ,FlipFlop' genannt. Der aus dem Labor-Slang stammende Ausdruck ,Flip-Flop' (Abk.: FF) weist ebenso wie das Adjektiv: bistabil daraufhin, daß diese Kippstufe im Gegensatz zur monostabilen über zwei stabile Vorzugsstellungen verfügt. Nur durch einen Eingangsimpuls geht sie von einer Stellung in die andere über. Wird der aktuelle Zustand der Ausgangsspannung des Flip-Flop als 0 bzw. L interpretiert, so liegt im Flip-Flop ein Speicherelement für 1 Bit vor (B IV/14). Eingangsspannung
Zeit t Ausgangsspannung 2 Vorzugsstellungen Zeit t
B IV/14: Spannungsverlauf bei einer Bistabilen Kippstufe (Flip-Flop)
248
Teil IV. Technische Grundlagen
Astabile Kippstufe Wie der Name schon sagt, weist die astabile Kippstufe überhaupt keine stabile Vorzugsstellung auf. Die Ausgangsspannung pendelt — ohne Taktgabe vom Eingang her - stetig zwischen zwei Zuständen ( 0 und L) hin und her. Diese Eigenschaft wird vor allem bei Taktgeneratoren, bei denen eine hohe Taktfrequenz (bis herab zu Nanosekunden) gefordert wird, ausgenutzt. Ausgangsspannung
A
L —
Zeit t B IV/15 : Spannungsveilauf bei einer Astabilen Kippstufe
Schieberegister Das wichtigste Anwendungsbeispiel für Flip-Flop ist das Schieberegister. Es dient zur Aufnahme und (oft nur kurzzeitigen) Abspeicherung einer Folge von Binärzeichen (etwa ein Wort mit 48 Bits). Für jedes Binärzeichen ( 0 oder L) ist ein eigenes Flip-Flop vorgesehen. Jedes Flip-Flop ist mit dem vorhergehenden und dem nachfolgenden elektrisch verbunden. Die Binärfolge kann beispielsweise Bit für Bit in das Schieberegister eingeschrieben und taktweise hindurch geschoben werden. Die ganze Binärfolge kann aber auch parallel eingeschrieben werden, d. h., alle Bits werden gleichzeitig in die Flip-Flop übernommen. Ebenso ist ein Serien- oder ein Parallel-Auslesen möglich. Mit Hilfe einer derartigen Serien-Parallel-Umsetzung (vgl. B IV/16) kann etwa das von einem Kanal seriell eintreffende Wort parallel weitergegeben werden. Der umgekehrte Fall wäre die Parallel-Serien-Umsetzung (vgl. B IV/17). seriell empfangen: Schieberegister für 8 Bits, bestehend aus 8 Flip-Flop LLOOLLOL
L
L
i
1
L
L
O
1
0
0
L
L
I
i
1
0
parallel ausgegeben
B IV/16: Serien-Parallel-Umsetzung mit einem Schieberegister
L
L
0
L
l
1
0
L
2. Speicherarten
249
parallel empfangen: O
|
I 1J L
|
L
|
0
O
O r
'
1 I 11
L
0
[
L
|
0
|
L
seriell ausgegeben |
LLOOLLOL
Schieberegister für 8 Bits bestehend aus 8 Flip-Flop B 1V/17: Parallel-Serien-Umsetzung mit einem Schieberegister
2.2. Magnetkernspeicher 2.2.1. Physikalisches Prinzip Ein wichtiges Speicherelement der Digitaltechnik ist der Magnetkern, auch Ferritkern genannt. Das Material .Ferrit' entsteht aus Eisenoxyd und Metallzusatz (z. B.: Mn, Mg, Ni) über einen Sinterprozeß (= starkes Erhitzen unter Druck). Die üblichen Abmessungen eines Ferritkerns sind: Innendurchmesser : bis 1,5 mm Außendurchmesser: bis 2,5 mm Dicke : bis 0,5 mm Der Ferritkern hat eine charakteristische Magnetisierungskennlinie, die eine sog. Hysterese-Schleife bildet (vgl. B I V / 2 1 ) . Diese entsteht folgendermaßen: fließt in einem Draht, der durch einen Ferritkern gefädelt ist (vgl. B IV/18), ein Strom I m , so wird der Kern magnetisiert. Statt eine oder mehrere Schleifen um den Kern herum zu bilden, genügt es auch, den Draht nur einfach durch den Magnetkern zu fädeln (vgl. B I V / 1 9 ) . Dadurch wird derselbe Magnetisierungseffekt erzielt. Die Magnetisierung hält in praktisch unverminderter Intensität (+ B in B I V / 2 1 ) an, wenn der Strom wieder abgeschaltet wird. Schickt man nun durch den Draht einen Strom derselben Stärke in umgekehrter Richtung (also einen Strom - I m ) , so wird der Magnetkern in umgekehrter Richtung magnetisiert (- B). Auch dieser Magnetisierungszustand (- B) bleibt bei Abschalten des Stroms erhalten. Wird dagegen nur ein Strom + I m / 2 bzw. - 1 m / 2 verwandt, so kehrt der Kern stets in den zuvor eingenommenen Zustand zurück. Es liegt also-ein typisch binäres Speicherelement mit den beiden ausgezeichneten Magnetisierungszuständen + B und - B vor. Wir ordnen dem Zustand + B die Information L und dem Zustand - B die Information O zu. Damit vermag 1 Magnetkern gerade 1 Bit abzuspeichern. Das Einschreiben einer L, also der Übergang von - B zu + B, kann nur durch einen Strom + I m erfolgen. Das Einschreiben einer 0 , also der Übergang von + B zu - B erfolgt durch den Strom - I m .
250
Teü IV. Technische Grundlagen
Statt aber einen Strom (±) I m durch einen Draht (vgl. BIV/19) zu schicken, ist es auch möglich, jeweils einen Strom von (±) I m / 2 in 2 Drähten (vgl. BIV/20) fließen zu lassen. Das Lesen einer L, also der Übergang von + B zu - B, geschieht durch einen Strom - I m . Bei diesem Leseprozeß wird durch die Ummagnetisierung in einem gesondert durch den Kern geführten Lesedraht ein Spannungsimpuls u L erzeugt, der die vorliegende Information L kennzeichnet. Wäre nämlich der Zustand des Kerns - B, also O gewesen, so hätte der Lesestrom - I m keine Ummagnetisierung und damit auch keinen Leseimpuls erzeugt. Zusammenfassend kann festgehalten werden: a) Einschreiben geschieht ohne Benützung des Lesedrahtes, und zwar: 1. Einschreiben einer L: 2 Drähte mit + I m / 2 belasten 2. Einschreiben einer 0 : 2 Drähte mit - I m /2 belasten
Magneti-
sierungsintensität
+B =L
B IV/21: Magnetisierungskennlinie (Hystereseschleife)
Lesen:
- Im/2
B IV/22: Magnetkern mit: Zeilendraht Spaltendraht Lesedraht
2. Speicherarten
251
b) Lesen geschieht bei Benützung des Lesedrahtes mit zwei Strömen der jeweiligen Größe - I m / 2 : 1. war L abgespeichert, so wird: u l ^ O 2. war 0 abgespeichert, so wird: u L = 0 Nach dem Leseprozeß ist der Kernzustand stets - B (= O). War zuvor eine L abgespeichert, so muß sie jetzt wieder eingeschrieben werden.
X
1
x
2
X3
X4
Vi
Vi
Y3