Files
2025-07-21 11:52:03 +02:00

169 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 📘 **Zusammenfassung: V2 Architekturen Computerarchitektur**
### 🔄 Wiederholung Computergenerationen
- **0. Generation (bis 1945):** Mechanische Rechenmaschinen (Pascal, Leibniz, Babbage, Zuse)
- **1. Generation (19451955):** Relais & Vakuumröhren ENIAC, COLOSSUS, MANIAC
- **2. Generation (19551965):** Transistoren Minicomputer (PDP), Supercomputer (CDC 6600)
- **3. Generation (19651980):** Integrierte Schaltungen IBM System/360, PDP-11
- **4. Generation (ab 1980):** VLSI PCs, x86-Architektur
- **5. Generation (heute):** Smartphones, Cloud, Embedded Systems
---
### 🚀 Moores Law (Moorsches Gesetz)
- **Kerngedanke:** Verdopplung der Anzahl Transistoren pro IC alle 1224 Monate.
- Auswirkungen:
- Kleinere Strukturen → geringere Kosten
- Mehr Komponenten → höhere Leistung
- > Resultierend: Geringerer Stromverbrauch
- Aber: Miniaturisierung wird zunehmend teurer und schwieriger.
---
### 📊 Leistungsmessung von Computern
- **System-Benchmarks:** Cinebench, 3DMark, HPC Challenge
- **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. (MIPS => Million instructions per second)
---
### 🤖 Computer als endlicher Automat (Finite State Machine)
- **Zustände:** durch Bitmuster repräsentiert
- **Operation:** Boolesche Funktion auf Teilzuständen
- Vergleichbare Modelle:
- 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]]
---
### 🚌 Speicheranbindung & Endianness
- Speicheradressierung:
- **big-endian:** höchstwertiges Byte an kleinster Adresse
- **little-endian:** niedrigstwertiges Byte zuerst
- Bus-System:
- Bus-Takt meist langsamer als CPU-Takt
- Cache als schneller Zwischenspeicher
---
### ⚙️ Aufbau von Computersystemen
#### Rechenwerk (ALU)
- 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.
- 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)
#### 2⃣ Akkumulator-Architektur
- 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
- Mehrere Register, 2. Operand aus Speicher
- Zwei-Adress-Befehle
- Vorteil: direkt mit Speicher arbeiten
- Nachteil: Speicherzugriffe kosten Zeit
#### 4⃣ Register-Register (Load/Store)-Architektur
- Arithmetik nur auf Registern
- Speicherzugriff explizit mit Load/Store
- Drei-Adress-Befehle
- Vorteil: keine unnötigen Speicherzugriffe
- Nachteil: mehr Befehle nötig → größerer Code
- Typisch für **RISC-Architekturen**
---
### 🔥 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 |
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 |
---
### 📝 Für die Klausur merken
✅ Unterschiede der Architekturen (Stack, Akkumulator, Register-Memory, Load/Store)
✅ RISC vs. CISC: Vor- und Nachteile + Beispiele
✅ Endianness und Bedeutung bei Datentransfer
✅ Moores Law und dessen Grenzen
✅ Flaschenhals Speicherzugriff: Register > Cache > RAM > SSD > HDD