Masterprojekt Rechnerarchitektur - Cheatsheet.pdf

Masterprojekt Rechnerarchitektur - Cheatsheet
Masterprojekt Rechnerarchitektur - Cheatsheet Pipeline-Design und -Optimierung Definition: Prozess zur Minimierung von Konflikten und Maximierung des Durchsatzes in Pipeline-Architekturen. Details: Ziele: erhöhen der Instruktionsrate (throughput), Reduzieren der Latenz Branch Prediction: Vermeidung von Pipeline-Stalls durch Wahrscheinlichkeitsberechnung Hazard-Mitigation: Daten-, Steuer-, und stru...

© StudySmarter 2024, all rights reserved.

Masterprojekt Rechnerarchitektur - Cheatsheet

Pipeline-Design und -Optimierung

Definition:

Prozess zur Minimierung von Konflikten und Maximierung des Durchsatzes in Pipeline-Architekturen.

Details:

  • Ziele: erhöhen der Instruktionsrate (throughput), Reduzieren der Latenz
  • Branch Prediction: Vermeidung von Pipeline-Stalls durch Wahrscheinlichkeitsberechnung
  • Hazard-Mitigation: Daten-, Steuer-, und strukturelle Hazards adressieren
  • Datenweiterleitung (Forwarding/Bypassing): Direktes Weiterleiten der Ergebnisse anstatt auf Speicherzugriff zu warten
  • Superskalare Ausführung: mehrere Instruktionen pro Taktzyklus ausführen

Multi-Core und Many-Core Prozessoren

Definition:

Multi-Core: Prozessor mit mehreren Rechenkernen, die parallel arbeiten; Many-Core: Prozessoren mit einer sehr großen Anzahl an Kernen für massive Parallelverarbeitung.

Details:

  • Hardware: Mehrere unabhängige Kerne auf einem Chip
  • Erhöhte Leistung und Effizienz durch parallele Verarbeitung
  • Multi-Core: typischerweise 2-16 Kerne
  • Many-Core: 10 bis hunderte Kerne
  • Anwendungsgebiete: große Datenmengen, wissenschaftliche Berechnungen
  • Herausforderungen: Thread-Verwaltung, Synchronisation, Speicherzugriffe

Leistungsmessinstrumente und -metriken

Definition:

Werkzeuge und Methoden zur Messung der Performance von Rechnerarchitekturen.

Details:

  • Typische Metriken:
    • Durchsatz (\textit{Throughput})
    • Latenz (\textit{Latency})
    • Zyklen pro Instruktion (CPI)
  • Wichtige Instrumente:
    • Profiler wie \textit{gprof}
    • Tracing-Tools wie \textit{LTTng}
    • Hardware-Performance-Counter
  • Metriken zur Effizienzbewertung:
    • FLOPS (Floating Point Operations Per Second)
    • MIPS (Million Instructions Per Second)

Speicherhierarchien und Caches

Definition:

Speicherhierarchien minimieren Latenzen und steigern die Effizienz. Cache speichert häufig benötigte Daten nahe der CPU.

Details:

  • Hierarchieebenen: Register, Cache (L1, L2, L3), Hauptspeicher, Sekundärspeicher
  • Cache-Kohärenz: Wichtig in Multi-Core-Systemen
  • Cache Mapping: Direkt, vollassoziativ, Satzassoziativ
  • Cache Miss-Typen: Cold, Conflict, Capacity Miss
  • Wichtige Formeln:

Inter-Prozessor-Kommunikation und Synchronisation

Definition:

Inter-Prozessor-Kommunikation und Synchronisation (IPC) ist essentiell für die Koordination und Datenübertragung zwischen mehreren Prozessoren in einem parallelen oder verteilten System.

Details:

  • Mechanismen: Shared Memory, Message Passing
  • Synchronisation: Methoden zur Vermeidung von Konflikten und zur Koordination der Ausführung (z.B. Semaphoren, Mutexes)
  • Wichtige Protokolle: MPI (Message Passing Interface), OpenMP
  • Kritische Abschnitte erfordern Sperren (Locks)
  • Problem: Race Conditions
  • Vermeidung von Deadlocks: Bedingungen/Strategien beachten

Co-Design-Methodologien

Definition:

Ansatz zur gleichzeitigen Entwicklung von Hardware und Software, um die Gesamtleistung und Effizienz zu optimieren.

Details:

  • Optimierung des Zusammenspiels von Hardware und Software
  • Iterativer Prozess zwischen Hardware- und Softwareentwicklung
  • Verwendung von Modellierungen und Simulationen
  • Fördert enge Zusammenarbeit verschiedener Teams
  • Ziel: Leistung, Energieverbrauch und Kosten minimieren

Neuromorphe Rechnerarchitektur

Definition:

Neuromorphe Rechnerarchitektur emuliert die neuronale Struktur und Funktion des menschlichen Gehirns durch Hardwaredesign und spezielle Algorithmen.

Details:

  • Basiert auf dem Konzept der Spiking Neural Networks (SNNs)
  • Verwendet spezielle synaptische Knoten und Neuronen-Arrays
  • Hochgradig parallel und energieeffizient
  • Anwendungsbereiche: Mustererkennung, KI, Sensorik
  • Beispiel: IBM TrueNorth, Intel Loihi
  • Wichtige Parameter: Latenz, Durchsatz, Energieverbrauch

Benchmarking und Profiling

Definition:

Benchmarking vergleicht die Leistung verschiedener Systeme oder Komponenten unter kontrollierten Bedingungen. Profiling analysiert das Laufzeitverhalten eines Programms, um Engpässe und Optimierungsmöglichkeiten zu identifizieren.

Details:

  • Benchmarking: Messung der Leistungsfähigkeit durch standardisierte Tests
  • Profiling: Detaillierte Analyse des Programmablaufs und Ressourcennutzung
  • Ziel: Leistungssteigerung und Effizienzverbesserung
  • Tools: z.B. gprof, Valgrind, perf
  • Wichtige Metriken: Laufzeit, Speicherauslastung, CPU-Nutzung
  • Vermeidung von Flaschenhalsen und Leistungsproblemen
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