7.4 KiB
7.4 KiB
2 - Informationstechnik
Bits und Bytes
3 - Hardware
CPU (Central Processing Unit)
Hauptprozessor (CPU)
- Definition
- Zentralprozesseinheit eines Computers
- Erbringt Verarbeitungs- und Rechenleistung
- Verantwortlich für Informationsverarbeitung und Steuerung der Abläufe
- Herzstück elektronischer Geräte mit computerähnlichen Aufgaben
Befehle und Vielseitigkeit
- Eingabequellen
- Benutzer (Input)
- Automatisierte Regelsets (Programme)
- Vergleich
- Multi-funktionales Werkzeug
- Wenig spezialisiert als Prozessor
- Spezialisierte Prozessoren
- Entlastung des Hauptprozessors
- Beispiel: Grafikprozessor (GPU) für grafische Berechnungen
Aufbau der CPU
- Elemente
- Eingabewerk
- Interner Pufferspeicher (Cache)
- Rechenwerk
- Steuerwerk
- Ausgabewerk
- Prozessorkern
- Kombination aus Rechen- und Steuerwerk
- Moderne CPUs besitzen mehrere Kerne auf einem Chip
Mehrkernprozessoren und Effizienz
- Parallelverarbeitung
- Mehrere Aufgaben gleichzeitig lösen
- Effizienzsteigerung
- Erhöhung der Taktfrequenz (Rechengeschwindigkeit)
- Verkleinerung der Leiterbahnen
- Verbesserte Energieeffizienz und reduzierte Hitzeentwicklung
- Transistoren
- Billionen Transistoren auf einem CPU-Chip
- Größe um ein n-faches kleiner als menschliches Haar
- Hohe Herstellungsherausforderungen
Datenfluss und Speicherhierarchie
- Speicherarten
- Datenträger → Arbeitsspeicher → Eingabewerk → Cache
- Speichercharakteristik
- Nähe zur CPU: kleinerer Speicher, höherer Datendurchsatz
- Cache-Levels
- Mehrere Ebenen mit unterschiedlichen Kapazitäten und Geschwindigkeiten
- Taktfrequenzen
- Moderne CPUs im Gigahertz-Bereich (1 GHz = 1 Milliarde Zyklen/Sekunde)
Wichtig ist der Cache.
Spezifikation | L1 Cache | L2 Cache | L3 Cache |
---|---|---|---|
Größe | 16 KB – 64 KB pro Kern | 256 KB – 1 MB pro Kern | 2 MB – 64 MB (gemeinsam) |
Typ | Getrennt für Daten und Instruktionen (Data & Instruction) | Oft einheitlich (Unified) | Einheitlich (Unified) |
Assoziativität | 4- bis 8-fach assoziativ | 8- bis 16-fach assoziativ | 12- bis 24-fach assoziativ |
Cache-Liniengröße | 64 Bytes | 64 Bytes | 64 Bytes |
Zugriffszeit (Latency) | 1-4 CPU-Zyklen | 10-20 CPU-Zyklen | 30-50 CPU-Zyklen |
Bandbreite | Sehr hoch | Hoch | Mittel bis hoch |
Zweck | L1: Schneller Zugriff auf häufig genutzte Daten und Instruktionen L2: Zwischenpuffer für L1 und L3 L3: Gemeinsamer Cache für mehrere Kerne zur Reduzierung der Speicherzugriffe |
||
Teilung | Getrennt für Daten und Instruktionen (in den meisten Architekturen) | Einheitlich oder getrennt | Einheitlich |
Skalierung | Pro Kern | Pro Kern oder geteilt | Geteilt zwischen allen Kernen |
Beispiele moderner CPUs | Intel Core i9-13900K: 64 KB L1 | Intel Core i9-13900K: 2 MB L2 | Intel Core i9-13900K: 36 MB L3 |
Energieverbrauch | Sehr niedrig | Moderat | Höher im Vergleich zu L1 und L2 |
GPU (Graphics Processing Unit)
- Spezialprozessor für parallele Berechnungen Integrated GPU (iGPU)
- Uses RAM Dedizierte Grafikkarte
- Uses VRAM
Memory
RAM (Random Access Memory) ist das Hauptmemory eines Rechners. Es gibt SRAM (Static Random Access Memory), der aber meist bei FPGA (Field Programmable Gate Array) eingesetzt wird, und DRAM (Dynamic Random Access Memory). DRAM wird meist als SD-RAM (Synchronous Dynamic Random Access Memory) eingesetzt, wobei DDR-SD-RAM (Double Data Rate Synchronous Dynamic Random Access Memory) am gebräuchlichsten ist.
Storage
Storage Type | Beschreibung | Vorteile | Nachteile |
---|---|---|---|
HDD | Hard Disk Drive | Persistenter Speicher |
|
SSD | Solid State Drive |
|
Hohe Abnutzung bei Schreibzyklen |
NVMe | Nonvolatile Memory Express SSD über PCI Express |
physische Disaggregation = Pooling |
|
Tape-Library | Archiv- oder Backupspeicher |
|
|
BD | Optische Abtastung via Laser | Langlebig beiguter Lagerung | Empfindlich ggü. Fremdeinwirkung (Feuchte, Hitze, UV-Licht, Lagerposition) |
4 - Betriebssysteme
Von-Neumann-Architektur
Komponenten eines Von-Neumann-Rechners
-
Rechenwerk (ALU - Arithmetic Logic Unit)
- Führt arithmetische (z. B. Addition, Subtraktion) und logische Operationen (z. B. Vergleiche) durch
- Arbeitet eng mit den Registern und dem Leitwerk zusammen
-
Leitwerk (Control Unit)
- Steuert den Ablauf der Befehlsverarbeitung
- Lädt Instruktionen aus dem Speicher, decodiert sie und gibt Steuersignale an das Rechenwerk sowie andere Komponenten
- Verändert bei Bedarf den Befehlszähler (Program Counter, PC)
-
Speicher (Memory)
- Enthält sowohl die ausführbaren Programme (Instruktionen) als auch die zu verarbeitenden Daten
- Ist in Adressen organisiert, jede Speicherzelle kann eindeutig angesprochen werden
-
Eingabe- und Ausgabegeräte (I/O)
- Sorgen für den Datenaustausch mit der Außenwelt (z. B. Tastatur, Maus, Bildschirm)
- Kommunizieren über Schnittstellen bzw. I/O-Controller mit dem Rest des Systems
-
Systembus
- Verbindet CPU, Speicher und I/O-Geräte
- Überträgt Daten, Adressen und Steuersignale (Datenbus, Adressbus, Steuerbus)
Beispielhafter Ablauf einer Instruktion
-
Fetch (Instruktion holen)
- Der Program Counter (PC) zeigt auf die nächste Instruktion im Speicher
- Das Leitwerk lädt die Instruktion über den Adressbus und erhält sie über den Datenbus
-
Decode (Instruktion dekodieren)
- Das Leitwerk interpretiert den Instruktionscode
- Identifiziert Operationstyp, beteiligte Register und Speicheradressen
-
Fetch operands (Operanden holen)
- Werden zusätzliche Daten benötigt, lädt das System sie über Adress- und Datenbus in die Register
-
Execute (Ausführen)
- Die ALU führt die gewünschte Operation (z. B. Addition) anhand der Registerwerte durch
-
Write back (Ergebnis speichern)
- Das Ergebnis wird in ein Register oder in den Hauptspeicher zurückgeschrieben
-
Increment Program Counter
- Der PC wird auf die nächste Instruktion gesetzt
- Der Zyklus beginnt erneut (Fetch-Decode-Execute)
Von-Neumann-Zyklus
Kernel
Memory Management
Systemcall-Interface
I/O-Subsystem
Prozessmanagement
Interruptverarbeitung
Prozesse und Threads
Filesystem
ebssysteme