Rechnerarchitektur
Übersicht:
In dieser Vorlesung erfolgt eine Einführung in das Gebiet der Rechnerarchitektur.
Dabei werden besonders die Berwerung der Leistung von Rechnersystemen und
die Möglichkeiten der Leistungssteigerung behandelt.
Gliederung:
- Technologische Entwicklung:
Prozessor- und Speicherentwicklung, Treibende Kräfte der Mikroelektronik,
Grenzen der Technologie
- Begriffsbildung:
Teilbereiche und Ebenen der Rechnerarchitektur,
Aufgaben und Ziele der Rechnerarchitektur
- Bewertung der Leistung von Rechnersystemen:
Definition der Leistung, MIPS, FLOPS, Benchmarks, Amdahlsches Gesetz
- Befehlssätze:
Adressierung von Operanden, Speicheradressierung, Compileroptimierungen
- RISC und CISC:
Historische Entwicklung, Unterschiede, Bewertung
- Pipelining und Superskalarität:
Leistungssteigerung durch Pipelining, Pipelinekonflikte
- Behandlung von Sprüngen:
Statische und dynamische Sprungvorhersage, Sprungzielvorhersage,
Unterprogramme (Call-Return-Stapel)
- Neue Parallelisierungskonzepte:
Scoreboarding, Register Renaming, Probleme bei Unterbrechungen
- Prinzipien beim Speicherentwurf:
Lokalität, Speicherhierarchie
- Caches:
Plazierungsstrategien, Ersetzungsstrategien, Cache-Kohärenzprobleme
- Cache-Konsistenzverfahren für Parallelrechnerarchitekturen:
Prinzipien, Standard-Protokolle, MESI-Protokoll
- Virtueller Speicher:
Seiten und Segmente, Adressumsetzpuffer, Virtueller Speicher und Caches
- Beispiele moderner Mikroprozesoren:
PENTIUMTM-Familie, Sun Sparc, PowerPC
Literatur:
- J.L. Hennessy, D.A. Patterson:
"Computer Architecture: A Quantitative Approach", Morgan Kaufman (1996)
- D.A. Patterson, J.L. Hennessy:
"Computer Organisation & Design: The Hardware - Software Interface",
Morgan Kaufmann (1994)
- Märtin:
"Rechnerarchitektur", Hanser Studienbücher der Informatik (1994)
- K. Hwang:
"Advanced Computer Architecture", McGraw Hill (1993)
- J.M. Feldman:
"Computer Architecture", McGraw Hill (1994)