Rechnerarchitektur - Cheatsheet
Logische Gatter und deren Funktion
Definition:
Basiskomponenten in digitalen Schaltungen, führen boolesche Operationen durch. Werden in CPUs, Speicher und anderen digitalen Systemen verwendet.
Details:
- Grundtypen: UND-Gatter (\textbf{AND}), ODER-Gatter (\textbf{OR}), NICHT-Gatter (\textbf{NOT})
- Kombinationen: NAND, NOR, XOR, XNOR
- Operationen mit Wahrheitstabellen beschrieben
- Schaltalgebra: boolesche Ausdrücke formulieren
Von-Neumann-Architektur vs. Harvard-Architektur
Definition:
Vergleich von Computersystemen basierend auf der Speichertrennung (Harvard) versus gemeinsamer Speicher für Daten und Programme (Von-Neumann).
Details:
- Von-Neumann-Architektur:
- Speicher für Daten und Programme ist einheitlich
- Sequentielle Befehlsverarbeitung
- Flaschenhals: Gemeinsamer Bus für Daten und Anweisungen
- Harvard-Architektur:
- Getrennte Speicher für Daten und Programme
- Parallelere Zugriffsmöglichkeiten
- Weniger Flaschenhals, höhere Datendurchsatzrate
Microoperationen und Pipelining
Definition:
Microoperationen sind elementare Operationen, die eine CPU innerhalb eines Taktsignals durchführt. Pipelining ist eine Technik, bei der mehrere Microoperationen gleichzeitig in verschiedenen Phasen eines Befehlsausführungszyklus ausgeführt werden, um die Gesamteffizienz zu steigern.
Details:
- Microoperationen: Kleinste Einheiten der Befehlsausführung (z.B. Addieren, Laden), synchronisiert durch einen Takt.
- Pipelining: Überlappende Ausführung von Befehlen, aufgeteilt in Phasen (Fetch, Decode, Execute, Memory, Writeback).
- Pipeline-Stufen: Jede Phase führt einen Teil der Befehlsverarbeitung durch.
- Hazards: Probleme wie Daten-, Kontroll-, und Strukturhazards, die den Fluss in der Pipeline stören können.
- Techniken zur Hazard-Vermeidung: Forwarding, Stalling, Branch Prediction.
- Ziel: Maximierung der Befehlsdurchsatz und Minimierung der Wartezeiten.
Speicherarten und -organisation (RAM, ROM, Cache, etc.)
Definition:
Verschiedene Typen von Speicher in einem Rechner, unterschiedliche Eigenschaften und Einsatzgebiete.
Details:
- RAM (Random Access Memory): flüchtiger Speicher, schneller Zugriff, genutzt für temporäre Daten.
- ROM (Read-Only Memory): nicht-flüchtiger Speicher, enthält permanente Daten und Firmware.
- Cache: sehr schneller Zwischenspeicher, hält häufig benötigte Daten um Zugriffszeiten zu minimieren.
- Speicherorganisation: bezieht sich auf die Anordnung und Verwaltung der verschiedenen Speicherarten im System.
Unterbrechungs- und DMA-Mechanismen
Definition:
Mechanismus zur Verarbeitung von Ein-/Ausgabereignissen in Rechnerarchitekturen.
Details:
- Unterbrechung: Signal an CPU, um normale Ausführung zu stoppen und ISR auszuführen.
- ISR (Interrupt Service Routine): Programm, das bei einer Unterbrechung ausgeführt wird.
- DMA (Direct Memory Access): Methode, mit der Daten direkt zwischen Speicher und Peripheriegeräten übertragen werden, ohne CPU zu belasten.
- DMA-Controller: Verwaltung der DMA-Vorgänge.
- Vorteil von DMA: Ermöglicht CPU, andere Aufgaben parallel zu bearbeiten.
- Unterbrechung: Priorisierung und Maskierung möglich.
Pipeline-Stufen und deren Funktionen
Definition:
Pipeline-Stufen in der Rechnerarchitektur unterteilen den Befehlszyklus in mehrere Phasen, um parallele Bearbeitung und Leistungssteigerung zu ermöglichen.
Details:
- Instruction Fetch (IF): Laden des nächsten Befehls aus dem Speicher.
- Instruction Decode (ID): Decodierung des Befehls und Lesen der Register.
- Execute (EX): Ausführung der Operation oder Berechnung der Speicheradresse.
- Memory Access (MEM): Lesen oder Schreiben aus/zu Speicher (bei Speicheroperationen).
- Write Back (WB): Zurückschreiben des Ergebnisses in das Register.
Cache-Kohärenz und -Timing
Definition:
Sicherstellung der Konsistenz von Daten in mehreren Caches und das rechtzeitige Verfügbarmachen dieser Daten.
Details:
- Cache-Kohärenz: Jeder Prozessor sieht den gleichen Wert für eine bestimmte Speicherposition.
- MSI/MESI-Protokolle: Zustandsübergänge zur Aufrechterhaltung der Kohärenz.
- Cache-Timing: Beeinflusst durch Cache-Hierarchie, Zugriffszeiten, und Latenz.
- Schreibstrategien: Write-through vs. Write-back.
- Synchronisation: Notwendig für zeitlich korrektes Zusammenspiel der Caches.
Branch Prediction und Sprungvorhersagen
Definition:
Techniken zur Vorhersage des Verlaufs von bedingten Sprüngen, um Pipeline-Stalls in Prozessoren zu minimieren.
Details:
- Zwei-Level-Vorhersage: Global History Table (GHT) und Pattern History Table (PHT)
- Lokale und globale Sprungvorhersagemethoden
- Vorhersagegenauigkeit: Mis-Prediction Rate (\textit{MPR})
- Branch Target Buffer (BTB) zur Adressvorhersage