Grundlagenpraktikum: Rechnerarchitektur - Cheatsheet.pdf

Grundlagenpraktikum: Rechnerarchitektur - Cheatsheet
Grundkomponenten eines Computersystems Definition: Grundlegende Einheiten, die für das Funktionieren eines Computers unerlässlich sind. Details: CPU (Central Processing Unit): Hauptprozessor, führt Berechnungen durch RAM (Random Access Memory): flüchtiger Speicher, speichert temporäre Daten und Programme Massen-/Sekundärspeicher : nicht-flüchtiger Speicher für permanente Daten, z.B. Festplatte, SS...

© StudySmarter 2024, all rights reserved.

Grundkomponenten eines Computersystems

Definition:

Grundlegende Einheiten, die für das Funktionieren eines Computers unerlässlich sind.

Details:

  • CPU (Central Processing Unit): Hauptprozessor, führt Berechnungen durch
  • RAM (Random Access Memory): flüchtiger Speicher, speichert temporäre Daten und Programme
  • Massen-/Sekundärspeicher: nicht-flüchtiger Speicher für permanente Daten, z.B. Festplatte, SSD
  • E/A-Geräte (Eingabe/Ausgabe): Maus, Tastatur, Monitor und Drucker
  • Mainboard: verbindet alle Komponenten, enthält Busse und Schnittstellen
  • Netzteil: versorgt das System mit Strom

Funktionsweise von CPU, Speicher und I/O-Systemen

Definition:

Interaktion der Komponenten: CPU führt Berechnungen durch, Speicher speichert Daten und Programme, I/O-Systeme ermöglichen Kommunikation mit externen Geräten.

Details:

  • CPU: zentrale Verarbeitungseinheit, führt Befehle anhand des Maschinenzyklus aus (Fetch, Decode, Execute, Writeback)
  • Speicher: Beinhaltet RAM (flüchtig, schneller Zugriff) und ROM (nicht-flüchtig, langsamer), Cache-Speicher für schnellen Zugriff
  • I/O-Systeme: Schnittstelle für externe Geräte, steuern Datenfluss zwischen CPU, Speicher und externen Hardware-Komponenten
  • Bus-System: Datenbus (Datenübertragung), Adressbus (Adressierung), Kontrollbus (Steuerung)

Pipeline-Architekturen und Superskalarität

Definition:

Pipeline-Architekturen verbessern die Instruktionsdurchsatzrate durch parallele Bearbeitung verschiedener Befehlsphasen. Superskalare Architekturen erweitern dieses Konzept, indem sie mehrere Pipelines verwenden, um mehrere Befehle gleichzeitig zu verarbeiten.

Details:

  • Pipelining: Aufteilung eines Befehls in mehrere Stufen. Jeder Stufe arbeitet parallel an verschiedenen Befehlen.
  • Phasen eines Pipelines:
    1. IF (Instruction Fetch)
    2. ID (Instruction Decode)
    3. EX (Execute)
    4. MEM (Memory Access)
    5. WB (Write Back)
  • Hazards: Konflikte in der Pipeline (Daten-, Struktur-, Steuerhazards).
  • Superskalarität: Mehrere Pipelines oder funktionale Einheiten pro Taktzyklus.
  • ILP (Instruction-Level Parallelism): Gleichzeitige Ausführung mehrerer Befehle durch Prozessor-Architektur.

Cache-Kohärenz und Speicheroptimierung

Definition:

Konsistenz der Daten in mehreren Caches und Effizienz im Speicherzugriff.

Details:

  • Cache-Kohärenz-Protokolle: MESI, MOESI.
  • Race Conditions und atomare Operationen.
  • False Sharing vermeiden.
  • Prefetching-Strategien.
  • Speicheranpassung: Datenalignment, Stride-Häufigkeit.
  • Verwendung lokaler Variablen für Stack-Optimierung.
  • Zwischenspeicherung wiederverwendeter Daten.

Einführung in RISC und CISC Architekturen

Definition:

Kurze Einführung in die grundlegenden Unterschiede zwischen RISC (Reduced Instruction Set Computer) und CISC (Complex Instruction Set Computer) Architekturen, wie in der Vorlesung 'Grundlagenpraktikum: Rechnerarchitektur' behandelt.

Details:

  • RISC: Weniger, einfachere Befehle, die meist in einem Taktzyklus ausgeführt werden können.
  • CISC: Komplexere Befehle, die möglicherweise mehrere Taktzyklen benötigen.
  • RISC-Architekturen: Fokussieren auf Effizienz und Performance durch eine reduzierte Befehlssatzarchitektur.
  • CISC-Architekturen: Fokussieren auf eine vielseitigere und komplexere Befehlsstruktur zur Minimierung der Programmgröße.
  • Beispiele RISC: ARM, MIPS
  • Beispiele CISC: x86
  • Entwurfsstrategien: RISC zielt auf Hardwarevereinfachung und hohe Ausführungsgeschwindigkeit, CISC auf Hardwareeffizienz und Programmvereinfachung.
  • RISC nutzt häufiger Register, während CISC oft speicherzugriffsintensive Operationen hat.

Virtualisierung und Paging-Mechanismen

Definition:

Virtualisierung ermöglicht die Abstraktion von hardwarebezogenen Ressourcen, während Paging für die Speicherverwaltung mittels gleichgroßer Blöcke sorgt.

Details:

  • Virtualisierung: multiple virtuelle Maschinen (VMs) auf einer Hardware.
  • Paging: Aufteilung des physikalischen Speichers in fixe Seiten (Pages) und Zuordnung zu virtuellen Speicheradressen.
  • Page Table: Datenstruktur zur Verwaltung der Seitentabellen.
  • MMU (Memory Management Unit): Wandelt virtuelle Adressen in physikalische Adressen um.
  • Page Fault: Tritt auf, wenn eine virtuelle Adresse keine zugeordnete physische Speicherseite hat.

Algorithmen für parallele Verarbeitung

Definition:

Algorithmen, die entwickelt wurden, um Aufgaben gleichzeitig auf mehreren Prozessoren oder Rechenkernen auszuführen, um Effizienz und Geschwindigkeit zu erhöhen.

Details:

  • Teile-und-herrsche-Strategien nutzen
  • Mit Lastverteilung und Synchronisation befassen
  • Wichtig: Vermeidung von Race Conditions und Deadlocks
  • Modellierung: PRAM (Parallel Random Access Machine)
  • Wichtige Konzepte: Parallelitäten, Datenabhängigkeiten, Kommunikationskosten und Skalierbarkeit
  • Beispiele: Parallelisierung von Matrixmultiplikation, Sortieralgorithmen (z.B. paralleler Quicksort)

Optimierung von Assembly-Code

Definition:

Optimierung von Assembly-Code verbessert die Effizienz und Leistung von Programmen durch manuelle Anpassungen auf Assembler-Ebene.

Details:

  • Kritische Pfade identifizieren und optimieren.
  • Register optimal nutzen.
  • Schleifen unrollen (Loop Unrolling).
  • Instruktionen parallelisieren, wo möglich.
  • Spezifische Prozessor-Instruktionen (z.B. SIMD) verwenden.
  • Unnötige Instruktionen vermeiden.
  • Pipeline-Effizienz sicherstellen.
  • Datenabhängigkeiten minimieren.
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