Jürgen Neuschwander
Rechnerarchitektur für Dummies. Das Lehrbuch
Jürgen Neuschwander
Rechnerarchitektur für Dummies. Das Lehrbuch
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Dieses Buch bietet eine kompakte, verständliche Einführung in das Thema "Rechnerarchitektur". Alle heute essenziellen Themengebiete werden behandelt. Der Schwerpunkt des Buches liegt auf der systemtechnischen funktionalen Beschreibung von Rechnern, ihren Komponenten und Prozessen, ohne auf die unzähligen Details dedizierter Systeme einzugehen. Die funktionale Darstellung mittels geeigneter Modellierungstechniken erlaubt das grundsätzliche Verständnis dieser Systeme, unabhängig von der jeweiligen Art der Realisierung und dem aktuellen Stand der Technologie. So müssen Sie keine Sorge haben, dass…mehr
Andere Kunden interessierten sich auch für
- Doug LoweNetzwerke für Dummies26,00 €
- Andreas Gogol-DöringAlgorithmen und Datenstrukturen für Dummies26,99 €
- Michael FelleisenWechselstromtechnik für Dummies25,00 €
- Steffen HerboldData-Science-Crashkurs34,90 €
- Mark RyanAnalysis für Dummies20,00 €
- Anatol BadachTechnik der IP-Netze69,99 €
- -25%11Tilo ArensArbeitsbuch Mathematik (eBook, PDF)29,99 €
-
-
-
-
-
-
-
-
-
-
-
-
-
Dieses Buch bietet eine kompakte, verständliche Einführung in das Thema "Rechnerarchitektur". Alle heute essenziellen Themengebiete werden behandelt. Der Schwerpunkt des Buches liegt auf der systemtechnischen funktionalen Beschreibung von Rechnern, ihren Komponenten und Prozessen, ohne auf die unzähligen Details dedizierter Systeme einzugehen. Die funktionale Darstellung mittels geeigneter Modellierungstechniken erlaubt das grundsätzliche Verständnis dieser Systeme, unabhängig von der jeweiligen Art der Realisierung und dem aktuellen Stand der Technologie. So müssen Sie keine Sorge haben, dass Sie sich bei der Prüfungsvorbereitung in den Details verlieren.
Produktdetails
- Produktdetails
- ...für Dummies
- Verlag: Wiley-VCH / Wiley-VCH Dummies
- Artikelnr. des Verlages: 1171850 000
- 1. Auflage
- Seitenzahl: 550
- Erscheinungstermin: 12. Oktober 2022
- Deutsch
- Abmessung: 238mm x 174mm x 31mm
- Gewicht: 976g
- ISBN-13: 9783527718504
- ISBN-10: 3527718508
- Artikelnr.: 63722761
- Herstellerkennzeichnung
- Wiley-VCH GmbH
- Boschstr. 12
- 69469 Weinheim
- wiley.buha@zeitfracht.de
- www.wiley-vch.de
- ...für Dummies
- Verlag: Wiley-VCH / Wiley-VCH Dummies
- Artikelnr. des Verlages: 1171850 000
- 1. Auflage
- Seitenzahl: 550
- Erscheinungstermin: 12. Oktober 2022
- Deutsch
- Abmessung: 238mm x 174mm x 31mm
- Gewicht: 976g
- ISBN-13: 9783527718504
- ISBN-10: 3527718508
- Artikelnr.: 63722761
- Herstellerkennzeichnung
- Wiley-VCH GmbH
- Boschstr. 12
- 69469 Weinheim
- wiley.buha@zeitfracht.de
- www.wiley-vch.de
Jürgen Neuschwander ist Professor für Informatik mit dem Schwerpunkt "Technik der Informations- und Kommunikationssysteme". Er lehrt an der Hochschule für Technik, Wirtschaft und Gestaltung in Konstanz.
Über den Autor 7
Einleitung 19
Über dieses Buch 20
Törichte Annahmen über den Leser 21
Was Sie nicht lesen müssen 22
Wie dieses Buch aufgebaut ist 22
Teil I: Grundlegendes zu Rechnerarchitekturen 22
Teil II: Das Kernelement: Der Prozessor 22
Teil III: Das Konzept der Speicherhierarchie 23
Teil IV: Vom Nutzen der Parallelverarbeitung 23
Teil V: Der Top-Ten-Teil 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 24
Teil I: Grundlegendes zu Rechnerarchitekturen 25
Kapitel 1 Blick aus der Vogelperspektive 27
Das Zeitalter der Computer 27
Embedded Systems und Ubiquitous Computing 28
Klassen von Rechnern 30
Der Begriff 'Rechnerarchitektur' 33
Die Instruction Set Architecture (ISA) 34
Die Mikro-Architekturebene 38
Die Definition der Rechnerarchitektur aus meiner Sicht 38
Höchstintegration und die Grenzen des Wachstums 39
Steigerung der Anzahl der Transistoren auf einem Chip 39
Der Performance-Gap 42
Alternativen zur Steigerung der Taktrate 44
Fortschritte beim automatisierten Entwurf solcher Chips 45
Modellierungstechnik 47
Aufbaupläne (Instanzennetze) 48
Ablaufpläne (Petri-Netze) 51
Kapitel 2 Leistungsbewertung von Rechnern 55
Überblick über Leistungsmaße 56
MIPS und MFLOPS 57
Die Prozessorausführungszeit 58
Vereinfachung durch den CPI-Wert 61
Benchmarkprogramme 63
Das Gesetz von Amdahl 67
Teil II: Das Kernelement: Der Prozessor 71
Kapitel 3 Die von Neumann-Maschine 73
Die Komponenten eines von Neumann-Rechners 76
Der Prozessor 76
Die Ein-/Ausgabeeinheit 77
Der Hauptspeicher 78
Der Systembus 79
Charakteristika der von Neumann-Maschine 80
Interpretation der Informationskomponenten 80
Befehlszählerprinzip und die Abwicklung eines Programms 84
Prozesse und Strukturelemente in einem Rechner 87
Komponenten des Operationswerks 94
Speicherorganisation 104
Klassen von Prozessorarchitekturen 118
Das Steuerwerk 124
Kapitel 4 Programmiermodell und Assemblerprogrammierung 139
Charakteristische Merkmale der Hochsprachen-Programmierung 140
Charakteristische Merkmale der maschinennahen Programmierung 140
Das Programmiermodell 141
Assemblerprogrammierung 143
Der Befehlssatz des Prozessors 144
Adressierungsarten 150
Assemblerprogrammierung am Beispiel 158
Ablauf der Assemblierung 166
Unterprogrammtechnik 179
Kapitel 5 Kommunikation und Ausnahmeverarbeitung 193
Datenaustausch über den Systembus 193
Zeitverhalten am Systembus 194
Synchroner Bus 194
Semi-synchroner Systembus 197
Asynchroner Systembus 198
Bussysteme in der heutigen Praxis 202
Bus-Arbitration 203
Lokale Bus-Arbitration 203
Globale Bus-Arbitration 206
Priorisierung mehrerer Master 207
Zentrales Verfahren zur Busvergabe 207
Dezentrales Verfahren zur Busvergabe 208
Erweiterung des Prozessormodells 209
Ausnahmeverarbeitung 210
Einführung des Abwicklerverwalters 211
Klassifizierung von Unterbrechungen und Ausnahmeverarbeitungen 213
Priorisierung in einer Interruptebene 222
Modellierung des Hardware-Dispatchers 228
Ein-/Ausgabe-Interfaces und Synchronisation 234
Ein-/ Ausgabe-Interfaces 234
Informationelle Struktur eines Interface-Bausteins 235
Synchronisation mit peripheren Instanzen 236
Synchronisation durch Busy-Waiting 238
Synchronisation durch Programmunterbrechung 241
Synchronisation durch Handshake-Betrieb 241
Direkter Speicherzugriff DMA (Direct Memory Access) 243
Der DMA-Controller 246
Aufbau eines DMA-Controllers 247
Das Kommunikations-Interface PCI-Express 251
Teil III: Das Konzept der Speicherhierarchie 253
Kapitel 6 Speichersysteme im Rechner 255
Der optimale Rechner 255
Die Speicherhierarchie 257
Inhomogenität und Organisation der Speicherhierarchie 259
Lokalitätseigenschaften von Programmen 262
Prinzipieller Aufbau von Halbleiter-Speicherbausteinen 263
Festwertspeicher 264
Schreib-/Lesespeicher 265
Speicherzugriffe mittels Blockbuszyklen 271
Verschränkung von Speicherbänken (Interleaving) 272
Modularer Speicheraufbau 275
Organisation des Hauptspeichers 276
Praktische Ausprägung des Hauptspeicherzugriffs 278
Eine Lösung durch spezielle Chipsätze 280
Weitere Bausteintypen für Schreib-/Lesespeicher 283
Sekundärspeicher 285
Festplatten 286
Redundant Array of Inexpensive Disks (RAID) 288
Solid State Disks (SSD) 290
Unternehmensweite Speichersysteme (NAS und SAN) 290
Archivspeicher 292
Optische Plattenspeicher 292
Magnetbandspeicher 293
Kapitel 7 Cachespeicher 295
Das Problem der Zykluszeit 296
Die Idee des Cachings 296
Systemstrukturen für Caches 299
Look-aside-Cache 299
Look-through-Cache 300
Zugriff auf den Cachespeicher 301
Lesezugriffe 301
Schreibzugriffe 303
Die Idee des Assoziativspeichers 306
Verdrängungsstrategie und Alterungsinformation 308
Arbeitsweise des Cachespeichers 309
Trefferrate und Zugriffszeiten 309
Cache-Kohärenzproblem 310
Kohärenzproblem bei einem Cache-Hit 312
Kohärenzproblem bei Copy-back-Verfahren 312
Lösung des Kohärenzproblems 313
Strukturen von Cachespeichern 315
Der voll-assoziative Cachespeicher 316
Direkt zuordnender Cache (Direct-mapped Cache) 319
Mehrwege-Satz-assoziativer Cache (n-way Set-associative Cache) 322
Das MESI-Protokoll 325
Cachespeicher-Hierarchie 331
Kapitel 8 Virtuelle Speicherverwaltung 337
Die Idee des virtuellen Speichers 337
Das Problem der Speicherzuweisung 339
Die Memory Management Unit (MMU) 343
Zusammenfassung: Das Prinzip der virtuellen Speicherverwaltung 344
Segmentverwaltung 346
Das Seitenverfahren 356
Die zweistufige Adressumsetzung 365
Virtuelle und reale Cache-Adressierung 368
Virtuelle Cache-Adressierung 368
Reale Cache-Adressierung 370
Teil IV: Vom Nutzen der Parallelverarbeitung 373
Kapitel 9 Die Idee der Parallelisierung 375
Der Einfluss der Parallelisierung auf die Rechnerarchitektur 376
Charakteristika für eine Parallelisierung auf Hardwareebene 377
Mikroskopische oder makroskopische Parallelität 378
Symmetrische oder asymmetrische Strukturen 379
Feinkörnige oder grobkörnige Parallelität 380
Implizite oder explizite Parallelität 381
Typen paralleler Architekturen - die Taxonomie von Flynn 381
Single Instruction Single Data (SISD) 383
Single Instruction Multiple Data (SIMD) 383
Multiple Instruction Single Data (MISD) 384
Multiple Instruction Multiple Data (MIMD) 384
Performance von Multiprozessorsystemen und von Multicore-Prozessoren 386
Die Harvard-Architektur 389
CISC-Rechner und deren Probleme 389
Die Idee der RISC-Maschinen 390
Die Architektur eines RISC-Prozessors 391
Erweiterung der ALU um einen Bypass 395
Zusammenfassung 397
Synchronisation von Prozessen 398
Sequenzielle und parallele Prozesse 398
Gegenseitiger Ausschluss von Prozessen 400
Binäre Semaphore zur Synchronisation 402
Der Test-and-Set- Befehl für Semaphorvariablen 404
Kapitel 10 Fließbandverarbeitung 409
Die DLX-Pipeline 412
Leistungssteigerung durch Pipelining 415
Hardwarestruktur einer k-stufigen Pipeline 419
Pipeline-Hemmnisse 422
Datenabhängigkeiten 423
Lösung der Datenkonflikte 429
Strukturkonflikte 433
Lösungen von Strukturkonflikten 434
Steuerflusskonflikte 435
Kapitel 11 Parallele Pipelines und Superskalarität 441
Parallelisierung der Programmabwicklung 441
Pipelines mit mehreren Ausführungseinheiten 442
VLIW-Prozessoren 446
Superskalare Prozessoren 449
Prinzipielle Architektur einer superskalaren Pipeline 450
Sprungzielvorhersage 457
Statische Sprungzielvorhersage 459
Dynamische Sprungzielvorhersage 459
Superskalare Pipeline - eine Verbesserung 464
Core-Architektur 466
Leistungssteigerung durch Multithreading 468
Prozesse 468
Threads 469
Vorteile des Multithreading 470
Simultaneous Multithreading bei superskalaren Pipelines 474
Nachteile der auf Performance optimierten Prozessor-Hardware 475
Kapitel 12 Vom Prozessor zu Rechnersystemen 479
Cluster 480
Supercomputer 481
Grid Computing 482
Virtuelle Maschinen 484
Cloud Computing 486
Liefermodelle 487
Dienstleistungsmodelle 488
Kapitel 13 Die zukünftige Entwicklung 491
Taktfrequenzen und Miniaturisierung 491
Ein neuer Hoffnungsträger - Graphen 493
Nanotubes als Speichertechnologie 493
Optische Prozessoren 494
Architektur und Mikroarchitektur 495
Processing-in-Memory 496
Neuromorphe Hardware 497
Memristor 499
Quantencomputer 500
Qubits und Quantengatter 500
Superposition und Quantenparallelismus 501
Quantenverschränkung 503
Einsatzgebiete für Quantencomputer 505
Ein kurzes Resümee 506
Teil V: Der Top-Ten-Teil 507
Kapitel 14 Zehn Kernthemen zur Rechnerarchitektur 509
Höchstintegration für Rechnerchips 509
Die von Neumann-Architektur 510
Die Harvard-Architektur und die RISC-Maschinen 511
Die Instruction Set Architecture (ISA) 511
Die Speicherhierarchie 512
Cachespeicher 513
Virtueller Speicher 514
Fließbandverarbeitung 514
Superskalare Prozessoren 516
Quantencomputer 516
Kapitel 15 Mögliche Trugschlüsse 519
Assemblerprogrammierung ist immer schneller 519
Die übertragenen Daten pro Zeiteinheit 520
Lange Pipelines ergeben eine bessere Performance 520
Höhere Cache-Kapazität ergibt bessere Performance 521
Von Neumann-Architektur als Auslaufmodell 522
Multi-Prozessorsysteme sind stets performanter als Mono-Prozessorsysteme
522
Amdahls Gesetz bei parallelen Rechnern 523
Flash-Speicher statt Hauptspeicher 523
Multicore-Prozessoren in der Taxonomie von Flynn 524
Hoher Parallelitätsgrad bei Anwendungssoftware 524
Kapitel 16 Zehn Selbsttests zum Fachgebiet 527
Selbsttest zu Kapitel 1 527
Selbsttest zu Kapitel 2 und 3 528
Selbsttest zu Kapitel 4 529
Selbsttest zu Kapitel 4 und 5 529
Selbsttest zu Kapitel 3 und 6 530
Selbsttest zu Kapitel 9 und 10 531
Selbsttest zu Kapitel 10 und 11 531
Selbsttest zu Kapitel 7 und 11 532
Selbsttest zu Kapitel 8 533
Selbsttest zu Kapitel 13 533
Lösungen zu den Selbsttests 534
Wichtige Literatur 535
Abbildungsverzeichnis 537
Stichwortverzeichnis 545
Einleitung 19
Über dieses Buch 20
Törichte Annahmen über den Leser 21
Was Sie nicht lesen müssen 22
Wie dieses Buch aufgebaut ist 22
Teil I: Grundlegendes zu Rechnerarchitekturen 22
Teil II: Das Kernelement: Der Prozessor 22
Teil III: Das Konzept der Speicherhierarchie 23
Teil IV: Vom Nutzen der Parallelverarbeitung 23
Teil V: Der Top-Ten-Teil 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 24
Teil I: Grundlegendes zu Rechnerarchitekturen 25
Kapitel 1 Blick aus der Vogelperspektive 27
Das Zeitalter der Computer 27
Embedded Systems und Ubiquitous Computing 28
Klassen von Rechnern 30
Der Begriff 'Rechnerarchitektur' 33
Die Instruction Set Architecture (ISA) 34
Die Mikro-Architekturebene 38
Die Definition der Rechnerarchitektur aus meiner Sicht 38
Höchstintegration und die Grenzen des Wachstums 39
Steigerung der Anzahl der Transistoren auf einem Chip 39
Der Performance-Gap 42
Alternativen zur Steigerung der Taktrate 44
Fortschritte beim automatisierten Entwurf solcher Chips 45
Modellierungstechnik 47
Aufbaupläne (Instanzennetze) 48
Ablaufpläne (Petri-Netze) 51
Kapitel 2 Leistungsbewertung von Rechnern 55
Überblick über Leistungsmaße 56
MIPS und MFLOPS 57
Die Prozessorausführungszeit 58
Vereinfachung durch den CPI-Wert 61
Benchmarkprogramme 63
Das Gesetz von Amdahl 67
Teil II: Das Kernelement: Der Prozessor 71
Kapitel 3 Die von Neumann-Maschine 73
Die Komponenten eines von Neumann-Rechners 76
Der Prozessor 76
Die Ein-/Ausgabeeinheit 77
Der Hauptspeicher 78
Der Systembus 79
Charakteristika der von Neumann-Maschine 80
Interpretation der Informationskomponenten 80
Befehlszählerprinzip und die Abwicklung eines Programms 84
Prozesse und Strukturelemente in einem Rechner 87
Komponenten des Operationswerks 94
Speicherorganisation 104
Klassen von Prozessorarchitekturen 118
Das Steuerwerk 124
Kapitel 4 Programmiermodell und Assemblerprogrammierung 139
Charakteristische Merkmale der Hochsprachen-Programmierung 140
Charakteristische Merkmale der maschinennahen Programmierung 140
Das Programmiermodell 141
Assemblerprogrammierung 143
Der Befehlssatz des Prozessors 144
Adressierungsarten 150
Assemblerprogrammierung am Beispiel 158
Ablauf der Assemblierung 166
Unterprogrammtechnik 179
Kapitel 5 Kommunikation und Ausnahmeverarbeitung 193
Datenaustausch über den Systembus 193
Zeitverhalten am Systembus 194
Synchroner Bus 194
Semi-synchroner Systembus 197
Asynchroner Systembus 198
Bussysteme in der heutigen Praxis 202
Bus-Arbitration 203
Lokale Bus-Arbitration 203
Globale Bus-Arbitration 206
Priorisierung mehrerer Master 207
Zentrales Verfahren zur Busvergabe 207
Dezentrales Verfahren zur Busvergabe 208
Erweiterung des Prozessormodells 209
Ausnahmeverarbeitung 210
Einführung des Abwicklerverwalters 211
Klassifizierung von Unterbrechungen und Ausnahmeverarbeitungen 213
Priorisierung in einer Interruptebene 222
Modellierung des Hardware-Dispatchers 228
Ein-/Ausgabe-Interfaces und Synchronisation 234
Ein-/ Ausgabe-Interfaces 234
Informationelle Struktur eines Interface-Bausteins 235
Synchronisation mit peripheren Instanzen 236
Synchronisation durch Busy-Waiting 238
Synchronisation durch Programmunterbrechung 241
Synchronisation durch Handshake-Betrieb 241
Direkter Speicherzugriff DMA (Direct Memory Access) 243
Der DMA-Controller 246
Aufbau eines DMA-Controllers 247
Das Kommunikations-Interface PCI-Express 251
Teil III: Das Konzept der Speicherhierarchie 253
Kapitel 6 Speichersysteme im Rechner 255
Der optimale Rechner 255
Die Speicherhierarchie 257
Inhomogenität und Organisation der Speicherhierarchie 259
Lokalitätseigenschaften von Programmen 262
Prinzipieller Aufbau von Halbleiter-Speicherbausteinen 263
Festwertspeicher 264
Schreib-/Lesespeicher 265
Speicherzugriffe mittels Blockbuszyklen 271
Verschränkung von Speicherbänken (Interleaving) 272
Modularer Speicheraufbau 275
Organisation des Hauptspeichers 276
Praktische Ausprägung des Hauptspeicherzugriffs 278
Eine Lösung durch spezielle Chipsätze 280
Weitere Bausteintypen für Schreib-/Lesespeicher 283
Sekundärspeicher 285
Festplatten 286
Redundant Array of Inexpensive Disks (RAID) 288
Solid State Disks (SSD) 290
Unternehmensweite Speichersysteme (NAS und SAN) 290
Archivspeicher 292
Optische Plattenspeicher 292
Magnetbandspeicher 293
Kapitel 7 Cachespeicher 295
Das Problem der Zykluszeit 296
Die Idee des Cachings 296
Systemstrukturen für Caches 299
Look-aside-Cache 299
Look-through-Cache 300
Zugriff auf den Cachespeicher 301
Lesezugriffe 301
Schreibzugriffe 303
Die Idee des Assoziativspeichers 306
Verdrängungsstrategie und Alterungsinformation 308
Arbeitsweise des Cachespeichers 309
Trefferrate und Zugriffszeiten 309
Cache-Kohärenzproblem 310
Kohärenzproblem bei einem Cache-Hit 312
Kohärenzproblem bei Copy-back-Verfahren 312
Lösung des Kohärenzproblems 313
Strukturen von Cachespeichern 315
Der voll-assoziative Cachespeicher 316
Direkt zuordnender Cache (Direct-mapped Cache) 319
Mehrwege-Satz-assoziativer Cache (n-way Set-associative Cache) 322
Das MESI-Protokoll 325
Cachespeicher-Hierarchie 331
Kapitel 8 Virtuelle Speicherverwaltung 337
Die Idee des virtuellen Speichers 337
Das Problem der Speicherzuweisung 339
Die Memory Management Unit (MMU) 343
Zusammenfassung: Das Prinzip der virtuellen Speicherverwaltung 344
Segmentverwaltung 346
Das Seitenverfahren 356
Die zweistufige Adressumsetzung 365
Virtuelle und reale Cache-Adressierung 368
Virtuelle Cache-Adressierung 368
Reale Cache-Adressierung 370
Teil IV: Vom Nutzen der Parallelverarbeitung 373
Kapitel 9 Die Idee der Parallelisierung 375
Der Einfluss der Parallelisierung auf die Rechnerarchitektur 376
Charakteristika für eine Parallelisierung auf Hardwareebene 377
Mikroskopische oder makroskopische Parallelität 378
Symmetrische oder asymmetrische Strukturen 379
Feinkörnige oder grobkörnige Parallelität 380
Implizite oder explizite Parallelität 381
Typen paralleler Architekturen - die Taxonomie von Flynn 381
Single Instruction Single Data (SISD) 383
Single Instruction Multiple Data (SIMD) 383
Multiple Instruction Single Data (MISD) 384
Multiple Instruction Multiple Data (MIMD) 384
Performance von Multiprozessorsystemen und von Multicore-Prozessoren 386
Die Harvard-Architektur 389
CISC-Rechner und deren Probleme 389
Die Idee der RISC-Maschinen 390
Die Architektur eines RISC-Prozessors 391
Erweiterung der ALU um einen Bypass 395
Zusammenfassung 397
Synchronisation von Prozessen 398
Sequenzielle und parallele Prozesse 398
Gegenseitiger Ausschluss von Prozessen 400
Binäre Semaphore zur Synchronisation 402
Der Test-and-Set- Befehl für Semaphorvariablen 404
Kapitel 10 Fließbandverarbeitung 409
Die DLX-Pipeline 412
Leistungssteigerung durch Pipelining 415
Hardwarestruktur einer k-stufigen Pipeline 419
Pipeline-Hemmnisse 422
Datenabhängigkeiten 423
Lösung der Datenkonflikte 429
Strukturkonflikte 433
Lösungen von Strukturkonflikten 434
Steuerflusskonflikte 435
Kapitel 11 Parallele Pipelines und Superskalarität 441
Parallelisierung der Programmabwicklung 441
Pipelines mit mehreren Ausführungseinheiten 442
VLIW-Prozessoren 446
Superskalare Prozessoren 449
Prinzipielle Architektur einer superskalaren Pipeline 450
Sprungzielvorhersage 457
Statische Sprungzielvorhersage 459
Dynamische Sprungzielvorhersage 459
Superskalare Pipeline - eine Verbesserung 464
Core-Architektur 466
Leistungssteigerung durch Multithreading 468
Prozesse 468
Threads 469
Vorteile des Multithreading 470
Simultaneous Multithreading bei superskalaren Pipelines 474
Nachteile der auf Performance optimierten Prozessor-Hardware 475
Kapitel 12 Vom Prozessor zu Rechnersystemen 479
Cluster 480
Supercomputer 481
Grid Computing 482
Virtuelle Maschinen 484
Cloud Computing 486
Liefermodelle 487
Dienstleistungsmodelle 488
Kapitel 13 Die zukünftige Entwicklung 491
Taktfrequenzen und Miniaturisierung 491
Ein neuer Hoffnungsträger - Graphen 493
Nanotubes als Speichertechnologie 493
Optische Prozessoren 494
Architektur und Mikroarchitektur 495
Processing-in-Memory 496
Neuromorphe Hardware 497
Memristor 499
Quantencomputer 500
Qubits und Quantengatter 500
Superposition und Quantenparallelismus 501
Quantenverschränkung 503
Einsatzgebiete für Quantencomputer 505
Ein kurzes Resümee 506
Teil V: Der Top-Ten-Teil 507
Kapitel 14 Zehn Kernthemen zur Rechnerarchitektur 509
Höchstintegration für Rechnerchips 509
Die von Neumann-Architektur 510
Die Harvard-Architektur und die RISC-Maschinen 511
Die Instruction Set Architecture (ISA) 511
Die Speicherhierarchie 512
Cachespeicher 513
Virtueller Speicher 514
Fließbandverarbeitung 514
Superskalare Prozessoren 516
Quantencomputer 516
Kapitel 15 Mögliche Trugschlüsse 519
Assemblerprogrammierung ist immer schneller 519
Die übertragenen Daten pro Zeiteinheit 520
Lange Pipelines ergeben eine bessere Performance 520
Höhere Cache-Kapazität ergibt bessere Performance 521
Von Neumann-Architektur als Auslaufmodell 522
Multi-Prozessorsysteme sind stets performanter als Mono-Prozessorsysteme
522
Amdahls Gesetz bei parallelen Rechnern 523
Flash-Speicher statt Hauptspeicher 523
Multicore-Prozessoren in der Taxonomie von Flynn 524
Hoher Parallelitätsgrad bei Anwendungssoftware 524
Kapitel 16 Zehn Selbsttests zum Fachgebiet 527
Selbsttest zu Kapitel 1 527
Selbsttest zu Kapitel 2 und 3 528
Selbsttest zu Kapitel 4 529
Selbsttest zu Kapitel 4 und 5 529
Selbsttest zu Kapitel 3 und 6 530
Selbsttest zu Kapitel 9 und 10 531
Selbsttest zu Kapitel 10 und 11 531
Selbsttest zu Kapitel 7 und 11 532
Selbsttest zu Kapitel 8 533
Selbsttest zu Kapitel 13 533
Lösungen zu den Selbsttests 534
Wichtige Literatur 535
Abbildungsverzeichnis 537
Stichwortverzeichnis 545
Über den Autor 7
Einleitung 19
Über dieses Buch 20
Törichte Annahmen über den Leser 21
Was Sie nicht lesen müssen 22
Wie dieses Buch aufgebaut ist 22
Teil I: Grundlegendes zu Rechnerarchitekturen 22
Teil II: Das Kernelement: Der Prozessor 22
Teil III: Das Konzept der Speicherhierarchie 23
Teil IV: Vom Nutzen der Parallelverarbeitung 23
Teil V: Der Top-Ten-Teil 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 24
Teil I: Grundlegendes zu Rechnerarchitekturen 25
Kapitel 1 Blick aus der Vogelperspektive 27
Das Zeitalter der Computer 27
Embedded Systems und Ubiquitous Computing 28
Klassen von Rechnern 30
Der Begriff 'Rechnerarchitektur' 33
Die Instruction Set Architecture (ISA) 34
Die Mikro-Architekturebene 38
Die Definition der Rechnerarchitektur aus meiner Sicht 38
Höchstintegration und die Grenzen des Wachstums 39
Steigerung der Anzahl der Transistoren auf einem Chip 39
Der Performance-Gap 42
Alternativen zur Steigerung der Taktrate 44
Fortschritte beim automatisierten Entwurf solcher Chips 45
Modellierungstechnik 47
Aufbaupläne (Instanzennetze) 48
Ablaufpläne (Petri-Netze) 51
Kapitel 2 Leistungsbewertung von Rechnern 55
Überblick über Leistungsmaße 56
MIPS und MFLOPS 57
Die Prozessorausführungszeit 58
Vereinfachung durch den CPI-Wert 61
Benchmarkprogramme 63
Das Gesetz von Amdahl 67
Teil II: Das Kernelement: Der Prozessor 71
Kapitel 3 Die von Neumann-Maschine 73
Die Komponenten eines von Neumann-Rechners 76
Der Prozessor 76
Die Ein-/Ausgabeeinheit 77
Der Hauptspeicher 78
Der Systembus 79
Charakteristika der von Neumann-Maschine 80
Interpretation der Informationskomponenten 80
Befehlszählerprinzip und die Abwicklung eines Programms 84
Prozesse und Strukturelemente in einem Rechner 87
Komponenten des Operationswerks 94
Speicherorganisation 104
Klassen von Prozessorarchitekturen 118
Das Steuerwerk 124
Kapitel 4 Programmiermodell und Assemblerprogrammierung 139
Charakteristische Merkmale der Hochsprachen-Programmierung 140
Charakteristische Merkmale der maschinennahen Programmierung 140
Das Programmiermodell 141
Assemblerprogrammierung 143
Der Befehlssatz des Prozessors 144
Adressierungsarten 150
Assemblerprogrammierung am Beispiel 158
Ablauf der Assemblierung 166
Unterprogrammtechnik 179
Kapitel 5 Kommunikation und Ausnahmeverarbeitung 193
Datenaustausch über den Systembus 193
Zeitverhalten am Systembus 194
Synchroner Bus 194
Semi-synchroner Systembus 197
Asynchroner Systembus 198
Bussysteme in der heutigen Praxis 202
Bus-Arbitration 203
Lokale Bus-Arbitration 203
Globale Bus-Arbitration 206
Priorisierung mehrerer Master 207
Zentrales Verfahren zur Busvergabe 207
Dezentrales Verfahren zur Busvergabe 208
Erweiterung des Prozessormodells 209
Ausnahmeverarbeitung 210
Einführung des Abwicklerverwalters 211
Klassifizierung von Unterbrechungen und Ausnahmeverarbeitungen 213
Priorisierung in einer Interruptebene 222
Modellierung des Hardware-Dispatchers 228
Ein-/Ausgabe-Interfaces und Synchronisation 234
Ein-/ Ausgabe-Interfaces 234
Informationelle Struktur eines Interface-Bausteins 235
Synchronisation mit peripheren Instanzen 236
Synchronisation durch Busy-Waiting 238
Synchronisation durch Programmunterbrechung 241
Synchronisation durch Handshake-Betrieb 241
Direkter Speicherzugriff DMA (Direct Memory Access) 243
Der DMA-Controller 246
Aufbau eines DMA-Controllers 247
Das Kommunikations-Interface PCI-Express 251
Teil III: Das Konzept der Speicherhierarchie 253
Kapitel 6 Speichersysteme im Rechner 255
Der optimale Rechner 255
Die Speicherhierarchie 257
Inhomogenität und Organisation der Speicherhierarchie 259
Lokalitätseigenschaften von Programmen 262
Prinzipieller Aufbau von Halbleiter-Speicherbausteinen 263
Festwertspeicher 264
Schreib-/Lesespeicher 265
Speicherzugriffe mittels Blockbuszyklen 271
Verschränkung von Speicherbänken (Interleaving) 272
Modularer Speicheraufbau 275
Organisation des Hauptspeichers 276
Praktische Ausprägung des Hauptspeicherzugriffs 278
Eine Lösung durch spezielle Chipsätze 280
Weitere Bausteintypen für Schreib-/Lesespeicher 283
Sekundärspeicher 285
Festplatten 286
Redundant Array of Inexpensive Disks (RAID) 288
Solid State Disks (SSD) 290
Unternehmensweite Speichersysteme (NAS und SAN) 290
Archivspeicher 292
Optische Plattenspeicher 292
Magnetbandspeicher 293
Kapitel 7 Cachespeicher 295
Das Problem der Zykluszeit 296
Die Idee des Cachings 296
Systemstrukturen für Caches 299
Look-aside-Cache 299
Look-through-Cache 300
Zugriff auf den Cachespeicher 301
Lesezugriffe 301
Schreibzugriffe 303
Die Idee des Assoziativspeichers 306
Verdrängungsstrategie und Alterungsinformation 308
Arbeitsweise des Cachespeichers 309
Trefferrate und Zugriffszeiten 309
Cache-Kohärenzproblem 310
Kohärenzproblem bei einem Cache-Hit 312
Kohärenzproblem bei Copy-back-Verfahren 312
Lösung des Kohärenzproblems 313
Strukturen von Cachespeichern 315
Der voll-assoziative Cachespeicher 316
Direkt zuordnender Cache (Direct-mapped Cache) 319
Mehrwege-Satz-assoziativer Cache (n-way Set-associative Cache) 322
Das MESI-Protokoll 325
Cachespeicher-Hierarchie 331
Kapitel 8 Virtuelle Speicherverwaltung 337
Die Idee des virtuellen Speichers 337
Das Problem der Speicherzuweisung 339
Die Memory Management Unit (MMU) 343
Zusammenfassung: Das Prinzip der virtuellen Speicherverwaltung 344
Segmentverwaltung 346
Das Seitenverfahren 356
Die zweistufige Adressumsetzung 365
Virtuelle und reale Cache-Adressierung 368
Virtuelle Cache-Adressierung 368
Reale Cache-Adressierung 370
Teil IV: Vom Nutzen der Parallelverarbeitung 373
Kapitel 9 Die Idee der Parallelisierung 375
Der Einfluss der Parallelisierung auf die Rechnerarchitektur 376
Charakteristika für eine Parallelisierung auf Hardwareebene 377
Mikroskopische oder makroskopische Parallelität 378
Symmetrische oder asymmetrische Strukturen 379
Feinkörnige oder grobkörnige Parallelität 380
Implizite oder explizite Parallelität 381
Typen paralleler Architekturen - die Taxonomie von Flynn 381
Single Instruction Single Data (SISD) 383
Single Instruction Multiple Data (SIMD) 383
Multiple Instruction Single Data (MISD) 384
Multiple Instruction Multiple Data (MIMD) 384
Performance von Multiprozessorsystemen und von Multicore-Prozessoren 386
Die Harvard-Architektur 389
CISC-Rechner und deren Probleme 389
Die Idee der RISC-Maschinen 390
Die Architektur eines RISC-Prozessors 391
Erweiterung der ALU um einen Bypass 395
Zusammenfassung 397
Synchronisation von Prozessen 398
Sequenzielle und parallele Prozesse 398
Gegenseitiger Ausschluss von Prozessen 400
Binäre Semaphore zur Synchronisation 402
Der Test-and-Set- Befehl für Semaphorvariablen 404
Kapitel 10 Fließbandverarbeitung 409
Die DLX-Pipeline 412
Leistungssteigerung durch Pipelining 415
Hardwarestruktur einer k-stufigen Pipeline 419
Pipeline-Hemmnisse 422
Datenabhängigkeiten 423
Lösung der Datenkonflikte 429
Strukturkonflikte 433
Lösungen von Strukturkonflikten 434
Steuerflusskonflikte 435
Kapitel 11 Parallele Pipelines und Superskalarität 441
Parallelisierung der Programmabwicklung 441
Pipelines mit mehreren Ausführungseinheiten 442
VLIW-Prozessoren 446
Superskalare Prozessoren 449
Prinzipielle Architektur einer superskalaren Pipeline 450
Sprungzielvorhersage 457
Statische Sprungzielvorhersage 459
Dynamische Sprungzielvorhersage 459
Superskalare Pipeline - eine Verbesserung 464
Core-Architektur 466
Leistungssteigerung durch Multithreading 468
Prozesse 468
Threads 469
Vorteile des Multithreading 470
Simultaneous Multithreading bei superskalaren Pipelines 474
Nachteile der auf Performance optimierten Prozessor-Hardware 475
Kapitel 12 Vom Prozessor zu Rechnersystemen 479
Cluster 480
Supercomputer 481
Grid Computing 482
Virtuelle Maschinen 484
Cloud Computing 486
Liefermodelle 487
Dienstleistungsmodelle 488
Kapitel 13 Die zukünftige Entwicklung 491
Taktfrequenzen und Miniaturisierung 491
Ein neuer Hoffnungsträger - Graphen 493
Nanotubes als Speichertechnologie 493
Optische Prozessoren 494
Architektur und Mikroarchitektur 495
Processing-in-Memory 496
Neuromorphe Hardware 497
Memristor 499
Quantencomputer 500
Qubits und Quantengatter 500
Superposition und Quantenparallelismus 501
Quantenverschränkung 503
Einsatzgebiete für Quantencomputer 505
Ein kurzes Resümee 506
Teil V: Der Top-Ten-Teil 507
Kapitel 14 Zehn Kernthemen zur Rechnerarchitektur 509
Höchstintegration für Rechnerchips 509
Die von Neumann-Architektur 510
Die Harvard-Architektur und die RISC-Maschinen 511
Die Instruction Set Architecture (ISA) 511
Die Speicherhierarchie 512
Cachespeicher 513
Virtueller Speicher 514
Fließbandverarbeitung 514
Superskalare Prozessoren 516
Quantencomputer 516
Kapitel 15 Mögliche Trugschlüsse 519
Assemblerprogrammierung ist immer schneller 519
Die übertragenen Daten pro Zeiteinheit 520
Lange Pipelines ergeben eine bessere Performance 520
Höhere Cache-Kapazität ergibt bessere Performance 521
Von Neumann-Architektur als Auslaufmodell 522
Multi-Prozessorsysteme sind stets performanter als Mono-Prozessorsysteme
522
Amdahls Gesetz bei parallelen Rechnern 523
Flash-Speicher statt Hauptspeicher 523
Multicore-Prozessoren in der Taxonomie von Flynn 524
Hoher Parallelitätsgrad bei Anwendungssoftware 524
Kapitel 16 Zehn Selbsttests zum Fachgebiet 527
Selbsttest zu Kapitel 1 527
Selbsttest zu Kapitel 2 und 3 528
Selbsttest zu Kapitel 4 529
Selbsttest zu Kapitel 4 und 5 529
Selbsttest zu Kapitel 3 und 6 530
Selbsttest zu Kapitel 9 und 10 531
Selbsttest zu Kapitel 10 und 11 531
Selbsttest zu Kapitel 7 und 11 532
Selbsttest zu Kapitel 8 533
Selbsttest zu Kapitel 13 533
Lösungen zu den Selbsttests 534
Wichtige Literatur 535
Abbildungsverzeichnis 537
Stichwortverzeichnis 545
Einleitung 19
Über dieses Buch 20
Törichte Annahmen über den Leser 21
Was Sie nicht lesen müssen 22
Wie dieses Buch aufgebaut ist 22
Teil I: Grundlegendes zu Rechnerarchitekturen 22
Teil II: Das Kernelement: Der Prozessor 22
Teil III: Das Konzept der Speicherhierarchie 23
Teil IV: Vom Nutzen der Parallelverarbeitung 23
Teil V: Der Top-Ten-Teil 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 24
Teil I: Grundlegendes zu Rechnerarchitekturen 25
Kapitel 1 Blick aus der Vogelperspektive 27
Das Zeitalter der Computer 27
Embedded Systems und Ubiquitous Computing 28
Klassen von Rechnern 30
Der Begriff 'Rechnerarchitektur' 33
Die Instruction Set Architecture (ISA) 34
Die Mikro-Architekturebene 38
Die Definition der Rechnerarchitektur aus meiner Sicht 38
Höchstintegration und die Grenzen des Wachstums 39
Steigerung der Anzahl der Transistoren auf einem Chip 39
Der Performance-Gap 42
Alternativen zur Steigerung der Taktrate 44
Fortschritte beim automatisierten Entwurf solcher Chips 45
Modellierungstechnik 47
Aufbaupläne (Instanzennetze) 48
Ablaufpläne (Petri-Netze) 51
Kapitel 2 Leistungsbewertung von Rechnern 55
Überblick über Leistungsmaße 56
MIPS und MFLOPS 57
Die Prozessorausführungszeit 58
Vereinfachung durch den CPI-Wert 61
Benchmarkprogramme 63
Das Gesetz von Amdahl 67
Teil II: Das Kernelement: Der Prozessor 71
Kapitel 3 Die von Neumann-Maschine 73
Die Komponenten eines von Neumann-Rechners 76
Der Prozessor 76
Die Ein-/Ausgabeeinheit 77
Der Hauptspeicher 78
Der Systembus 79
Charakteristika der von Neumann-Maschine 80
Interpretation der Informationskomponenten 80
Befehlszählerprinzip und die Abwicklung eines Programms 84
Prozesse und Strukturelemente in einem Rechner 87
Komponenten des Operationswerks 94
Speicherorganisation 104
Klassen von Prozessorarchitekturen 118
Das Steuerwerk 124
Kapitel 4 Programmiermodell und Assemblerprogrammierung 139
Charakteristische Merkmale der Hochsprachen-Programmierung 140
Charakteristische Merkmale der maschinennahen Programmierung 140
Das Programmiermodell 141
Assemblerprogrammierung 143
Der Befehlssatz des Prozessors 144
Adressierungsarten 150
Assemblerprogrammierung am Beispiel 158
Ablauf der Assemblierung 166
Unterprogrammtechnik 179
Kapitel 5 Kommunikation und Ausnahmeverarbeitung 193
Datenaustausch über den Systembus 193
Zeitverhalten am Systembus 194
Synchroner Bus 194
Semi-synchroner Systembus 197
Asynchroner Systembus 198
Bussysteme in der heutigen Praxis 202
Bus-Arbitration 203
Lokale Bus-Arbitration 203
Globale Bus-Arbitration 206
Priorisierung mehrerer Master 207
Zentrales Verfahren zur Busvergabe 207
Dezentrales Verfahren zur Busvergabe 208
Erweiterung des Prozessormodells 209
Ausnahmeverarbeitung 210
Einführung des Abwicklerverwalters 211
Klassifizierung von Unterbrechungen und Ausnahmeverarbeitungen 213
Priorisierung in einer Interruptebene 222
Modellierung des Hardware-Dispatchers 228
Ein-/Ausgabe-Interfaces und Synchronisation 234
Ein-/ Ausgabe-Interfaces 234
Informationelle Struktur eines Interface-Bausteins 235
Synchronisation mit peripheren Instanzen 236
Synchronisation durch Busy-Waiting 238
Synchronisation durch Programmunterbrechung 241
Synchronisation durch Handshake-Betrieb 241
Direkter Speicherzugriff DMA (Direct Memory Access) 243
Der DMA-Controller 246
Aufbau eines DMA-Controllers 247
Das Kommunikations-Interface PCI-Express 251
Teil III: Das Konzept der Speicherhierarchie 253
Kapitel 6 Speichersysteme im Rechner 255
Der optimale Rechner 255
Die Speicherhierarchie 257
Inhomogenität und Organisation der Speicherhierarchie 259
Lokalitätseigenschaften von Programmen 262
Prinzipieller Aufbau von Halbleiter-Speicherbausteinen 263
Festwertspeicher 264
Schreib-/Lesespeicher 265
Speicherzugriffe mittels Blockbuszyklen 271
Verschränkung von Speicherbänken (Interleaving) 272
Modularer Speicheraufbau 275
Organisation des Hauptspeichers 276
Praktische Ausprägung des Hauptspeicherzugriffs 278
Eine Lösung durch spezielle Chipsätze 280
Weitere Bausteintypen für Schreib-/Lesespeicher 283
Sekundärspeicher 285
Festplatten 286
Redundant Array of Inexpensive Disks (RAID) 288
Solid State Disks (SSD) 290
Unternehmensweite Speichersysteme (NAS und SAN) 290
Archivspeicher 292
Optische Plattenspeicher 292
Magnetbandspeicher 293
Kapitel 7 Cachespeicher 295
Das Problem der Zykluszeit 296
Die Idee des Cachings 296
Systemstrukturen für Caches 299
Look-aside-Cache 299
Look-through-Cache 300
Zugriff auf den Cachespeicher 301
Lesezugriffe 301
Schreibzugriffe 303
Die Idee des Assoziativspeichers 306
Verdrängungsstrategie und Alterungsinformation 308
Arbeitsweise des Cachespeichers 309
Trefferrate und Zugriffszeiten 309
Cache-Kohärenzproblem 310
Kohärenzproblem bei einem Cache-Hit 312
Kohärenzproblem bei Copy-back-Verfahren 312
Lösung des Kohärenzproblems 313
Strukturen von Cachespeichern 315
Der voll-assoziative Cachespeicher 316
Direkt zuordnender Cache (Direct-mapped Cache) 319
Mehrwege-Satz-assoziativer Cache (n-way Set-associative Cache) 322
Das MESI-Protokoll 325
Cachespeicher-Hierarchie 331
Kapitel 8 Virtuelle Speicherverwaltung 337
Die Idee des virtuellen Speichers 337
Das Problem der Speicherzuweisung 339
Die Memory Management Unit (MMU) 343
Zusammenfassung: Das Prinzip der virtuellen Speicherverwaltung 344
Segmentverwaltung 346
Das Seitenverfahren 356
Die zweistufige Adressumsetzung 365
Virtuelle und reale Cache-Adressierung 368
Virtuelle Cache-Adressierung 368
Reale Cache-Adressierung 370
Teil IV: Vom Nutzen der Parallelverarbeitung 373
Kapitel 9 Die Idee der Parallelisierung 375
Der Einfluss der Parallelisierung auf die Rechnerarchitektur 376
Charakteristika für eine Parallelisierung auf Hardwareebene 377
Mikroskopische oder makroskopische Parallelität 378
Symmetrische oder asymmetrische Strukturen 379
Feinkörnige oder grobkörnige Parallelität 380
Implizite oder explizite Parallelität 381
Typen paralleler Architekturen - die Taxonomie von Flynn 381
Single Instruction Single Data (SISD) 383
Single Instruction Multiple Data (SIMD) 383
Multiple Instruction Single Data (MISD) 384
Multiple Instruction Multiple Data (MIMD) 384
Performance von Multiprozessorsystemen und von Multicore-Prozessoren 386
Die Harvard-Architektur 389
CISC-Rechner und deren Probleme 389
Die Idee der RISC-Maschinen 390
Die Architektur eines RISC-Prozessors 391
Erweiterung der ALU um einen Bypass 395
Zusammenfassung 397
Synchronisation von Prozessen 398
Sequenzielle und parallele Prozesse 398
Gegenseitiger Ausschluss von Prozessen 400
Binäre Semaphore zur Synchronisation 402
Der Test-and-Set- Befehl für Semaphorvariablen 404
Kapitel 10 Fließbandverarbeitung 409
Die DLX-Pipeline 412
Leistungssteigerung durch Pipelining 415
Hardwarestruktur einer k-stufigen Pipeline 419
Pipeline-Hemmnisse 422
Datenabhängigkeiten 423
Lösung der Datenkonflikte 429
Strukturkonflikte 433
Lösungen von Strukturkonflikten 434
Steuerflusskonflikte 435
Kapitel 11 Parallele Pipelines und Superskalarität 441
Parallelisierung der Programmabwicklung 441
Pipelines mit mehreren Ausführungseinheiten 442
VLIW-Prozessoren 446
Superskalare Prozessoren 449
Prinzipielle Architektur einer superskalaren Pipeline 450
Sprungzielvorhersage 457
Statische Sprungzielvorhersage 459
Dynamische Sprungzielvorhersage 459
Superskalare Pipeline - eine Verbesserung 464
Core-Architektur 466
Leistungssteigerung durch Multithreading 468
Prozesse 468
Threads 469
Vorteile des Multithreading 470
Simultaneous Multithreading bei superskalaren Pipelines 474
Nachteile der auf Performance optimierten Prozessor-Hardware 475
Kapitel 12 Vom Prozessor zu Rechnersystemen 479
Cluster 480
Supercomputer 481
Grid Computing 482
Virtuelle Maschinen 484
Cloud Computing 486
Liefermodelle 487
Dienstleistungsmodelle 488
Kapitel 13 Die zukünftige Entwicklung 491
Taktfrequenzen und Miniaturisierung 491
Ein neuer Hoffnungsträger - Graphen 493
Nanotubes als Speichertechnologie 493
Optische Prozessoren 494
Architektur und Mikroarchitektur 495
Processing-in-Memory 496
Neuromorphe Hardware 497
Memristor 499
Quantencomputer 500
Qubits und Quantengatter 500
Superposition und Quantenparallelismus 501
Quantenverschränkung 503
Einsatzgebiete für Quantencomputer 505
Ein kurzes Resümee 506
Teil V: Der Top-Ten-Teil 507
Kapitel 14 Zehn Kernthemen zur Rechnerarchitektur 509
Höchstintegration für Rechnerchips 509
Die von Neumann-Architektur 510
Die Harvard-Architektur und die RISC-Maschinen 511
Die Instruction Set Architecture (ISA) 511
Die Speicherhierarchie 512
Cachespeicher 513
Virtueller Speicher 514
Fließbandverarbeitung 514
Superskalare Prozessoren 516
Quantencomputer 516
Kapitel 15 Mögliche Trugschlüsse 519
Assemblerprogrammierung ist immer schneller 519
Die übertragenen Daten pro Zeiteinheit 520
Lange Pipelines ergeben eine bessere Performance 520
Höhere Cache-Kapazität ergibt bessere Performance 521
Von Neumann-Architektur als Auslaufmodell 522
Multi-Prozessorsysteme sind stets performanter als Mono-Prozessorsysteme
522
Amdahls Gesetz bei parallelen Rechnern 523
Flash-Speicher statt Hauptspeicher 523
Multicore-Prozessoren in der Taxonomie von Flynn 524
Hoher Parallelitätsgrad bei Anwendungssoftware 524
Kapitel 16 Zehn Selbsttests zum Fachgebiet 527
Selbsttest zu Kapitel 1 527
Selbsttest zu Kapitel 2 und 3 528
Selbsttest zu Kapitel 4 529
Selbsttest zu Kapitel 4 und 5 529
Selbsttest zu Kapitel 3 und 6 530
Selbsttest zu Kapitel 9 und 10 531
Selbsttest zu Kapitel 10 und 11 531
Selbsttest zu Kapitel 7 und 11 532
Selbsttest zu Kapitel 8 533
Selbsttest zu Kapitel 13 533
Lösungen zu den Selbsttests 534
Wichtige Literatur 535
Abbildungsverzeichnis 537
Stichwortverzeichnis 545