## 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|