Merge remote-tracking branch 'origin/main'

This commit is contained in:
fzzinchemical
2025-07-21 11:52:03 +02:00
20 changed files with 363 additions and 159 deletions

View File

@@ -17,7 +17,7 @@
- Auswirkungen:
- Kleinere Strukturen → geringere Kosten
- Mehr Komponenten → höhere Leistung
- Geringerer Stromverbrauch
- > Resultierend: Geringerer Stromverbrauch
- Aber: Miniaturisierung wird zunehmend teurer und schwieriger.
---
@@ -25,12 +25,12 @@
### 📊 Leistungsmessung von Computern
- **System-Benchmarks:** Cinebench, 3DMark, HPC Challenge
- **Kennzahlen:**
- Instruktionen/Sekunde (IPS), FLOPS
- **Kenngrößen:**
- Instruktionen/Sekunde (IPS), FLOPS (Floating point operations/second)
- Taktzyklen pro Instruktion (CPI), Instruktionen pro Takt (IPC)
- Speicherzugriffszeit, Durchsatz
- Netzwerk- & Grafikleistung (FPS, TPS)
- Kritik an MIPS: „Misleading Information to Promote Sales“ nicht immer aussagekräftig.
- Kritik an MIPS: „Misleading Information to Promote Sales“ nicht immer aussagekräftig. (MIPS => Million instructions per second)
---
@@ -39,10 +39,13 @@
- **Zustände:** durch Bitmuster repräsentiert
- **Operation:** Boolesche Funktion auf Teilzuständen
- Vergleichbare Modelle:
- Schaltnetz (ohne Schleifen)
- Endlicher Automat (deterministisch/nichtdeterministisch)
- Kellerautomat (mit Stack)
- Turingmaschine (unendliches Band)
- Schaltnetz: keine Schleifen, keine Rückkopplung)
- Endlicher Automat (Deterministisch und Nichtdeterministisch)
- Kellerautomat (unendlich, aber Zugriff nur auf oberstes Element)(Hardwarelimitierungen?)
- Turing-Maschine (endliche Zustände des Automaten, unendliches Band zum Lesen und Schreiben)
![[Pasted image 20250708185128.png]]
![[Pasted image 20250708185152.png]]
![[Pasted image 20250708185618.png]]
---
@@ -64,22 +67,44 @@
- Operationen: +, , *, /, logische Operationen
- Moderne CPUs: mehrere Register → direkte Register-Register-Operationen
- Ältere CPUs: Akkumulator-Register für ALU-Operationen
![[Pasted image 20250708185932.png]]****
#### Steuerwerk
- Verantwortlich für:
- Ausführung der Befehle
- Datenflusskontrolle
- Ausnahmebehandlung & Interrupts
#### Register
- Program Counter PC
- Befehlsregister (Instruction Registers IR)
- **optional**: Stackpointer SP
- **Statusregister**: Zustandsregister, Flags usw.
- Einfache CPUs haben einen speziellen Akkumulator-Register (Accu)
- Aus diesem wird ein Wert gelesen
- Ergebnis einer Operation wird hier gelagert
- Moderne CPUs können nicht direkt Daten aus dem Hauptspeicher in das Rechenwerk lesen (Sicherheit oder warum?)
#### Bottleneck Datentransfer
| Speichertyp | Geschwindigkeit |
| -------------------- | -------------------- |
| CPU Register | < Nanosekunde |
| CPU Cache | ~wenige Nanosekunden |
| Arbeitsspeicher | 60-70 Nanosekunden |
| Sekundärspeicher SSD | 0,4 ms |
| Sekundärspeicher HDD | 8-10 ms |
---
### 🧵 Befehlssatzarchitekturen (ISA)
**Befehle bestimmen die Architektur und umgekehrt**
#### 1⃣ Stack-Architektur
- Operanden und Ergebnisse liegen auf Stack.
- Vorteile: kompakter Code, minimaler Prozessorzustand
- Benötigt Stack Pointer **SP Register**
- Ergebnis wird final auf den Stack gelegt
- Vorteile: kompakter Code, minimaler Prozessorzustand, sog. Null-Address Machine
- Nachteil: viele Speicherzugriffe
- Heute: nur noch in virtuellen Maschinen (JVM, p-Machine)
@@ -88,6 +113,7 @@
- Ein Register (Akkumulator) für Operanden & Ergebnis
- Speicherzugriff für zweiten Operand nötig
- Kompakt, aber teuer durch Speicherzugriffe
- **Ein-Adress-Maschine**
#### 3⃣ Register-Memory-Architektur
@@ -109,14 +135,27 @@
### 🔥 RISC vs CISC
|**Merkmal**|**RISC**|**CISC**|
|---|---|---|
|**Befehlssatz**|Einfach, einheitlich, kurze Befehle|Komplex, unterschiedliche Länge|
|**Hardware**|Einfach, energieeffizient|Komplex oder Mikroprogramme|
|**Codegröße**|Größer|Kompakter|
|**Beispiele**|ARM, MIPS, SPARC, PowerPC|x86 (Intel, AMD), Zilog Z80|
|**Vorteile**|Schneller bei genügend Registern|Speichereffizient|
|**Nachteile**|Mehr Programmspeicher nötig|Langsame komplexe Befehle|
| **Merkmal** | **RISC** | **CISC** |
| --------------- | ----------------------------------- | ------------------------------- |
| **Befehlssatz** | Einfach, einheitlich, kurze Befehle | Komplex, unterschiedliche Länge |
| **Hardware** | Einfach, energieeffizient | Komplex oder Mikroprogramme |
| **Codegröße** | Größer | Kompakter |
| **Beispiele** | ARM, MIPS, SPARC, PowerPC | x86 (Intel, AMD), Zilog Z80 |
| **Vorteile** | Schneller bei genügend Registern | Speichereffizient |
| **Nachteile** | Mehr Programmspeicher nötig | Langsame komplexe Befehle |
Unterschied zwischen CISC und RISC CPUs Gibt es Mischformen?
| ==Merkmal== | ==CISC (Complex Instruction Set Computer)== | ==RISC (Reduced Instruction Set Computer)== |
| :--------------- | :------------------------------------------ | :------------------------------------------ |
| Befehlssatz | Viele, komplexe Befehle | Wenige, einfache Befehle |
| Hardwareaufbau | Komplexe Steuerlogik oder Mikroprogramme | Einfache, schnelle Hardware |
| Befehlslänge | Unterschiedlich lang (z.B. 115 Byte) | Gleich lang (z.B. 4 Byte) |
| Operationen | Direkt mit Speicher möglich | Nur mit Registern (Load/Store-Prinzip) |
| Speicherbedarf | Geringer, da kompakter Code | Höher, da mehr Befehle nötig |
| Energieeffizienz | Weniger effizient | Höher, da keine ungenutzten Logikblöcke |
| Fokus | Effizienz bei Assembler-Programmierung | Optimierung für Compiler und Pipeline |
---