Files
TI-Studium-Mitschriften/Semester 6/COMARCH/Zusammenfassung/Vorlesung Kompakt.md
2025-07-07 19:57:44 +02:00

5.1 KiB
Raw Blame History

📘 Kompaktes Lernskript: Computerarchitektur (alle 13 Vorlesungen)


1 Einführung Computerarchitektur

  • Computerarchitektur: Sicht des Programmierers (ISA, Speicher, I/O)

  • Computerorganisation: Umsetzung auf Hardware-Ebene (Mikroarchitektur)

  • Von-Neumann-Architektur:

    • Gemeinsamer Speicher für Daten & Programme

    • Vorteil: Einfachheit; Nachteil: Von-Neumann-Flaschenhals

  • Harvard-Architektur:

    • Trennung von Daten- und Programmspeicher
  • Abstraktionsebenen:

    • Ebene 0: Digitale Logik

    • Ebene 1: Mikroarchitektur

    • Ebene 2: ISA

    • Ebene 3: Betriebssystem

    • Ebene 4: Assemblersprache

    • Ebene 5: Hochsprachen

  • Historie: Zuse Z3 → ENIAC → IBM System/360 → Intel 4004 → ARM


2 Architekturen

  • RISC vs. CISC:

    Merkmal RISC CISC
    Befehlssatz Einfach, gleich lang Komplex, unterschiedliche Länge
    Hardware Einfach Komplex
    Beispiele ARM, MIPS x86 (Intel, AMD)
  • Befehlssatztypen:

    • Stack, Akkumulator, Register-Memory, Load/Store
  • Moores Law: Verdopplung der Transistorzahl alle ~18 Monate

  • Leistungskennzahlen: MIPS, FLOPS, CPI, IPC


3 Schaltnetze & Endliche Automaten

  • Schaltnetz: stateless, keine Rückkopplung

  • Endlicher Automat (FSM): stateful, mit Rückkopplung

  • Flip-Flops: Zustandspeicher, getaktet

  • DEA: Zustandslogik + Zustandspeicher + Takt


4 Prozessor (Teil 1)

  • MIPS-ISA:

    • R-Typ: add $s1, $s2, $s3

    • Load/Store: lw, sw

    • Branch: beq, bne

  • CPU-Leistungsformel:

    CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT

  • Datenpfad-Bausteine: ALU, Registerfile, Steuerwerk


5 Prozessor (Teil 2)

  • Steuersignale:

    • MemtoReg, RegWrite, ALUSrc, Branch, Jump
  • ALU Control: Bestimmt Operation aus Opcode + Funct

  • Erweiterter Datenpfad: Unterstützung für Jumps & Branches


6 Pipelining

  • 5 Pipeline-Stufen: IF → ID → EX → MEM → WB

  • Vorteil: Erhöhter Durchsatz, gleiche Latenz

  • Hazards:

    • Strukturell

    • Datenhazards: Forwarding, Stalls

    • Kontrollhazards: Branch Prediction (Static/Dynamic)


7 Pipelining: Datapath & Control

  • Forwarding: Bypassing von EX/MEM, MEM/WB

  • Load-Use Hazard: 1-Stall einfügen

  • Branch Prediction:

    • 1-Bit, 2-Bit Predictors

    • Branch Target Buffer (BTB)


8 Pipelining: Exceptions, Interrupts & ILP

  • Exceptions: Fehler innerhalb CPU → EPC speichert PC

  • Interrupts: externe Ereignisse

  • ILP:

    • Static (VLIW) vs. Dynamic (Superscalar)

    • Speculation: Branch & Load Speculation

    • Register Renaming: Verhindert WAW & WAR


9 Intel vs. ARM

Feature ARM Cortex-A8 Intel Core i7
Planung Statisch, in-order Dynamisch, out-of-order
TDP 2 W 130 W
Max Instr./Takt 2 4

🔟 Speicheranbindung

  • Speicherhierarchie: Register → Cache → RAM → SSD/HDD

  • Caches:

    • Direct-Mapped, Set-Associative, Fully-Associative

    • Write-Through vs. Write-Back

    • AMAT:

      AMAT=HitTime+MissRate×MissPenaltyAMAT = HitTime + MissRate \times MissPenalty

  • Cache Blocking: Optimiert Speicherzugriffe


11 Assembler

  • Assembler: Übersetzt Assemblersprache → Maschinencode

  • Zwei-Pass-Assembler: Symboltabelle, Opcode-Tabelle

  • Linker: Relokation & externe Referenzen

  • Makros: Ersetzung bei Übersetzung

  • Dynamisches Binden: DLL (Windows), SO (Unix)


12 Compiler

  • Compiler-Phasen:

    1. Lexikalische Analyse

    2. Syntaktische Analyse (AST)

    3. Semantische Analyse

    4. Zwischencode (3-Adress-Code)

    5. Optimierung (lokal, global)

    6. Codegenerierung

  • Optimierungstechniken: Loop Unrolling, Constant Folding, Dead Code Elimination

  • Tools: cc -E, cc -S, cc -c, cc -o


13 Zuverlässigkeit & Virtualität

  • Zuverlässigkeit:

    Availability=MTTFMTTF+MTTRAvailability = \frac{MTTF}{MTTF + MTTR}

  • Hamming-Codes: SEC/DED, ECC DRAM

  • Virtuelle Maschinen (VMs):

    • Vorteile: Isolation, Sicherheit

    • VMM: verwaltet Ressourcen, Traps für privilegierte Instruktionen

  • Virtueller Speicher:

    • Page Tables, TLB, Page Fault Handling
  • Cache-Kohärenz:

    • Snooping, Directory-basierte Protokolle

💡 Merke: Prinzip der Lokalität & Speicherhierarchie sind Schlüsselthemen für Performance!