Files
TI-Studium-Mitschriften/Semester 6/COMARCH/Zusammenfassung/Vorlesung 3.md
fzzinchemical 90dc632ada issue
2025-07-08 18:34:59 +02:00

85 lines
2.9 KiB
Markdown
Raw 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: 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)
---