Inhaltsverzeichnis | 8 |
1 Einführung | 12 |
1.1 Was ist technische Informatik? | 12 |
1.2 Vom Abakus zum Supercomputer | 14 |
1.3 Wohin geht die Reise? | 31 |
2 Halbleitertechnik | 34 |
2.1 Halbleiter | 35 |
2.1.1 Atommodell von Bohr | 35 |
2.1.2 Reine Halbleiter | 38 |
2.1.3 Dotierte Halbleiter | 40 |
2.2 Integrierte Schaltelemente | 42 |
2.2.1 Halbleiterdioden | 42 |
2.2.2 Bipolartransistoren | 43 |
2.2.3 Feldeffekttransistoren | 47 |
2.3 Chip-Fertigung | 52 |
2.3.1 Produktion integrierter Schaltkreise | 52 |
2.3.2 Integrationsdichte | 58 |
2.4 Übungsaufgaben | 59 |
3 Zahlendarstellung und Codes | 60 |
3.1 Zahlensysteme | 61 |
3.2 Rechnerinterne Zahlenformate | 68 |
3.2.1 Darstellung natürlicher Zahlen | 68 |
3.2.2 Darstellung rationaler Zahlen | 74 |
3.3 Zahlencodes | 81 |
3.3.1 Tetraden-Codes | 81 |
3.3.2 Fehlererkennende Codes | 85 |
3.4 Übungsaufgaben | 87 |
4 Boolesche Algebra | 90 |
4.1 Axiomatisierung nach Huntington | 91 |
4.1.1 Mengenalgebra | 92 |
4.1.2 Schaltalgebra | 94 |
4.2 Boolesche Ausdrücke und Aussagen | 96 |
4.2.1 Abgeleitete Operatoren | 98 |
4.2.2 Erfüllbarkeit und Äquivalenz | 101 |
4.2.3 Strukturelle Induktion | 103 |
4.2.4 Dualitätsprinzip | 106 |
4.3 Rechnen in booleschen Algebren | 110 |
4.3.1 Abgeleitete Umformungsregeln | 110 |
4.3.2 Vereinfachung boolescher Ausdrücke | 112 |
4.3.3 Vollständige Operatorensysteme | 118 |
4.4 Normalformdarstellungen | 120 |
4.4.1 Konjunktive und disjunktive Normalform | 120 |
4.4.2 Reed-Muller-Normalform | 123 |
4.4.3 Binäre Entscheidungsdiagramme | 126 |
4.5 Übungsaufgaben | 134 |
5 Schaltnetze | 140 |
5.1 Grundlagen der Digitaltechnik | 141 |
5.1.1 Schaltkreisfamilien | 141 |
5.1.2 MOS-Schaltungstechnik | 146 |
5.1.3 Lastfaktoren | 156 |
5.2 Schaltungssynthese | 157 |
5.2.1 Zweistufige Schaltungssynthese | 158 |
5.2.2 BDD-basierte Schaltungssynthese | 159 |
5.2.3 FDD-basierte Schaltungssynthese | 160 |
5.3 Formelsynthese | 162 |
5.3.1 Funktionale Formelsynthese | 162 |
5.3.2 Relationale Formelsynthese | 164 |
5.3.3 Definitorische Formelsynthese | 165 |
5.4 Komplexitätsanalyse | 168 |
5.5 Zeitverhalten digitaler Schaltungen | 170 |
5.5.1 Signalausbreitung und -verzögerung | 170 |
5.5.2 Störimpulse | 172 |
5.6 Übungsaufgaben | 176 |
6 Minimierung | 182 |
6.1 Minimierungsziele | 183 |
6.2 Karnaugh-Veitch-Diagramme | 187 |
6.2.1 Minimierung partiell definierter Funktionen | 191 |
6.2.2 Konstruktion Hazard-freier Schaltungen | 195 |
6.2.3 Minimierung mehrstelliger Funktionen | 197 |
6.3 Quine-McCluskey-Verfahren | 198 |
6.4 Übungsaufgaben | 202 |
7 Standardschaltnetze | 206 |
7.1 Motivation | 207 |
7.2 Multiplexer und Demultiplexer | 207 |
7.3 Komparatoren | 214 |
7.4 Präfix-Logik | 216 |
7.5 Addierer | 219 |
7.5.1 Halb- und Volladdierer | 219 |
7.5.2 Carry-ripple-Addierer | 221 |
7.5.3 Carry-look-ahead-Addierer | 222 |
7.5.4 Conditional-Sum-Addierer | 225 |
7.5.5 Präfix-Addierer | 228 |
7.5.6 Carry-save-Addierer | 230 |
7.6 Inkrementierer | 233 |
7.7 Subtrahierer | 234 |
7.8 Multiplizierer | 235 |
7.8.1 Matrixmultiplizierer | 236 |
7.8.2 Carry-save-Multiplizierer | 239 |
7.8.3 Wallace-Tree-Multiplizierer | 242 |
7.8.4 Dadda-Tree-Multiplizierer | 247 |
7.9 Barrel-Shifter | 250 |
7.10 Arithmetisch-logische Einheit | 252 |
7.11 Programmierbare Logikbausteine | 254 |
7.12 Übungsaufgaben | 257 |
8 Schaltwerke | 266 |
8.1 Digitale Speicherelemente | 267 |
8.1.1 Asynchrone Speicherelemente | 268 |
8.1.2 Taktzustandsgesteuerte Speicherelemente | 272 |
8.1.3 Taktflankengesteuerte Speicherelemente | 275 |
8.1.4 Bevorrechtigte Eingänge | 282 |
8.1.5 CMOS-Implementierung | 283 |
8.2 Vom Flipflop zum Schaltwerk | 286 |
8.2.1 Endliche Automaten | 287 |
8.2.2 Schaltwerksynthese | 290 |
8.3 Übungsaufgaben | 294 |
9 Standardschaltwerke | 300 |
9.1 Register | 301 |
9.1.1 Auffangregister | 301 |
9.1.2 Schieberegister | 303 |
9.1.3 Universalregister | 305 |
9.1.4 Akkumulatoren | 306 |
9.2 Zähler | 309 |
9.2.1 Synchrone Binärzähler | 310 |
9.2.2 Asynchrone Binärzähler | 314 |
9.2.3 Mischzähler | 315 |
9.2.4 Instruktionszähler | 317 |
9.3 Hauptspeicher | 319 |
9.3.1 SRAM-Speicher | 319 |
9.3.2 DRAM-Speicher | 321 |
9.3.3 Fehlererkennung und -korrektur | 328 |
9.4 Übungsaufgaben | 331 |
10 Register-Transfer-Entwurf | 336 |
10.1 Entwurf komplexer Systeme | 337 |
10.1.1 Operationswerksynthese | 339 |
10.1.2 Steuerwerksynthese | 341 |
10.2 Mikroprogrammierung | 344 |
10.3 Übungsaufgaben | 350 |
11 Mikroprozessortechnik | 352 |
11.1 Elemente eines Mikrorechners | 353 |
11.1.1 Von-Neumann-Architektur | 353 |
11.1.2 Aufbau der CPU | 357 |
11.2 Ein einfacher Modellprozessor | 361 |
11.3 Übungsaufgaben | 375 |
12 Rechnerstrukturen | 378 |
12.1 Rechnerklassifikation nach Flynn | 379 |
12.2 Instruktionsarchitekturen | 380 |
12.2.1 CISC-Prozessoren | 381 |
12.2.2 RISC-Prozessoren | 385 |
12.3 Methoden zur Leistungssteigerung | 389 |
12.3.1 Pipelining | 389 |
12.3.2 Cache-Speicher | 394 |
12.4 Leistungsbewertung | 400 |
12.4.1 Maßzahlen zur Leistungsbewertung | 400 |
12.4.2 Benchmarks | 403 |
12.5 Übungsaufgaben | 406 |
A Notationsverzeichnis | 412 |
B Abkürzungsverzeichnis | 414 |
C Glossar | 416 |
Literaturverzeichnis | 434 |
Namensverzeichnis | 438 |
Sachwortverzeichnis | 440 |