Grundlagen der Rechnerarchitektur und - organisation - Cheatsheet
Halbleiterphysik und Elektronische Schaltkreise
Definition:
Halbleiterphysik untersucht die Eigenschaften und das Verhalten von Halbleitermaterialien. Elektronische Schaltkreise nutzen diese Eigenschaften zur Umsetzung von logischen Funktionen und Verarbeitung von Signalen.
Details:
- Halbleiter: Materialien mit Leitfähigkeit zwischen Leitern und Isolatoren (z.B. Silizium).
- Leitfähigkeit kann durch Dotierung gezielt verändert werden (p- und n-Typ Halbleiter).
- PN-Übergang: Grundlage für Dioden und Transistoren
- Wichtige Komponenten: Dioden, Bipolartransistoren, Feldeffekttransistoren (MOSFETs).
- Logikgatter (AND, OR, NOT): Grundlage digitaler Schaltkreise.
- CMOS-Technologie: Weit verbreitet für digitale ICs, benötigt p- und n-Kanal MOSFETs.
- Integrierte Schaltkreise (ICs): Kombination vieler Bauelemente auf einem Chip.
Logische Operationen und Boolsche Algebra
Definition:
Boolsche Algebra: Mathematisches System zur Analyse und Vereinfachung von logischen Schaltungen. Logische Operationen: Grundoperationen wie UND, ODER, NICHT. Grundlage für digitale Schaltungen und Computerarithmetik.
Details:
- Grundlegende logische Operationen: UND (\textbf{AND}), ODER (\textbf{OR}), NICHT (\textbf{NOT})
- Erweiterte Operationen: NAND, NOR, XOR, XNOR
- Wahrheitstafeln zeigen die Ergebnisse der Operationen für alle möglichen Eingaben
- Gesetzte der Boolschen Algebra: Identität, Null, Komplement, Dualität
- De Morgan'sche Gesetze: \textbf{NICHT}(\textbf{A} \textbf{UND} \textbf{B}) = \textbf{NICHT} \textbf{A} \textbf{ODER} \textbf{NICHT} \textbf{B} und \textbf{NICHT}(\textbf{A} \textbf{ODER} \textbf{B}) = \textbf{NICHT} \textbf{A} \textbf{UND} \textbf{NICHT} \textbf{B}
- Algebraische Manipulation von Ausdrücken zur Vereinfachung von Schaltungen
RISC- und CISC-Architekturen
Definition:
RISC (Reduced Instruction Set Computer) und CISC (Complex Instruction Set Computer) sind Architekturen, die sich durch die Anzahl und Komplexität der Befehle und deren Implementierung unterscheiden.
Details:
- RISC: Wenige, einfache Instruktionen, die schnell ausgeführt werden.
- CISC: Viele, komplexe Instruktionen, die mehr Funktionen direkt auf Hardware-Ebene anbieten.
- RISC: Fokus auf Software-Optimierung und Compiler-Design.
- CISC: Fokus auf Reduktion der Anzahl an Instruktionen pro Programm.
- Beispiel für RISC: ARM.
- Beispiel für CISC: x86.
- RISC nutzt oft Register-Register-Architektur.
- CISC nutzt oft Memory-Register-Architektur.
- RISC neigt zu gleichbleibender Taktgeschwindigkeit pro Instruktion.
- CISC kann mehr Arbeit pro Instruktion leisten, jedoch mit variabler Taktgeschwindigkeit.
Pipeline-Prozessoren
Definition:
Prozessoren mit Pipeline-Struktur zur Erhöhung der parallelen Bearbeitung durch Aufteilung in mehrere Verarbeitungsschritte.
Details:
- Pipeline-Stufen: Fetch, Decode, Execute, Memory Access, Write Back
- Erhöhung des Durchsatzes durch Parallelverarbeitung
- Potenzielle Probleme: Hazards (Daten-, Kontroll-, Strukturhazards)
- Wichtige Kennzahlen: Zykluszeit (\text{cycle time}), Durchsatz (\text{throughput})
- Pipeline-Tiefe (\text{pipeline depth}): Anzahl der Stufen
- Forwarding und Stalling Techniken zur Hazard-Bewältigung
Cache- und Hauptspeicherverwaltung
Definition:
Verwaltung von Speicherbereichen in einem Rechner, um den Zugriff auf häufig verwendete Daten zu beschleunigen (Cache) und weniger häufig benötigte Daten im Hauptspeicher zu halten.
Details:
- Cache-Speicher ist kleiner, schneller und näher an der CPU als der Hauptspeicher.
- Typischerweise mehrere Ebenen: L1, L2, L3.
- Cache-Hit: Daten im Cache gefunden.
- Cache-Miss: Daten nicht im Cache, muss aus dem Hauptspeicher geladen werden.
- Missrate = \frac{Anzahl der Cache-Misses}{Gesamtanzahl der Speicherzugriffe}
- Häufige Algorithmen: FIFO, LRU.
- Cache-Kohärenz: Konsistenz paralleler Cache-Speicher (wichtig bei Mehrkernprozessoren).
Speicheradressierung und Ein-/Ausgabesteuerung
Definition:
Adressen im Speicher werden zur Organisation und Zugriff von Daten genutzt, während Ein-/Ausgabesteuerung den Datentransfer zwischen Prozessor und Peripheriegeräten verwaltet.
Details:
- Speicheradressierung: Art und Weise, wie Speicherplätze adressiert werden (physisch vs. virtuell)
- Direkte vs. indirekte Adressierung
- Paging und Segmentierung zur Speicherverwaltung
- Ein-/Ausgabesteuerung: Steuerung von Ein-/Ausgabeoperationen mittels Ports und Kontrollregistern
- Direktzugriffsspeicher (DMA) für schnellen Datentransport
- Polling vs. Interrupt-Steuerung
Rechnernetzwerk-Protokolle und Kommunikationsmodelle
Definition:
Rechnernetzwerk-Protokolle regeln den Datenaustausch zwischen Computern in einem Netzwerk. Kommunikationsmodelle wie das OSI- und TCP/IP-Modell strukturieren und standardisieren diese Interaktionen.
Details:
- OSI-Modell: 7 Schichten - Physikalische Schicht, Sicherungsschicht, Netzwerkschicht, Transportschicht, Sitzungsschicht, Darstellungsschicht, Anwendungsschicht.
- TCP/IP-Modell: 4 Schichten - Netzwerkzugriff, Internet, Transport, Anwendung.
- Wichtige Protokolle: TCP, UDP, IP, HTTP, FTP, SMTP.
- Datenkapselung: Daten werden Schicht für Schicht verpackt und entpackt.
- Adressen: IP-Adressen zur Identifikation der Endpunkte.
- Ports: Identifizieren spezifische Prozesse auf den Endpunkten.
Parallelität und Leistungsoptimierung
Definition:
Nutze Parallelität, um die Leistung von Rechenoperationen zu steigern. Optimierungsstrategien sind entscheidend für effiziente Ressourcennutzung.
Details:
- Parallelität: Durchführung mehrerer Berechnungen gleichzeitig
- Amdahls Gesetz: Beschreibt die maximale Leistungssteigerung durch Parallelität
- Gustafsons Gesetz: Betrachtet Skalierbarkeit von Problemen bei steigender Prozessoranzahl
- Multithreading: Mehrere Threads innerhalb eines Prozesses
- Multiprocessing: Ausführung auf mehreren CPUs
- Datenparallelismus: Verteilung der Daten auf mehrere Rechenkerne
- Task-Parallelismus: Verteilung von Aufgaben auf mehrere Kerne
- Caching und Speicherzugriffsoptimierung: Reduzierung von Speicherlatenzen
- Lastverteilung: Effiziente Nutzung aller Prozessorressourcen
- Vermeidung von Engpässen: Identifikation und Beseitigung von Performance-Hindernissen
- Profilerstellung: Messung und Analyse der Leistung