issue
This commit is contained in:
@@ -2,32 +2,22 @@
|
||||
|
||||
### 🧠 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:**
|
||||
|
||||
- **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
|
||||
|
||||
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\
|
||||
|
||||
---
|
||||
|
||||
@@ -35,10 +25,8 @@
|
||||
|
||||
#### 📦 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.
|
||||
|
||||
- 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)
|
||||
|
||||
@@ -56,47 +44,33 @@
|
||||
|
||||
#### 🛠️ 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
|
||||
|
||||
- **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
|
||||
|
||||
- **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.
|
||||
|
||||
- **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).
|
||||
|
||||
- **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).\
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user