vault backup: 2025-07-07 19:57:44
This commit is contained in:
111
Semester 6/COMARCH/Zusammenfassung/Vorlesung 3.md
Normal file
111
Semester 6/COMARCH/Zusammenfassung/Vorlesung 3.md
Normal 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)
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user