Grundlagen der Technischen Informatik - Cheatsheet
Unterschiede zwischen analogen und digitalen Signalen
Definition:
Analoge Signale: kontinuierlich, unendlich viele Werte; Digitale Signale: diskret, endlich viele Werte
Details:
- Analoge Signale: repräsentieren Informationen durch stufenlose Werte
- Digitale Signale: verwenden diskrete Werte, meist binär (0 und 1)
- Vorteil digital: fehlerresistente Übertragung, einfache Speicherung und Verarbeitung
- Vorteil analog: höhere Detailgenauigkeit, keine Quantisierungsverluste
- Umwandlung notwendig: A/D-Wandler (Analog zu Digital), D/A-Wandler (Digital zu Analog)
- Mathematisch: Analoge Signale als kontinuierliche Funktionen, digitale als diskrete Zeitreihen
Minimierung von Schaltkreisen mittels Karnaugh-Diagrammen
Definition:
Verwendung von Karnaugh-Diagrammen zur Minimierung von booleschen Schaltkreisen.
Details:
- Karnaugh-Diagramme (K-Diagramme) sind grafische Werkzeuge zur Vereinfachung von booleschen Funktionen.
- Ziel: Reduzierung der Anzahl der logischen Gatter in einem Schaltkreis.
- Grundlage: Wahrheitstabelle der Funktion.
- Zellen des Diagramms repräsentieren minterme der Funktion.
- Gruppierung von 1en (einschließlich Zweierpotenzen) zur Identifikation und Eliminierung redundanter Variablen.
- Resultierende vereinfachte Ausdrücke: Konjunktive Normalform (KNF) oder Disjunktive Normalform (DNF).
- Begriffe: Minterm, Maxterm, Primimplikant.
Overflow und Unterlauf in binären Operationen
Definition:
Überlauf (Overflow) und Unterlauf (Underflow) treten auf, wenn das Ergebnis einer arithmetischen Operation den darstellbaren Wertebereich überschreitet bzw. unterschreitet.
Details:
- Überlauf: Tritt auf, wenn das Ergebnis größer ist als der maximal darstellbare Wert.
- Unterlauf: Tritt auf, wenn das Ergebnis kleiner ist als der minimal darstellbare Wert.
- In der Zweierkomplement-Darstellung:
- \textit{Überlauf:} Addition zweier positiver Zahlen ergibt eine negative Zahl oder Addition zweier negativer Zahlen ergibt eine positive Zahl.
- \textit{Unterlauf:} insbesondere bei Subtraktionen relevant, weniger häufig.
- Erkennung: Überwachung der Übertragsbits bei Addition und Subtraktion.
RISC vs. CISC Prozessoren
Definition:
RISC (Reduced Instruction Set Computer) und CISC (Complex Instruction Set Computer) sind zwei Architekturen für Prozessor-Design.
Details:
- RISC: einfache, schnelle Instruktionen, festes Instruktionsformat, Fokus auf Software.
- CISC: komplexe, vielseitige Instruktionen, variierendes Instruktionsformat, Fokus auf Hardware.
- Beispiele RISC: ARM, MIPS.
- Beispiele CISC: x86.
- Leistungsmerkmale: RISC tendenziell schneller bei geringem Stromverbrauch, CISC leistungsfähiger bei komplexen Aufgaben.
Speicheradressierung und Cache-Kohärenz
Definition:
Techniken zur Verwaltung der Speicheradressen und Kohärenz der Daten zwischen mehreren Caches.
Details:
- Speicheradressierung: Methode zur Bestimmung der Speicheradressen im System, z.B. mittels logischer oder physischer Adressen.
- Cache-Kohärenz: Problem in Mehrprozessor-Systemen, bei dem sichergestellt werden muss, dass alle Caches konsistente Daten haben.
- Kohärenzprotokolle: MESI, MOESI, MSI zur Verwaltung der Konsistenz von Caches.
- Cache Miss: Tritt auf, wenn die angeforderte Daten nicht im Cache vorhanden sind.
- Write-through vs. write-back: Strategien zur Aktualisierung von Daten im Cache und Hauptspeicher.
- False Sharing: Wenn mehrere Prozessoren verschiedene Daten im selben Cache-Block ändern, was zu unnötigem Datentransfer führt.
Mikrobefehle und ihre Ausführung
Definition:
Mikrobefehle sind kleinste Befehle auf der Mikroprogrammierebene, die die Ausführung von Maschinenbefehlen steuern.
Details:
- Mikrobefehle steuern ALU-Operationen, Registerübertragungen und Speicherzugriffe.
- Ein Mikroprogramm besteht aus einer Abfolge von Mikrobefehlen.
- Jeder Mikrobefehl wird durch ein Mikroprogrammsteuerwerk dekodiert und ausgeführt.
- Mikrobefehle nutzen Steuerleitungen zur Ausführung von Aktionen in der CPU.
- Beispiele für Mikrobefehle umfassen Lade- und Speicheroperationen, Datenverschiebungen und arithmetische Operationen.
- Typische Mikrooperations-Funktionseinheiten: ALU-Operation (\texttt{ADD}, \texttt{SUB}), Registerbewegung (\texttt{MOV}), sowie logische Operationen (\texttt{AND}, \texttt{OR}).
Pipelining und Parallelverarbeitung
Definition:
Optimierungstechniken, um die Ausführungsgeschwindigkeit von Programmen durch gleichzeitige Bearbeitung mehrerer Instruktionen oder Prozesse zu steigern.
Details:
- Pipelining: Aufteilung einer Aufgabe in Teilschritte, die in verschiedenen Hardware-Stufen unabhängig voneinander bearbeitet werden.
- Pipeline-Stufen: \text{Instruktionsfetch (IF)}, \text{Instruktionsdekodierung (ID)}, \text{Ausführung (EX)}, \text{Speicherzugriff (MEM)}, \text{Schreib-Back (WB)}
- Hazards: \text{Datenhazards}, \text{Kontrollhazards}, \text{Strukturhazards}
- Parallelverarbeitung: Gleichzeitige Ausführung mehrerer Prozesse oder Instruktionen auf verschiedenen Prozessoren oder Kernen.
- Arten der Parallelverarbeitung: \text{Datenparallelität}, \text{Aufgabenparallelität}
- Modelle: \text{SIMD (Single Instruction, Multiple Data)}, \text{MIMD (Multiple Instruction, Multiple Data)}
Fehlererkennung und -korrektur Mechanismen
Definition:
Systeme zur Erkennung und Korrektur von Fehlern in Datenübertragungen und -speicherungen.
Details:
- Fehlererkennungscodes: Paritätsbits, Prüfsummen, CRC
- Fehlerkorrekturverfahren: Hamming-Code, Reed-Solomon-Code
- Paritätsbit: Fügt ein zusätzliches Bit hinzu; überprüft gerade/ungerade Anzahl der Einsen
- Prüfsumme: Summiert Datenbits, vergleicht mit gesendeter Prüfsumme
- CRC (Cyclic Redundancy Check): Polynomdivision zur Fehlererkennung
- Hamming-Code: Fügt Prüfbits hinzu; erkennt und korrigiert Einzelbitfehler
- Reed-Solomon-Code: Nutzt Block-Codierung; korrigiert Mehrbitfehler