## 📘 **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) ---