vault backup: 2025-07-07 19:57:44

This commit is contained in:
fzzinchemical
2025-07-07 19:57:44 +02:00
parent 1638e96536
commit ed7da1341b
14 changed files with 1982 additions and 0 deletions

View File

@@ -0,0 +1,111 @@
## 📘 **Zusammenfassung: V3 Prozessor (Teil 1) Computerarchitektur**
### 🧠 Einführung: CPU-Leistungsfaktoren
- **Instruction Count (IC):** Anzahl der Befehle → bestimmt durch ISA & Compiler
- **Cycles Per Instruction (CPI):** Anzahl der Takte pro Befehl → bestimmt durch Hardware
- **Cycle Time (CT):** Dauer eines Takts → bestimmt durch Hardware
- **CPU-Zeit Formel:**
CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT
---
### 🔁 Ablauf der Instruktionsausführung
1. **Fetch:** Befehl aus Speicher laden (PC → Instruction Memory)
2. **Decode:** Register lesen, Operanden bestimmen
3. **Execute:** ALU berechnet Ergebnis oder Adresse
4. **Memory Access:** Speicherzugriff bei Load/Store
5. **Write Back:** Ergebnis ins Register zurückschreiben
6. **PC Update:** PC + 4 oder Sprungadresse
---
### 🗂️ MIPS-Befehlssatz (Überblick)
#### 📦 Register
- 32 Register: z.B. `$s0-$s7`, `$t0-$t9`, `$zero` (immer 0), `$sp`, `$ra`
- Daten müssen in Register geladen werden, bevor ALU-Operationen möglich sind.
#### 🛠️ Befehle (Beispiele)
|**Kategorie**|**Befehl**|**Beispiel**|**Bedeutung**|
|---|---|---|---|
|Arithmetisch|`add`|`add $s1,$s2,$s3`|`$s1 = $s2 + $s3`|
|Datentransfer|`lw`, `sw`|`lw $s1,20($s2)`|`$s1 = Memory[$s2+20]`|
|Logisch|`and`, `or`|`and $s1,$s2,$s3`|`$s1 = $s2 & $s3`|
|Bedingte Verzweigung|`beq`, `bne`|`beq $s1,$s2,Label`|Sprung, falls `$s1 == $s2`|
|Unbedingter Sprung|`j`, `jal`|`j Label`|Sprung zu Adresse `Label`|
---
### 🧮 Aufbau der CPU: Datenpfad (Datapath)
#### 🛠️ Bausteine
- **Register:** Speicherung von Zwischenwerten
- **ALU (Arithmetic Logic Unit):** führt Berechnungen durch
- **Multiplexer (MUX):** entscheidet zwischen Eingangsquellen
- **Memory:** Instruktions- & Datenspeicher
- **Control Unit:** steuert Datenfluss und Operationen
#### 📐 Schrittweise Entwicklung
- **R-Typ Befehle:** nur Registeroperationen
- **Load/Store:** ALU berechnet Adresse, Speicherzugriff
- **Branch:** ALU-Vergleich → PC-Update bei Bedingung
---
### 🔄 Taktgesteuerte Logik
- **Kombinatorische Elemente:** berechnen Ausgaben ohne Zustände
- **Sequenzielle Elemente (Register):** speichern Zustände, aktualisieren mit **Taktflanke**
- **Clocking Methodology:** Längste Verzögerung bestimmt Taktperiode.
---
### 🔥 Besonderheiten MIPS
- **Load/Store Architektur:** Nur Load/Store greifen auf Speicher zu; alle anderen Befehle arbeiten mit Registern.
- **Einheitliche Befehlslänge (32 Bit):** vereinfacht Dekodierung.
- **Pipelining-Fähigkeit:** parallele Bearbeitung mehrerer Instruktionen möglich (kommt in Teil 2).
---
### 📝 Für die Klausur merken
✅ CPU-Leistungsfaktoren & Formel
✅ MIPS-Befehle (insbesondere `lw`, `sw`, `add`, `beq`, `j`)
✅ Unterschied komb. Logik ↔ sequenzielle Logik
✅ Aufbau des Datenpfades & Rolle der einzelnen Elemente
✅ Load/Store-Prinzip (Register-Register-Arithmetik)
---