cleared cache because workspace.json is abnoxious

This commit is contained in:
2026-02-03 16:06:53 +01:00
parent c7a38e5b40
commit c50d6e3fa5
288 changed files with 0 additions and 226732 deletions

View File

@@ -1,72 +0,0 @@
## 📘 **Zusammenfassung: V4 Prozessor (Teil 2) Computerarchitektur**
### 🔁 Wiederholung aus Teil 1
- **Instruktionstypen (MIPS):**
- **R-Format:** arithmetische/logische Operationen (z.B. `add $s1,$s2,$s3`)
- **Load/Store:** Speicherzugriff (z.B. `lw`, `sw`)
- **Branch:** bedingte Sprünge (`beq`, `bne`)
- **Datenpfad (Full Datapath):**
- Register → ALU → Speicher → Register
- Separate Instruktions- und Datenspeicher nötig, da ein Zugriff pro Zyklus
---
### ⚙️ Steuerungseinheit (Control Unit)
- **Erzeugt Steuersignale aus dem Opcode:**
- **MemtoReg:** bestimmt Datenquelle für Register-Schreiben
- **ALUSrc:** wählt ALU-Operand (Register vs. unmittelbarer Wert)
- **RegWrite:** aktiviert Schreibzugriff auf Register
- **MemRead/MemWrite:** steuern Speicherzugriffe
- **Branch:** aktiviert bei bedingten Sprüngen
- **ALU Control:**
- Basierend auf Opcode und Funct-Feld
- Beispiel Mapping:
| ALUOp | Funct | ALU-Funktion |
| ----- | ------ | ------------ |
| 00 | XXXXXX | `add` |
| 01 | XXXXXX | `sub` |
| 10 | 100000 | `add` |
| 10 | 100010 | `sub` |
| 10 | 100100 | `and` |
| 10 | 100101 | `or` |
| 10 | 101010 | `slt` |
---
### 📦 Erweiterter Datenpfad
- Unterstützung für:
- **Jumps (`j`, `jal`):**
- PC-Update mit 26-Bit Zieladresse + oberen 4 Bit des alten PCs
- Steuerleitung „Jump“ wird aus Opcode dekodiert
- **Branches (`beq`, `bne`):**
- Zieladresse berechnen (PC+4 + Offset << 2)
- ALU prüft, ob Bedingung erfüllt (Zero-Flag)
---
### 🚨 Performance-Betrachtung
- **Ein-Zyklus-Datenpfad Problem:**
- Längster Pfad (Critical Path) bestimmt Taktfrequenz
- Beispiel: Load-Befehl → Instruktionsspeicher → Registerfile → ALU → Datenspeicher → Registerfile
- Unterschiedliche Instruktionen hätten unterschiedliche Latenzen → nicht praktikabel
- **Lösung:** **Pipelining**
- Aufteilung des Datenpfads in Stufen
- Überlappende Bearbeitung mehrerer Instruktionen
---
### 📝 Für die Klausur merken
✅ Steuersignale (MemtoReg, ALUSrc, RegWrite, Branch, Jump)
✅ ALU Control Mapping (wie wird aus Opcode+Funct ALU-Funktion bestimmt?)
✅ Erweiterung des Datenpfads für Jump/Branch
✅ Problem des Ein-Zyklus-Datenpfads (Critical Path) → Motivation für Pipelining
✅ Unterschied: Jump vs. Branch
---