lehrerbibliothek.deDatenschutzerklärung
Computerarchitektur
Computerarchitektur




Nicholas P. Carter

mitp-Verlag
EAN: 9783826609077 (ISBN: 3-8266-0907-7)
320 Seiten, paperback, 17 x 24cm, 2002

EUR 19,95
alle Angaben ohne Gewähr

Umschlagtext
Diese millionenfach bewährte Studienunterlage ist einfach ideal zum schnellen Erlernen von komplexen Sachverhalten und zur effektiven Prüfungsvorbereitung. Detaillierte Beispiele sowie viele Aufgaben und Musterlösungen liefern optimale Ergebnisse. Step-by-Step-Erläuterungen ohne überflüssigen Ballast führen Sie auf direktem Wege zu den gewünschten Lernzielen.



Highlights:

• Überblick über die Hard- und Software-Designelemente in Computersystemen

• Prägnante Erläuterung der Schnittstelle zwischen Hard- und Software

• Lückenlose Details zur effizienten Nutzung von Systemressourcen

• Zahlreiche Aufgaben inklusive Lösungen zu Befehlssätzen, Pipelines, Caches, Speichersystemen sowie zur Ein-/Ausgabe



Aus dem Inhalt:

Einleitung • Darstellung von Daten und Computerarithmetik • Aufbau von Computern • Programmiermodelle • Prozessordesign • Pipelines • Parallelverarbeitung auf Anweisungsebene • Speichersysteme • Caches • Virtueller Speicher • Ein-/Ausgabe • Multiprozessorsysteme
Inhaltsverzeichnis
Vorwort

1 Einleitung

1.1 Wozu dieses Buch?
1.2 Welchen Hintergrund sollten Sie mitbringen?
1.3 Was umfasst dieses Buch?
1.4 Lernziele
1.5 Die technologische Entwicklung
1.6 Leistungsmaßstäbe
1.6.1 MIPS
1.6.2 CPI/IPC
1.6.3 Benchmarks
1.6.4 Geometrisches und arithmetisches Mittel
1.7 Beschleunigung
1.8 Amdahls Gesetz
1.9 Zusammenfassung
1.10 Aufgaben mit Losungen

2 Darstellung von Daten und Computerarithmetik
2.1 Lernziele
2.2 Vom Elektron zum Bit
2.3 Die binäre Darstellung von positiven Ganzzahlen
2.4 Arithmetische Operationen mit positiven Ganzzahlen
2.4.1 Addition/Subtraktion
2.4.2 Multiplikation
2.4.3 Division
2.4.4 Überlauf/Unterlauf
2.5 Negative Ganzzahlen
2.5.1 Darstellung mit Betrag und Vorzeichen
2.5.2 Zweierkomplement-Schreibweise
2.5.3 Vorzeichenerweiterung
2.6 Fließkommazahlen
2.6.1 NaNs und denormalisierte Zahlen
2.6.2 Arithmetische Operationen mit Fließkommazahlen
2.7 Zusammenfassung
2.8 Aufgaben mit Lösungen

3 Der Aufbau von Computern
3.1 Lernziele
3.2 Einführung
3.3 Programme
3.3.1 Werkzeuge zur Programmentwicklung
3.4 Betriebssysteme
3.4.1 Multitasking
3.4.2 Schutz
3.4.3 Privilegierter Modus
3.5 Computerorganisation
3.5.1 Der Prozessor
3.5.2 Der Speicher
3.5.3 Das Ein-/Ausgabe-Teilsystem
3.6 Zusammenfassung
3.7 Aufgaben mit Lösungen

4 Programmiermodelle
4.1 Lernziele
4.2 Einführung
4.3 Arten von Anweisungen
4.3.1 Arithmetische Operationen
4.3.2 Speicheroperationen
4.3.3 Vergleiche
4.3.4 Steuerungsoperationen
4.4 Stackbasierte Architekturen
4.4.1 Der Stack
4.4.2 Implementieren von Stacks
4.4.3 Anweisungen in einer stackbasierten Architektur
4.4.4 Der stackbasierte Anweisungssatz
4.4.5 Programme in einer stackbasierten Architektur
4.5 General-Purpose-Register-Architekturen
4.5.1 Anweisungen in einer GPR-Architektur
4.5.2 Ein Anweisungskatalog für GPR
4.5.3 Programme in einer GPR-Architektur
4.6 Stackbasierte und GPR-Architekturen im Vergleich
4.7 Verwendung des Stacks zur Implementierung von Prozeduraufrufe
4.7.1 Konventionen für Prozeduraufrufe
4.8 Zusammenfassung
4.9 Aufgaben mit Lösungen

5 Prozessordesign
5.1 Lernziele
5.2 Einführung
5.3 Architektur des Anweisungssatzes
5.3.1 RISC und CISC im Vergleich
5.3.2 Adressierungsmodi
5.3.3 Vektoranweisungen für Multimediaanwendungen
5.3.4 Anweisungskodierung mit fester und variabler Länge
5.4 Mikroarchitektur von Prozessoren
5.4.1 Ausführungseinheiten
5.4.2 Mikroprogrammierung
5.4.3 Entwurf von Registerdateien
5.5 Zusammenfassung
5.6 Aufgaben mit Lösungen

