Einführung in die Rechnerarchitektur - Cheatsheet.pdf

Einführung in die Rechnerarchitektur - Cheatsheet
Grundlegende Komponenten eines Computers Definition: Beinhaltet die wesentlichen Bestandteile, die zur Funktion eines Computers notwendig sind. Details: Zentraleinheit (CPU): Führt Berechnungen und Steuerungen durch. Arbeitsspeicher (RAM): Speichert Daten und Programme temporär. Massenspeicher: Langzeitaufbewahrung von Daten (z.B., HDD, SSD). E/A-Geräte: Schnittstellen für Benutzer und externe Ger...

© StudySmarter 2024, all rights reserved.

Grundlegende Komponenten eines Computers

Definition:

Beinhaltet die wesentlichen Bestandteile, die zur Funktion eines Computers notwendig sind.

Details:

  • Zentraleinheit (CPU): Führt Berechnungen und Steuerungen durch.
  • Arbeitsspeicher (RAM): Speichert Daten und Programme temporär.
  • Massenspeicher: Langzeitaufbewahrung von Daten (z.B., HDD, SSD).
  • E/A-Geräte: Schnittstellen für Benutzer und externe Geräte (z.B., Tastatur, Monitor).
  • Mainboard: Verbindet alle Komponenten und ermöglicht Datenfluss.
  • Busse: Transportieren Daten zwischen den Komponenten (z.B., Datenbus, Adressbus).

Von-Neumann-Architektur vs. Harvard-Architektur

Definition:

Von-Neumann-Architektur und Harvard-Architektur sind zwei grundlegende Architekturen für Computer, die sich hauptsächlich durch die Art und Weise unterscheiden, wie sie Speicher und Datenpfade behandeln.

Details:

  • Von-Neumann-Architektur:
    • Ein einziger Speicher für Programme und Daten
    • Ein gemeinsamer Bus für Daten und Anweisungen
    • Kann zu einem Flaschenhals führen (von-Neumann-Flaschenhals)
  • Harvard-Architektur:
    • Getrennter Speicher für Programme und Daten
    • Separater Bus für Daten und Anweisungen
    • Erlaubt schnellere Datenzugriffe im Vergleich zur Von-Neumann-Architektur

Pipeline-Architekturen und ihre Optimierung

Definition:

Technik zur Erhöhung der Befehlsverarbeitungsgeschwindigkeit durch parallele Bearbeitung mehrerer Befehlsphasen.

Details:

  • Stages: Fetch, Decode, Execute, Memory, Write Back
  • Daten- und Kontrollabhängigkeiten beachten
  • Stall: Pausieren der Pipeline zur Vermeidung von Konflikten
  • Forwarding: Latenzminderung durch Ergebnisweitergabe innerhalb der Pipeline
  • Branch Prediction zur Verringerung von Kontroll-Dependenz-Verzögerungen
  • Superskalares Design: Mehrere Befehle pro Taktzyklus
  • Out-of-Order Execution für effiziente Nutzung von Ressourcen
  • Hazards: Struktur-, Daten- und Kontroll-Hazards
  • \text{IPC} (Instructions per Cycle) als Leistungsmaß

Einführung in Assemblersprachen

Definition:

Maschinennahes Programmieren, direkter Zugriff auf Hardware und Speicher.

Details:

  • Assembler: Low-Level-Programmiersprache, enge Verbindung zur Maschinenarchitektur.
  • Instruktionen bestehen aus mnemonischen Codes und Operanden.
  • Konzepte: Register, Direkt- und Indirektadressierung, Bedingte und Unbedingte Sprünge.
  • Wichtig für Systemprogrammierung und Performance-Kritische Anwendungen.
  • Beispiele: x86, ARM Assembler.
  • Debugger und Assembler Tools: gdb, NASM.
  • Syntax: MOV AX, 1

Struktur und Funktion von Cache-Speichern

Definition:

Cache-Speicher: Schneller, kleiner Speicher zwischen CPU und Hauptspeicher, minimiert Zugriffszeit auf Daten.

Details:

  • Mehrstufige Hierarchie: L1, L2, L3
  • Assoziativität: direkt, n-way, voll assoziativ
  • Cache-Kohärenz: Konsistenz bei Multi-Core-Prozessoren
  • Mapping: Direktabbildung, set-assoziativ, voll-assoziativ
  • Cache-Blöcke: Blöckgröße beeinflusst Leistung
  • Ersatzstrategien: LRU, FIFO, Random
  • Schreibstrategien: Write-through, Write-back

Mehrkernprozessoren und Parallelverarbeitung

Definition:

Mehrere Rechenkerne in einer einzigen CPU, um mehrere Aufgaben gleichzeitig zu bearbeiten.

Details:

  • Erhöhte Leistungsfähigkeit durch parallele Verarbeitung.
  • Wichtige Konzepte: Lastverteilung, Synchronisation, Speicherzugriffskonflikte.
  • Gesetz von Amdahl: \( S = \frac{1}{(1 - P) + \frac{P}{N}} \) beschreibt die Beschleunigung \( N \)-fach paralleler Ausführung, \( P \) paralleler Codeanteil.
  • Verwendungszwecke: Wissenschaftliche Berechnungen, Datenbanken, Bild- und Videoverarbeitung.

Datenpfade und Durchsatzoptimierung

Definition:

Datenpfade und Durchsatzoptimierung zielen darauf ab, die Effizienz eines Rechners durch optimierte Datenbewegungen und parallele Verarbeitung zu maximieren.

Details:

  • Datenpfad: Weg, den Daten innerhalb einer CPU nehmen.
  • Einheiten: Register, ALUs, Speicher.
  • Durchsatz: Menge der verarbeiteten Daten in einer bestimmten Zeit.
  • Optimierung: Pipelining, Parallelismus, Speicherhierarchie.
  • Pipelining: Mehrere Instruktionen gleichzeitig in verschiedenen Stufen verarbeiten.
  • Parallelismus: Mehrere Operationen gleichzeitig ausführen (z.B. SIMD, MIMD).
  • Speicherhierarchie: Cache, Hauptspeicher, Festplattenspeicher zur Reduktion der Zugriffszeiten.
  • Bedeutung: Höherer Durchsatz = bessere Leistung.

Virtueller Speicher und Speicherverwaltung

Definition:

Virtueller Speicher: Methode der Speicherverwaltung, die dem Benutzer größere Speicherbereiche zur Verfügung stellt, als physisch vorhanden sind.

Details:

  • Virtueller Speicher = Logischer Adressraum > Physischer Adressraum
  • Paging: Aufteilung in gleich große Blöcke (Pages und Page Frames)
  • Segmentation: Aufteilung in logische Segmente unterschiedlicher Größe
  • Page Table: Verknüpfung logischer und physischer Adressen
  • TLB (Translation Lookaside Buffer): Cache für schnelle Adressübersetzung
  • Page Fault: Zugriff auf nicht im physischen Speicher befindliche Daten
  • Speicherverwaltungstechniken: Demand Paging, Swapping
  • Wichtige Formeln: Effektive Zugriffzeit (EAT) \[ EAT = (1-p) \times MA + p \times (PageFaultServiceTime + MA) \]
  • Speicherschutz: Read/Write/Execute-Berechtigungen
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