CPU Entwurf mit VHDL (CPU) - Cheatsheet.pdf

CPU Entwurf mit VHDL (CPU) - Cheatsheet
CPU Entwurf mit VHDL (CPU) - Cheatsheet Syntax und Struktur von VHDL Definition: Grundlegende Regeln und Konventionen, die bestimmen, wie VHDL-Code geschrieben wird, um eine korrekte Beschreibung und Simulation digitaler Schaltungen zu ermöglichen. Details: Entity: Definiert die Schnittstelle einer VHDL-Komponente Architecture: Beschreibt das Verhalten und die Struktur der Komponente Jede VHDL-Dat...

© StudySmarter 2024, all rights reserved.

CPU Entwurf mit VHDL (CPU) - Cheatsheet

Syntax und Struktur von VHDL

Definition:

Grundlegende Regeln und Konventionen, die bestimmen, wie VHDL-Code geschrieben wird, um eine korrekte Beschreibung und Simulation digitaler Schaltungen zu ermöglichen.

Details:

  • Entity: Definiert die Schnittstelle einer VHDL-Komponente
  • Architecture: Beschreibt das Verhalten und die Struktur der Komponente
  • Jede VHDL-Datei beginnt mit der library- und use-Anweisung
  • Signale: Werden zur Kommunikation zwischen verschiedenen Teilen einer Architektur verwendet
  • Prozesse: Blöcke, die sequentielle Anweisungen enthalten
  • Klauseln: VHDL verwendet Klauseln wie if und case für Kontrollstrukturen

Kombinatorische und sequentielle Schaltungen

Definition:

Kombinatorische Logik: Ausgang nur von aktuellen Eingängen abhängig. Sequentielle Logik: Ausgang von aktuellen Eingängen und Speicherzustand abhängig.

Details:

  • Kombinatorische Schaltungen: Keine Speicherung der Zustände, z.B. Addierer, Multiplexer.
  • Sequentielle Schaltungen: Nutzung von Flip-Flops/Latches für Zustandsspeicherung, z.B. Register, Zähler.
  • Kombinatorische Funktion: \[ Y = f(A, B, C, ...) \]
  • Sequentielle Funktion: \[ Y(t+1) = f(Y(t), A, B, C, ...) \]
  • Kombinieren: Sequentielle Systeme enthalten meist kombinatorische Schaltungen.

Von-Neumann-Architektur vs. Harvard-Architektur

Definition:

Unterschied zwischen Von-Neumann- und Harvard-Architektur - zentrales Konzept im CPU-Design.

Details:

  • Von-Neumann-Architektur:
    • Ein Speicher für Programme und Daten.
    • Risiko von Daten- und Befehls-Konflikten.
    • (\text{Single von Neumann bottleneck})
  • Harvard-Architektur:
    • Getrennte Speicher für Programme und Daten.
    • Erhöhte Datenrate durch parallelen Zugriff.
    • Komplexeres Design und höherer Speicherbedarf.

Pipeline-Prozessoren und deren Implementierung

Definition:

Optimierung der CPU-Leistung durch parallele Ausführung von Instruktionen in mehreren Stufen.

Details:

  • Pipeline-Stufen: Fetch, Decode, Execute, Memory, Write-back
  • Data-Hazards: RAW, WAR, WAW
  • Control-Hazards und Branch-Prediction
  • Forwarding/Bypassing zur Vermeidung von Stalls
  • VHDL-Implementierung: Einteilung der Pipeline-Stufen in Prozesse
  • Pipeline-Register: Speicherung von Zwischenständen zwischen den Stufen
  • Stalls und Flushing: Techniken zur Theorie und Praxis der Pipeline-Implementierung

Funktions- und Timing-Simulation

Definition:

Simulation zur Überprüfung von Designfunktionalität und Timing-Spezifikationen eines digitalen Schaltungselements (z.B. CPU) in VHDL.

Details:

  • Funktionssimulation prüft Logik des Designs ohne Timing-Effekte.
  • Timing-Simulation berücksichtigt Verzögerungen durch Gatter- und Pfadlatenzen.
  • Typisch in der Entwicklungsphase nach der Synthese und vor dem FPGA/ASIC-Implementierung.
  • Essentiell zum Auffinden und Beheben von Timing-Fehlern und logischen Fehlern.
  • Nutzung von Simulationswerkzeugen wie ModelSim, Vivado oder ähnlichen.

Instruktionssatzarchitekturen (ISAs)

Definition:

Beschreibt die Schnittstelle zwischen Software und Hardware der CPU.

Details:

  • Zwei Haupttypen: RISC (Reduced Instruction Set Computing) und CISC (Complex Instruction Set Computing)
  • Bestimmt Instruktionsformate, Adressierungsmodi und Registersatz
  • Einfluss auf Leistung, Energieverbrauch und Komplexität der CPU
  • Beispiele: x86, ARM, MIPS
  • VHDL zur Modellierung und Simulation von ISAs in CPU-Entwürfen

Entwurf von Zustandsautomaten

Definition:

Entwurf von Zustandsautomaten: Prozess zur Entwicklung von Systemen, die Zustände basierend auf Eingaben ändern.

Details:

  • Ein Zustandsautomat besteht aus Zuständen, Übergängen, Eingaben und Ausgaben.
  • Darstellung durch Zustandsdiagramme und Zustandsübergangstabellen.
  • Möglichst wenige Zustände definieren zur Minimierung der Komplexität.
  • Implementierung in VHDL: state_type für Zustandsdefinition, process als Zustandsübergangslogik.
  • Zustandsübergang: \texttt{if rising_edge(clk) then ...}
  • Beispielzustände: Idle, Read, Write

Speicherhierarchien und Cachestrukturen

Definition:

Speicherhierarchien optimieren den Datenzugriff durch unterschiedliche Speicherebenen; Cachestrukturen minimieren den Zugriff auf langsamere Speicher

Details:

  • Speicherhierarchie: Register, Cache, Hauptspeicher, Massenspeicher
  • Cache-Typen: L1, L2, L3
  • Cache-Hitrate: Maß für erfolgreiche Zugriffe \text{(Cache Hits / Zugriffe)}
  • Cache-Kohärenz: Konsistenz paralleler Caches sicherstellen
  • Cache-Ersatzstrategien: LRU, FIFO
  • Schreibstrategien: Write-Through, Write-Back
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden