## 📘 **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 
![[Pasted image 20250708193917.png]]
![[Pasted image 20250708193937.png]]
---

### 🧮 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)

---