169 lines
7.4 KiB
Markdown
169 lines
7.4 KiB
Markdown
|
||
|
||
## 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<br>**L2**: Zwischenpuffer für L1 und L3<br>**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|<ul><li>Erschütterungsempfinlich</li><li>Empfindlich gegen Magnetismus</li></ul>|
|
||
|SSD|Solid State Drive|<ul><li>Schneller Lesezugriff</li><li>iPersistenter Speicher</li></ul>|Hohe Abnutzung bei Schreibzyklen|
|
||
|NVMe|Nonvolatile Memory Express <br> SSD über PCI Express|physische Disaggregation = Pooling|<ul><li>Leicht höehre Latextnzeit</li><li>inhärente Komplexität</li></ul>|
|
||
|Tape-Library|Archiv- oder Backupspeicher|<ul><li>Grosse Kapazitäten</li><Stoss- und Vibrationsresistent><li>Langlebig</li></ul>|<ul><li>Verschleissgefahr</li><li>Langsame Zugriffszeiten</li><li>Sequenzieller Zugriff</li><li>Anfällig auf Staub, Hitze, Feuchtigkeit und Magnetismus</li></ul>|
|
||
|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
|
||
|
||
1. **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
|
||
|
||
2. **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)
|
||
|
||
3. **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
|
||
|
||
4. **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
|
||
|
||
5. **Systembus**
|
||
- Verbindet CPU, Speicher und I/O-Geräte
|
||
- Überträgt Daten, Adressen und Steuersignale (Datenbus, Adressbus, Steuerbus)
|
||
|
||
---
|
||
|
||
##### Beispielhafter Ablauf einer Instruktion
|
||
|
||
1. **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
|
||
|
||
2. **Decode (Instruktion dekodieren)**
|
||
- Das Leitwerk interpretiert den Instruktionscode
|
||
- Identifiziert Operationstyp, beteiligte Register und Speicheradressen
|
||
|
||
3. **Fetch operands (Operanden holen)**
|
||
- Werden zusätzliche Daten benötigt, lädt das System sie über Adress- und Datenbus in die Register
|
||
|
||
4. **Execute (Ausführen)**
|
||
- Die ALU führt die gewünschte Operation (z. B. Addition) anhand der Registerwerte durch
|
||
|
||
5. **Write back (Ergebnis speichern)**
|
||
- Das Ergebnis wird in ein Register oder in den Hauptspeicher zurückgeschrieben
|
||
|
||
6. **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
|
||
## 5 - Netzwerke
|
||
## 6 - Schadprogramme
|
||
## 7 - Harmlose (aber nervige) Software
|
||
## 8 - Angreifer
|
||
## 9 - Sicherheitsvorkehrungen
|
||
## 10 - Einführung in Cloud Computing
|