6 Pipelines
6.1 Lernziele
6.2 Einführung
6.3 Pipelines
6.3.1 Zyklusdauer von Pipeline-Prozessoren
6.3.2 Latenzzeit von Pipelines
6.4 Anweisungsabhängigkeiten und ihr Einfluss auf den Durchsatz
6.4.1 Verzweigungen
6 4.2 Strukturelle Abhängigkeiten
6.4.3 Scoreboards
6.5 Vorhersagen der Ausführungszeit in Pipeline-Prozessoren
6.6 Weiterleiten von Ergebnissen (Bypassing)
6.7 Zusammenfassung
6.8 Aufgaben mit Lösungen

7 Parallelverarbeitung auf Anweisungsebene
7.1 Lernziele
7.2 Einführung
7.3 Was ist Parallelverarbeitung auf Anweisungsebene?
7.4 Grenzen der Parallelverarbeitung auf Anweisungsebene
7.5 Superskalare Prozessoren
7.6 Ausführung in und außerhalb der Reihenfolge im Vergleich
7.6.1 Vorhersagen der Ausführungszeiten bei reihenfolgentreuen Prozessoren
7.6.2 Vorhersagen der Ausführungszeiten bei nicht reihenfolgentreuen Prozessoren
7.6.3 Implementierungsfragen bei nicht reihenfolgentreuen Prozessoren
7.7 Umbenennen von Registern
7.8 VLI W-Prozessoren
7.8.1 Vor- und Nachteile von VLIW
7.9 Kompilationstechniken für die Parallelverarbeitung auf Anweisungsebene
7.9.1 Auflösen von Schleifen
7.9.2 Softwarepipelines
7.10 Zusammenfassung
7.11 Aufgaben mit Lösungen

8 Speichersysteme
8.1 Lernziele
8.2 Einführung
8.3 Latenz, Durchsatz und Bandbreite
8.3.1 Pipelines, Parallelverarbeitung und Vorabladen
8.4 Speicherhierarchien
8.4.1 Hierarchieebenen
8.4.2 Terminologie
8.4.3 Durchschnittliche Zugriffszeit
8.5 Speichertechnologien
8.5.1 Der Aufbau von Speicherchips
8.5.2 SRAM
8.5.3 DRAM
8.5.4 DRAM-Refresh
8.5.5 DRAM-Zugriffstiming
8.5.6 Seitenmodus und moderne DRAMs
8.6 Zusammenfassung
8.7 Aufgaben mit Lösungen

9 Caches
9.1 Lernziele
9.2 Einführung
9.3 Daten-, Anweisungs- und einheitliche Caches
9.4 Beschreibung von Caches
9.5 Kapazität
9.6 Zeilenlänge
9.7 Assoziativität
9.7.1 Rein assoziative Caches
9.7.2 Direkt zugeordnete Caches
9.7.3 Mengenassoziative Caches
9.8 Ersetzungsrichtlinien
9.9 Write-Back- und Write-Through-Caches im Vergleich
9.10 Implementierungen von Caches
9.11 Tag-Arrays
9.12 Fehler/Treffer-Logik
9.13 Daten-Arrays
9.14 Einteilung von Cache-Fehlern
9.15 Caches mit mehreren Ebenen
9.16 Zusammenfassung
9.17 Aufgaben mit Lösungen

10 Virtueller Speicher
10.1 Lernziele
10.2 Einführung
10.3 Adressübersetzung
10.4 Bedarfsweiser Seitenabruf und Auslagerung im Vergleich
10.5 Seitentabellen
10.5.1 Seitentabellen mit mehreren Ebenen
10.5.2 Invertierte Seitentabellen
10.6 Vorgriffspuffer für die Übersetzung
10.6.1 TLB- und Seitenfehler im Vergleich
10.6.2 Der Aufbau von TLBs
10.6.3 Seitenblöcke
10.7 Schutz
10.8 Caches und der virtuelle Speicher
10.9 Zusammenfassung
10.10 Aufgaben mit Lösungen

11 Ein-/Ausgabe
11.1 Lernziele
11.2 Einführung
11.3 E/A-Busse
11.3.1 Zugreifen auf den E/A-Bus
11.4 Interrupts
11.4.1 Implementieren von Interrupts
11.4.2 Prioritäten von Interrupts
11.4.3 Polling und Interrupts im Vergleich
11.5 Speicherkonforme EinVAusgabe
11.6 Direkter Speicherzugriff (DMA)
11.7 E/A-Geräte
11.8 Festplattensysteme
11.8.1 Aufbau einer Festplatte
11.8.2 Bearbeitungsreihenfolge von Anforderungen
11.9 Zusammenfassung
11.10 Aufgaben mit Lösungen

12 Multiprozessorsysteme
12.1 Lernziele
12.2 Einführung
12.3 Beschleunigung und Leistung
12.3.1 Grenzen der Beschleunigung
12.3.2 Superlineare Beschleunigung
12.4 Mehrprozessorsysteme
12.5 Systeme mit Meldungsweitergabe
12.6 Shared-Memory-Systeme
12.6.1 Speicherkonsistenzmodelle
12.6.2 Strenge Konsistenz
12.6.3 Cache-Kohärenz
12.6.4 Das MESI-Protokoll
12.6.5 Busbasierte Systeme mit Shared-Memory
12.6.6 Synchronisierung
12.7 Meldungsweitergabe und Shared-Memory im Vergleich
12.8 Zusammenfassung
12.9 Aufgaben mit Lösungen

Index