issue
This commit is contained in:
BIN
Semester 6/COMARCH/Zusammenfassung/COMARCH.7z
Normal file
BIN
Semester 6/COMARCH/Zusammenfassung/COMARCH.7z
Normal file
Binary file not shown.
@@ -3,43 +3,29 @@
|
|||||||
### 🏛️ Was ist Computerarchitektur?
|
### 🏛️ Was ist Computerarchitektur?
|
||||||
|
|
||||||
- **Definition:** Untersuchung, wie alle Teile eines Computersystems entworfen werden müssen, um eine optimale Programmierung zu ermöglichen.
|
- **Definition:** Untersuchung, wie alle Teile eines Computersystems entworfen werden müssen, um eine optimale Programmierung zu ermöglichen.
|
||||||
|
|
||||||
- **Enthält:** Datentypen, Operationen, Merkmale, Komponenten auf unterschiedlichen Ebenen.
|
- **Enthält:** Datentypen, Operationen, Merkmale, Komponenten auf unterschiedlichen Ebenen.
|
||||||
|
|
||||||
- **Begriffspaare:**
|
- **Begriffspaare:**
|
||||||
|
|
||||||
- **Computerarchitektur** = was der Programmierer „sieht“ (Befehlssatz, Speicher, IO)
|
- **Computerarchitektur** = was der Programmierer „sieht“ (Befehlssatz, Speicher, IO)
|
||||||
|
|
||||||
- **Computerorganisation** = wie es technisch umgesetzt ist (Mikroarchitektur, Logikgatter)
|
- **Computerorganisation** = wie es technisch umgesetzt ist (Mikroarchitektur, Logikgatter)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔄 Wichtige Kundenfragen
|
### 🔄 Wichtige Kundenfragen
|
||||||
|
|
||||||
- Ist der neue Rechner **kompatibel**?
|
- Ist der neue Rechner **kompatibel**?
|
||||||
|
|
||||||
- Betriebssystem, Programme, Peripherie => **Abwärtskompatibilität**
|
- Betriebssystem, Programme, Peripherie => **Abwärtskompatibilität**
|
||||||
|
|
||||||
- Unterschiedliche Bedürfnisse von Mensch & Maschine → **Abstraktion nötig**
|
- Unterschiedliche Bedürfnisse von Mensch & Maschine → **Abstraktion nötig**
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🪜 Ebenen der Abstraktion (Virtuelle Maschinen)
|
### 🪜 Ebenen der Abstraktion (Virtuelle Maschinen)
|
||||||
|
|
||||||
1. **Ebene 0 – Digitale Logik:** Gatter, Flipflops
|
1. **Ebene 0 – Digitale Logik:** Gatter, Flipflops
|
||||||
|
|
||||||
2. **Ebene 1 – Mikroarchitektur:** ALU, Register, Datenpfade
|
2. **Ebene 1 – Mikroarchitektur:** ALU, Register, Datenpfade
|
||||||
|
|
||||||
3. **Ebene 2 – ISA (Instruction Set Architecture):** Maschinensprache
|
3. **Ebene 2 – ISA (Instruction Set Architecture):** Maschinensprache
|
||||||
|
|
||||||
4. **Ebene 3 – Betriebssystemebene:** Multiprogramming, IO-Abstraktion
|
4. **Ebene 3 – Betriebssystemebene:** Multiprogramming, IO-Abstraktion
|
||||||
|
|
||||||
5. **Ebene 4 – Assemblersprache:** maschinennahe Programmierung
|
5. **Ebene 4 – Assemblersprache:** maschinennahe Programmierung
|
||||||
|
|
||||||
6. **Ebene 5 – Höhere Programmiersprachen:** unabhängige Algorithmen
|
6. **Ebene 5 – Höhere Programmiersprachen:** unabhängige Algorithmen
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -48,97 +34,66 @@
|
|||||||
#### Nullte Generation (vor 1945)
|
#### Nullte Generation (vor 1945)
|
||||||
|
|
||||||
- Mechanische Rechenmaschinen (Pascal, Leibniz, Babbage)
|
- Mechanische Rechenmaschinen (Pascal, Leibniz, Babbage)
|
||||||
|
|
||||||
- Zuse Z3 (1941) – erster programmgesteuerter Computer
|
- Zuse Z3 (1941) – erster programmgesteuerter Computer
|
||||||
|
|
||||||
|
|
||||||
#### Erste Generation (1945–1955)
|
#### Erste Generation (1945–1955)
|
||||||
|
|
||||||
- Relais, Vakuumröhren
|
- Relais, Vakuumröhren
|
||||||
|
|
||||||
- **ENIAC**, **COLOSSUS**, **IAS-Maschine**
|
- **ENIAC**, **COLOSSUS**, **IAS-Maschine**
|
||||||
|
|
||||||
- Einführung der Mikroprogrammierung (Wilkes, 1951)
|
- Einführung der Mikroprogrammierung (Wilkes, 1951)
|
||||||
|
|
||||||
- Von-Neumann-Architektur:
|
- Von-Neumann-Architektur:
|
||||||
|
- Gemeinsamer Speicher für Daten & Programme
|
||||||
- Gemeinsamer Speicher für Daten & Programme
|
- Vorteil: Programme können sich selbst ändern
|
||||||
|
|
||||||
- Vorteil: Programme können sich selbst ändern
|
|
||||||
|
|
||||||
- Harvard-Architektur:
|
- Harvard-Architektur:
|
||||||
|
- Trennung von Daten- & Programmspeicher
|
||||||
- Trennung von Daten- & Programmspeicher
|
- Vorteil: schneller & sicherer
|
||||||
|
|
||||||
- Vorteil: schneller & sicherer
|
|
||||||
|
|
||||||
|
|
||||||
#### Zweite Generation (1955–1965)
|
#### Zweite Generation (1955–1965)
|
||||||
|
|
||||||
- **Transistoren** ersetzen Röhren
|
- **Transistoren** ersetzen Röhren
|
||||||
|
|
||||||
- Minicomputer (DEC PDP)
|
- Minicomputer (DEC PDP)
|
||||||
|
|
||||||
|
|
||||||
#### Dritte Generation (1965–1980)
|
#### Dritte Generation (1965–1980)
|
||||||
|
|
||||||
- **Integrierte Schaltungen**
|
- **Integrierte Schaltungen**
|
||||||
|
|
||||||
- IBM System/360 → Abwärtskompatibilität
|
- IBM System/360 → Abwärtskompatibilität
|
||||||
|
|
||||||
|
|
||||||
#### Vierte Generation (ab 1980)
|
#### Vierte Generation (ab 1980)
|
||||||
|
|
||||||
- **VLSI (Very Large Scale Integration)**
|
- **VLSI (Very Large Scale Integration)**
|
||||||
|
|
||||||
- Personal Computer (IBM PC, Commodore, Apple)
|
- Personal Computer (IBM PC, Commodore, Apple)
|
||||||
|
|
||||||
- RISC vs. CISC Architekturen
|
- RISC vs. CISC Architekturen
|
||||||
|
|
||||||
|
|
||||||
#### Fünfte Generation (heute)
|
#### Fünfte Generation (heute)
|
||||||
|
|
||||||
- Cloud Computing, Mobile Geräte, Embedded Systems
|
- Cloud Computing, Mobile Geräte, Embedded Systems
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🚀 Meilensteine
|
### 🚀 Meilensteine
|
||||||
|
|
||||||
- **Intel 4004 (1971):** erster Mikroprozessor (4-bit)
|
- **Intel 4004 (1971):** erster Mikroprozessor (4-bit)
|
||||||
|
|
||||||
- **Intel 8080, 8086:** Vorläufer moderner x86-Architektur
|
- **Intel 8080, 8086:** Vorläufer moderner x86-Architektur
|
||||||
|
|
||||||
- **Cray-1 (1977):** erster Vektorrechner/Supercomputer
|
- **Cray-1 (1977):** erster Vektorrechner/Supercomputer
|
||||||
|
|
||||||
- **PDP-11 (1970):** Unix & Programmiersprache C entstanden darauf
|
- **PDP-11 (1970):** Unix & Programmiersprache C entstanden darauf
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 📚 Literatur (Hauptquelle für Klausurvorbereitung)
|
### 📚 Literatur (Hauptquelle für Klausurvorbereitung)
|
||||||
|
|
||||||
- Patterson & Hennessy:
|
- Patterson & Hennessy:
|
||||||
|
- _Rechnerorganisation und Rechnerentwurf_
|
||||||
- _Rechnerorganisation und Rechnerentwurf_
|
- _Computer Organization and Design_ (RISC-V Edition)
|
||||||
|
|
||||||
- _Computer Organization and Design_ (RISC-V Edition)
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 📝 Organisatorisches
|
### 📝 Organisatorisches
|
||||||
|
|
||||||
- **Vorlesung:** Do 13:30–15:00
|
- **Vorlesung:** Do 13:30–15:00
|
||||||
|
|
||||||
- **Übung:** Do 15:15–16:00
|
- **Übung:** Do 15:15–16:00
|
||||||
|
|
||||||
- **Labor:** Do 16:15–19:15 (alle 2 Wochen)
|
- **Labor:** Do 16:15–19:15 (alle 2 Wochen)
|
||||||
|
|
||||||
- **Prüfung:** E-Klausur 90 min (mind. 50% zum Bestehen)
|
- **Prüfung:** E-Klausur 90 min (mind. 50% zum Bestehen)
|
||||||
|
|
||||||
- **Voraussetzungen:** DIGIT & BESYST bestanden
|
- **Voraussetzungen:** DIGIT & BESYST bestanden
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -3,89 +3,57 @@
|
|||||||
### 🔄 Wiederholung Computergenerationen
|
### 🔄 Wiederholung Computergenerationen
|
||||||
|
|
||||||
- **0. Generation (bis 1945):** Mechanische Rechenmaschinen (Pascal, Leibniz, Babbage, Zuse)
|
- **0. Generation (bis 1945):** Mechanische Rechenmaschinen (Pascal, Leibniz, Babbage, Zuse)
|
||||||
|
|
||||||
- **1. Generation (1945–1955):** Relais & Vakuumröhren – ENIAC, COLOSSUS, MANIAC
|
- **1. Generation (1945–1955):** Relais & Vakuumröhren – ENIAC, COLOSSUS, MANIAC
|
||||||
|
|
||||||
- **2. Generation (1955–1965):** Transistoren – Minicomputer (PDP), Supercomputer (CDC 6600)
|
- **2. Generation (1955–1965):** Transistoren – Minicomputer (PDP), Supercomputer (CDC 6600)
|
||||||
|
|
||||||
- **3. Generation (1965–1980):** Integrierte Schaltungen – IBM System/360, PDP-11
|
- **3. Generation (1965–1980):** Integrierte Schaltungen – IBM System/360, PDP-11
|
||||||
|
|
||||||
- **4. Generation (ab 1980):** VLSI – PCs, x86-Architektur
|
- **4. Generation (ab 1980):** VLSI – PCs, x86-Architektur
|
||||||
|
|
||||||
- **5. Generation (heute):** Smartphones, Cloud, Embedded Systems
|
- **5. Generation (heute):** Smartphones, Cloud, Embedded Systems
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🚀 Moore’s Law (Moor’sches Gesetz)
|
### 🚀 Moore’s Law (Moor’sches Gesetz)
|
||||||
|
|
||||||
- **Kerngedanke:** Verdopplung der Anzahl Transistoren pro IC alle 12–24 Monate.
|
- **Kerngedanke:** Verdopplung der Anzahl Transistoren pro IC alle 12–24 Monate.
|
||||||
|
|
||||||
- Auswirkungen:
|
- Auswirkungen:
|
||||||
|
- Kleinere Strukturen → geringere Kosten
|
||||||
- Kleinere Strukturen → geringere Kosten
|
- Mehr Komponenten → höhere Leistung
|
||||||
|
- Geringerer Stromverbrauch
|
||||||
- Mehr Komponenten → höhere Leistung
|
|
||||||
|
|
||||||
- Geringerer Stromverbrauch
|
|
||||||
|
|
||||||
- Aber: Miniaturisierung wird zunehmend teurer und schwieriger.
|
- Aber: Miniaturisierung wird zunehmend teurer und schwieriger.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 📊 Leistungsmessung von Computern
|
### 📊 Leistungsmessung von Computern
|
||||||
|
|
||||||
- **System-Benchmarks:** Cinebench, 3DMark, HPC Challenge
|
- **System-Benchmarks:** Cinebench, 3DMark, HPC Challenge
|
||||||
|
|
||||||
- **Kennzahlen:**
|
- **Kennzahlen:**
|
||||||
|
- Instruktionen/Sekunde (IPS), FLOPS
|
||||||
- Instruktionen/Sekunde (IPS), FLOPS
|
- Taktzyklen pro Instruktion (CPI), Instruktionen pro Takt (IPC)
|
||||||
|
- Speicherzugriffszeit, Durchsatz
|
||||||
- Taktzyklen pro Instruktion (CPI), Instruktionen pro Takt (IPC)
|
- Netzwerk- & Grafikleistung (FPS, TPS)
|
||||||
|
|
||||||
- Speicherzugriffszeit, Durchsatz
|
|
||||||
|
|
||||||
- Netzwerk- & Grafikleistung (FPS, TPS)
|
|
||||||
|
|
||||||
- Kritik an MIPS: „Misleading Information to Promote Sales“ – nicht immer aussagekräftig.
|
- Kritik an MIPS: „Misleading Information to Promote Sales“ – nicht immer aussagekräftig.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🤖 Computer als endlicher Automat (Finite State Machine)
|
### 🤖 Computer als endlicher Automat (Finite State Machine)
|
||||||
|
|
||||||
- **Zustände:** durch Bitmuster repräsentiert
|
- **Zustände:** durch Bitmuster repräsentiert
|
||||||
|
|
||||||
- **Operation:** Boolesche Funktion auf Teilzuständen
|
- **Operation:** Boolesche Funktion auf Teilzuständen
|
||||||
|
|
||||||
- Vergleichbare Modelle:
|
- Vergleichbare Modelle:
|
||||||
|
- Schaltnetz (ohne Schleifen)
|
||||||
- Schaltnetz (ohne Schleifen)
|
- Endlicher Automat (deterministisch/nichtdeterministisch)
|
||||||
|
- Kellerautomat (mit Stack)
|
||||||
- Endlicher Automat (deterministisch/nichtdeterministisch)
|
- Turingmaschine (unendliches Band)
|
||||||
|
|
||||||
- Kellerautomat (mit Stack)
|
|
||||||
|
|
||||||
- Turingmaschine (unendliches Band)
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🚌 Speicheranbindung & Endianness
|
### 🚌 Speicheranbindung & Endianness
|
||||||
|
|
||||||
- Speicheradressierung:
|
- Speicheradressierung:
|
||||||
|
- **big-endian:** höchstwertiges Byte an kleinster Adresse
|
||||||
- **big-endian:** höchstwertiges Byte an kleinster Adresse
|
- **little-endian:** niedrigstwertiges Byte zuerst
|
||||||
|
|
||||||
- **little-endian:** niedrigstwertiges Byte zuerst
|
|
||||||
|
|
||||||
- Bus-System:
|
- Bus-System:
|
||||||
|
- Bus-Takt meist langsamer als CPU-Takt
|
||||||
- Bus-Takt meist langsamer als CPU-Takt
|
- Cache als schneller Zwischenspeicher
|
||||||
|
|
||||||
- Cache als schneller Zwischenspeicher
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -94,22 +62,15 @@
|
|||||||
#### Rechenwerk (ALU)
|
#### Rechenwerk (ALU)
|
||||||
|
|
||||||
- Operationen: +, −, *, /, logische Operationen
|
- Operationen: +, −, *, /, logische Operationen
|
||||||
|
|
||||||
- Moderne CPUs: mehrere Register → direkte Register-Register-Operationen
|
- Moderne CPUs: mehrere Register → direkte Register-Register-Operationen
|
||||||
|
|
||||||
- Ältere CPUs: Akkumulator-Register für ALU-Operationen
|
- Ältere CPUs: Akkumulator-Register für ALU-Operationen
|
||||||
|
|
||||||
|
|
||||||
#### Steuerwerk
|
#### Steuerwerk
|
||||||
|
|
||||||
- Verantwortlich für:
|
- Verantwortlich für:
|
||||||
|
- Ausführung der Befehle
|
||||||
- Ausführung der Befehle
|
- Datenflusskontrolle
|
||||||
|
- Ausnahmebehandlung & Interrupts
|
||||||
- Datenflusskontrolle
|
|
||||||
|
|
||||||
- Ausnahmebehandlung & Interrupts
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -118,48 +79,31 @@
|
|||||||
#### 1️⃣ Stack-Architektur
|
#### 1️⃣ Stack-Architektur
|
||||||
|
|
||||||
- Operanden und Ergebnisse liegen auf Stack.
|
- Operanden und Ergebnisse liegen auf Stack.
|
||||||
|
|
||||||
- Vorteile: kompakter Code, minimaler Prozessorzustand
|
- Vorteile: kompakter Code, minimaler Prozessorzustand
|
||||||
|
|
||||||
- Nachteil: viele Speicherzugriffe
|
- Nachteil: viele Speicherzugriffe
|
||||||
|
|
||||||
- Heute: nur noch in virtuellen Maschinen (JVM, p-Machine)
|
- Heute: nur noch in virtuellen Maschinen (JVM, p-Machine)
|
||||||
|
|
||||||
|
|
||||||
#### 2️⃣ Akkumulator-Architektur
|
#### 2️⃣ Akkumulator-Architektur
|
||||||
|
|
||||||
- Ein Register (Akkumulator) für Operanden & Ergebnis
|
- Ein Register (Akkumulator) für Operanden & Ergebnis
|
||||||
|
|
||||||
- Speicherzugriff für zweiten Operand nötig
|
- Speicherzugriff für zweiten Operand nötig
|
||||||
|
|
||||||
- Kompakt, aber teuer durch Speicherzugriffe
|
- Kompakt, aber teuer durch Speicherzugriffe
|
||||||
|
|
||||||
|
|
||||||
#### 3️⃣ Register-Memory-Architektur
|
#### 3️⃣ Register-Memory-Architektur
|
||||||
|
|
||||||
- Mehrere Register, 2. Operand aus Speicher
|
- Mehrere Register, 2. Operand aus Speicher
|
||||||
|
|
||||||
- Zwei-Adress-Befehle
|
- Zwei-Adress-Befehle
|
||||||
|
|
||||||
- Vorteil: direkt mit Speicher arbeiten
|
- Vorteil: direkt mit Speicher arbeiten
|
||||||
|
|
||||||
- Nachteil: Speicherzugriffe kosten Zeit
|
- Nachteil: Speicherzugriffe kosten Zeit
|
||||||
|
|
||||||
|
|
||||||
#### 4️⃣ Register-Register (Load/Store)-Architektur
|
#### 4️⃣ Register-Register (Load/Store)-Architektur
|
||||||
|
|
||||||
- Arithmetik nur auf Registern
|
- Arithmetik nur auf Registern
|
||||||
|
|
||||||
- Speicherzugriff explizit mit Load/Store
|
- Speicherzugriff explizit mit Load/Store
|
||||||
|
|
||||||
- Drei-Adress-Befehle
|
- Drei-Adress-Befehle
|
||||||
|
|
||||||
- Vorteil: keine unnötigen Speicherzugriffe
|
- Vorteil: keine unnötigen Speicherzugriffe
|
||||||
|
|
||||||
- Nachteil: mehr Befehle nötig → größerer Code
|
- Nachteil: mehr Befehle nötig → größerer Code
|
||||||
|
|
||||||
- Typisch für **RISC-Architekturen**
|
- Typisch für **RISC-Architekturen**
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,32 +2,22 @@
|
|||||||
|
|
||||||
### 🧠 Einführung: CPU-Leistungsfaktoren
|
### 🧠 Einführung: CPU-Leistungsfaktoren
|
||||||
|
|
||||||
- **Instruction Count (IC):** Anzahl der Befehle → bestimmt durch ISA & Compiler
|
- **Instruction Count (IC):** Anzahl der Befehle → bestimmt durch ISA & Compiler\
|
||||||
|
- **Cycles Per Instruction (CPI):** Anzahl der Takte pro Befehl → bestimmt durch Hardware\
|
||||||
- **Cycles Per Instruction (CPI):** Anzahl der Takte pro Befehl → bestimmt durch Hardware
|
- **Cycle Time (CT):** Dauer eines Takts → bestimmt durch Hardware\
|
||||||
|
- **CPU-Zeit Formel:**\
|
||||||
- **Cycle Time (CT):** Dauer eines Takts → bestimmt durch Hardware
|
|
||||||
|
|
||||||
- **CPU-Zeit Formel:**
|
|
||||||
|
|
||||||
CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT
|
CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔁 Ablauf der Instruktionsausführung
|
### 🔁 Ablauf der Instruktionsausführung
|
||||||
|
|
||||||
1. **Fetch:** Befehl aus Speicher laden (PC → Instruction Memory)
|
1. **Fetch:** Befehl aus Speicher laden (PC → Instruction Memory)\
|
||||||
|
2. **Decode:** Register lesen, Operanden bestimmen\
|
||||||
2. **Decode:** Register lesen, Operanden bestimmen
|
3. **Execute:** ALU berechnet Ergebnis oder Adresse\
|
||||||
|
4. **Memory Access:** Speicherzugriff bei Load/Store\
|
||||||
3. **Execute:** ALU berechnet Ergebnis oder Adresse
|
5. **Write Back:** Ergebnis ins Register zurückschreiben\
|
||||||
|
6. **PC Update:** PC + 4 oder Sprungadresse\
|
||||||
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
|
#### 📦 Register
|
||||||
|
|
||||||
- 32 Register: z. B. `$s0-$s7`, `$t0-$t9`, `$zero` (immer 0), `$sp`, `$ra`
|
- 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.\
|
||||||
- Daten müssen in Register geladen werden, bevor ALU-Operationen möglich sind.
|
|
||||||
|
|
||||||
|
|
||||||
#### 🛠️ Befehle (Beispiele)
|
#### 🛠️ Befehle (Beispiele)
|
||||||
|
|
||||||
@@ -56,47 +44,33 @@
|
|||||||
|
|
||||||
#### 🛠️ Bausteine
|
#### 🛠️ Bausteine
|
||||||
|
|
||||||
- **Register:** Speicherung von Zwischenwerten
|
- **Register:** Speicherung von Zwischenwerten\
|
||||||
|
- **ALU (Arithmetic Logic Unit):** führt Berechnungen durch\
|
||||||
- **ALU (Arithmetic Logic Unit):** führt Berechnungen durch
|
- **Multiplexer (MUX):** entscheidet zwischen Eingangsquellen\
|
||||||
|
- **Memory:** Instruktions- & Datenspeicher\
|
||||||
- **Multiplexer (MUX):** entscheidet zwischen Eingangsquellen
|
- **Control Unit:** steuert Datenfluss und Operationen\
|
||||||
|
|
||||||
- **Memory:** Instruktions- & Datenspeicher
|
|
||||||
|
|
||||||
- **Control Unit:** steuert Datenfluss und Operationen
|
|
||||||
|
|
||||||
|
|
||||||
#### 📐 Schrittweise Entwicklung
|
#### 📐 Schrittweise Entwicklung
|
||||||
|
|
||||||
- **R-Typ Befehle:** nur Registeroperationen
|
- **R-Typ Befehle:** nur Registeroperationen\
|
||||||
|
- **Load/Store:** ALU berechnet Adresse, Speicherzugriff\
|
||||||
- **Load/Store:** ALU berechnet Adresse, Speicherzugriff
|
- **Branch:** ALU-Vergleich → PC-Update bei Bedingung\
|
||||||
|
|
||||||
- **Branch:** ALU-Vergleich → PC-Update bei Bedingung
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔄 Taktgesteuerte Logik
|
### 🔄 Taktgesteuerte Logik
|
||||||
|
|
||||||
- **Kombinatorische Elemente:** berechnen Ausgaben ohne Zustände
|
- **Kombinatorische Elemente:** berechnen Ausgaben ohne Zustände\
|
||||||
|
- **Sequenzielle Elemente (Register):** speichern Zustände, aktualisieren mit **Taktflanke**\
|
||||||
- **Sequenzielle Elemente (Register):** speichern Zustände, aktualisieren mit **Taktflanke**
|
- **Clocking Methodology:** Längste Verzögerung bestimmt Taktperiode.\
|
||||||
|
|
||||||
- **Clocking Methodology:** Längste Verzögerung bestimmt Taktperiode.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔥 Besonderheiten MIPS
|
### 🔥 Besonderheiten MIPS
|
||||||
|
|
||||||
- **Load/Store Architektur:** Nur Load/Store greifen auf Speicher zu; alle anderen Befehle arbeiten mit Registern.
|
- **Load/Store Architektur:** Nur Load/Store greifen auf Speicher zu; alle anderen Befehle arbeiten mit Registern.\
|
||||||
|
- **Einheitliche Befehlslänge (32 Bit):** vereinfacht Dekodierung.\
|
||||||
- **Einheitliche Befehlslänge (32 Bit):** vereinfacht Dekodierung.
|
- **Pipelining-Fähigkeit:** parallele Bearbeitung mehrerer Instruktionen möglich (kommt in Teil 2).\
|
||||||
|
|
||||||
- **Pipelining-Fähigkeit:** parallele Bearbeitung mehrerer Instruktionen möglich (kommt in Teil 2).
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -3,89 +3,57 @@
|
|||||||
### 🔌 Schaltnetze (Combinatorial Logic)
|
### 🔌 Schaltnetze (Combinatorial Logic)
|
||||||
|
|
||||||
- **Merkmale:**
|
- **Merkmale:**
|
||||||
|
- Keine Schleifen
|
||||||
- Keine Schleifen
|
- Keine Rückkopplung
|
||||||
|
- Keine Zustände (stateless)
|
||||||
- Keine Rückkopplung
|
- Gleiche Eingabe → gleiche Ausgabe
|
||||||
|
- Benötigt Zeit zur Ausgabeerzeugung (aber keinen Takt)
|
||||||
- Keine Zustände (stateless)
|
|
||||||
|
|
||||||
- Gleiche Eingabe → gleiche Ausgabe
|
|
||||||
|
|
||||||
- Benötigt Zeit zur Ausgabeerzeugung (aber keinen Takt)
|
|
||||||
|
|
||||||
- **Praxisbezug:** Einfache Logik wie Addierer, Multiplexer, Decoder sind Schaltnetze.
|
- **Praxisbezug:** Einfache Logik wie Addierer, Multiplexer, Decoder sind Schaltnetze.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔁 Endliche Automaten (Finite State Machines, FSM)
|
### 🔁 Endliche Automaten (Finite State Machines, FSM)
|
||||||
|
|
||||||
- **Merkmale:**
|
- **Merkmale:**
|
||||||
|
- Schleifen und Rückkopplungen möglich
|
||||||
- Schleifen und Rückkopplungen möglich
|
- Zustände vorhanden (stateful)
|
||||||
|
- Gleiche Eingabe kann unterschiedliche Ausgaben erzeugen – abhängig vom aktuellen Zustand
|
||||||
- Zustände vorhanden (stateful)
|
- Braucht Zeit zur Ausgabeerzeugung
|
||||||
|
- **Meist getaktet**, um Design und Analyse zu vereinfachen
|
||||||
- Gleiche Eingabe kann unterschiedliche Ausgaben erzeugen – abhängig vom aktuellen Zustand
|
|
||||||
|
|
||||||
- Braucht Zeit zur Ausgabeerzeugung
|
|
||||||
|
|
||||||
- **Meist getaktet**, um Design und Analyse zu vereinfachen
|
|
||||||
|
|
||||||
- **Praxisbezug:** Steuerwerke in Prozessoren sind typischerweise FSMs.
|
- **Praxisbezug:** Steuerwerke in Prozessoren sind typischerweise FSMs.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🕒 Vom Schaltnetz zum Endlichen Automaten
|
### 🕒 Vom Schaltnetz zum Endlichen Automaten
|
||||||
|
|
||||||
- Erweiterung von Schaltnetzen durch:
|
- Erweiterung von Schaltnetzen durch:
|
||||||
|
1. **Flip-Flops** → Speichern von Zuständen
|
||||||
1. **Flip-Flops** → Speichern von Zuständen
|
2. **Getaktete Flip-Flops** → Synchronisation der Zustandsänderung
|
||||||
|
3. **Flankengesteuerte Flip-Flops** → Reagieren nur auf steigende oder fallende Taktflanken
|
||||||
2. **Getaktete Flip-Flops** → Synchronisation der Zustandsänderung
|
|
||||||
|
|
||||||
3. **Flankengesteuerte Flip-Flops** → Reagieren nur auf steigende oder fallende Taktflanken
|
|
||||||
|
|
||||||
- Ergebnis: **Deterministischer Endlicher Automat (DEA)** mit Taktsteuerung.
|
- Ergebnis: **Deterministischer Endlicher Automat (DEA)** mit Taktsteuerung.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🔄 Struktur eines DEAs
|
### 🔄 Struktur eines DEAs
|
||||||
|
|
||||||
- **Bestandteile:**
|
- **Bestandteile:**
|
||||||
|
- Zustandspeicher (z. B. Flip-Flops)
|
||||||
- Zustandspeicher (z. B. Flip-Flops)
|
- Kombinatorische Logik
|
||||||
|
- Takt
|
||||||
- Kombinatorische Logik
|
|
||||||
|
|
||||||
- Takt
|
|
||||||
|
|
||||||
- **Ablauf:**
|
- **Ablauf:**
|
||||||
|
- Kombinatorische Logik berechnet den nächsten Zustand aus aktuellem Zustand + Eingabe
|
||||||
- Kombinatorische Logik berechnet den nächsten Zustand aus aktuellem Zustand + Eingabe
|
- Zustandspeicher aktualisiert sich bei Taktflanke
|
||||||
|
- Ausgabe wird aus Zustand/Eingabe erzeugt
|
||||||
- Zustandspeicher aktualisiert sich bei Taktflanke
|
|
||||||
|
|
||||||
- Ausgabe wird aus Zustand/Eingabe erzeugt
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### ⏱️ Zeitliche Aspekte
|
### ⏱️ Zeitliche Aspekte
|
||||||
|
|
||||||
- Jeder Schritt im Automaten braucht Zeit für:
|
- Jeder Schritt im Automaten braucht Zeit für:
|
||||||
|
- Propagation durch die Logik
|
||||||
- Propagation durch die Logik
|
- Synchronisation mit dem Takt
|
||||||
|
|
||||||
- Synchronisation mit dem Takt
|
|
||||||
|
|
||||||
- **Ohne Takt:** Asynchrone Schaltungen
|
- **Ohne Takt:** Asynchrone Schaltungen
|
||||||
|
|
||||||
- **Mit Takt:** Syntaktische FSM → bevorzugt in modernen Prozessoren
|
- **Mit Takt:** Syntaktische FSM → bevorzugt in modernen Prozessoren
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -96,14 +64,3 @@
|
|||||||
✅ DEA Aufbau: Zustandspeicher + Kombinatorische Logik + Takt
|
✅ DEA Aufbau: Zustandspeicher + Kombinatorische Logik + Takt
|
||||||
✅ Flankengesteuerte Flip-Flops: warum wichtig?
|
✅ Flankengesteuerte Flip-Flops: warum wichtig?
|
||||||
✅ Warum getaktete Automaten Analyse und Design erleichtern
|
✅ Warum getaktete Automaten Analyse und Design erleichtern
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 📦 Lernpaket (bisher)
|
|
||||||
|
|
||||||
- **V1 Einführung** → Überblick, Historie, Abstraktionsebenen
|
|
||||||
|
|
||||||
- **V2 Architekturen** → ISA-Arten, RISC vs. CISC, Moore’s Law
|
|
||||||
|
|
||||||
- **V3a Schaltnetze & Automaten** → Logikstrukturen & FSM
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,35 +5,20 @@
|
|||||||
### **1️⃣ Einführung – Computerarchitektur**
|
### **1️⃣ Einführung – Computerarchitektur**
|
||||||
|
|
||||||
- **Computerarchitektur**: Sicht des Programmierers (ISA, Speicher, I/O)
|
- **Computerarchitektur**: Sicht des Programmierers (ISA, Speicher, I/O)
|
||||||
|
|
||||||
- **Computerorganisation**: Umsetzung auf Hardware-Ebene (Mikroarchitektur)
|
- **Computerorganisation**: Umsetzung auf Hardware-Ebene (Mikroarchitektur)
|
||||||
|
|
||||||
- **Von-Neumann-Architektur**:
|
- **Von-Neumann-Architektur**:
|
||||||
|
- Gemeinsamer Speicher für Daten & Programme
|
||||||
- Gemeinsamer Speicher für Daten & Programme
|
- Vorteil: Einfachheit; Nachteil: Von-Neumann-Flaschenhals
|
||||||
|
|
||||||
- Vorteil: Einfachheit; Nachteil: Von-Neumann-Flaschenhals
|
|
||||||
|
|
||||||
- **Harvard-Architektur**:
|
- **Harvard-Architektur**:
|
||||||
|
- Trennung von Daten- und Programmspeicher
|
||||||
- Trennung von Daten- und Programmspeicher
|
|
||||||
|
|
||||||
- **Abstraktionsebenen**:
|
- **Abstraktionsebenen**:
|
||||||
|
- Ebene 0: Digitale Logik
|
||||||
- Ebene 0: Digitale Logik
|
- Ebene 1: Mikroarchitektur
|
||||||
|
- Ebene 2: ISA
|
||||||
- Ebene 1: Mikroarchitektur
|
- Ebene 3: Betriebssystem
|
||||||
|
- Ebene 4: Assemblersprache
|
||||||
- Ebene 2: ISA
|
- Ebene 5: Hochsprachen
|
||||||
|
|
||||||
- Ebene 3: Betriebssystem
|
|
||||||
|
|
||||||
- Ebene 4: Assemblersprache
|
|
||||||
|
|
||||||
- Ebene 5: Hochsprachen
|
|
||||||
|
|
||||||
- **Historie**: Zuse Z3 → ENIAC → IBM System/360 → Intel 4004 → ARM
|
- **Historie**: Zuse Z3 → ENIAC → IBM System/360 → Intel 4004 → ARM
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -48,106 +33,71 @@
|
|||||||
|Beispiele|ARM, MIPS|x86 (Intel, AMD)|
|
|Beispiele|ARM, MIPS|x86 (Intel, AMD)|
|
||||||
|
|
||||||
- **Befehlssatztypen**:
|
- **Befehlssatztypen**:
|
||||||
|
- Stack, Akkumulator, Register-Memory, Load/Store
|
||||||
- Stack, Akkumulator, Register-Memory, Load/Store
|
|
||||||
|
|
||||||
- **Moore’s Law**: Verdopplung der Transistorzahl alle ~18 Monate
|
- **Moore’s Law**: Verdopplung der Transistorzahl alle ~18 Monate
|
||||||
|
|
||||||
- **Leistungskennzahlen**: MIPS, FLOPS, CPI, IPC
|
- **Leistungskennzahlen**: MIPS, FLOPS, CPI, IPC
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **3️⃣ Schaltnetze & Endliche Automaten**
|
### **3️⃣ Schaltnetze & Endliche Automaten**
|
||||||
|
|
||||||
- **Schaltnetz**: stateless, keine Rückkopplung
|
- **Schaltnetz**: stateless, keine Rückkopplung
|
||||||
|
|
||||||
- **Endlicher Automat (FSM)**: stateful, mit Rückkopplung
|
- **Endlicher Automat (FSM)**: stateful, mit Rückkopplung
|
||||||
|
|
||||||
- **Flip-Flops**: Zustandspeicher, getaktet
|
- **Flip-Flops**: Zustandspeicher, getaktet
|
||||||
|
|
||||||
- **DEA**: Zustandslogik + Zustandspeicher + Takt
|
- **DEA**: Zustandslogik + Zustandspeicher + Takt
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **4️⃣ Prozessor (Teil 1)**
|
### **4️⃣ Prozessor (Teil 1)**
|
||||||
|
|
||||||
- **MIPS-ISA**:
|
- **MIPS-ISA**:
|
||||||
|
- R-Typ: `add $s1, $s2, $s3`
|
||||||
- R-Typ: `add $s1, $s2, $s3`
|
- Load/Store: `lw`, `sw`
|
||||||
|
- Branch: `beq`, `bne`
|
||||||
- Load/Store: `lw`, `sw`
|
|
||||||
|
|
||||||
- Branch: `beq`, `bne`
|
|
||||||
|
|
||||||
- **CPU-Leistungsformel**:
|
- **CPU-Leistungsformel**:
|
||||||
|
|
||||||
CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT
|
CPU-Zeit=IC×CPI×CTCPU\text{-Zeit} = IC \times CPI \times CT
|
||||||
- **Datenpfad-Bausteine**: ALU, Registerfile, Steuerwerk
|
- **Datenpfad-Bausteine**: ALU, Registerfile, Steuerwerk
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **5️⃣ Prozessor (Teil 2)**
|
### **5️⃣ Prozessor (Teil 2)**
|
||||||
|
|
||||||
- **Steuersignale**:
|
- **Steuersignale**:
|
||||||
|
- MemtoReg, RegWrite, ALUSrc, Branch, Jump
|
||||||
- MemtoReg, RegWrite, ALUSrc, Branch, Jump
|
|
||||||
|
|
||||||
- **ALU Control**: Bestimmt Operation aus Opcode + Funct
|
- **ALU Control**: Bestimmt Operation aus Opcode + Funct
|
||||||
|
|
||||||
- **Erweiterter Datenpfad**: Unterstützung für Jumps & Branches
|
- **Erweiterter Datenpfad**: Unterstützung für Jumps & Branches
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **6️⃣ Pipelining**
|
### **6️⃣ Pipelining**
|
||||||
|
|
||||||
- **5 Pipeline-Stufen**: IF → ID → EX → MEM → WB
|
- **5 Pipeline-Stufen**: IF → ID → EX → MEM → WB
|
||||||
|
|
||||||
- **Vorteil**: Erhöhter Durchsatz, gleiche Latenz
|
- **Vorteil**: Erhöhter Durchsatz, gleiche Latenz
|
||||||
|
|
||||||
- **Hazards**:
|
- **Hazards**:
|
||||||
|
- **Strukturell**
|
||||||
- **Strukturell**
|
- **Datenhazards**: Forwarding, Stalls
|
||||||
|
- **Kontrollhazards**: Branch Prediction (Static/Dynamic)
|
||||||
- **Datenhazards**: Forwarding, Stalls
|
|
||||||
|
|
||||||
- **Kontrollhazards**: Branch Prediction (Static/Dynamic)
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **7️⃣ Pipelining: Datapath & Control**
|
### **7️⃣ Pipelining: Datapath & Control**
|
||||||
|
|
||||||
- **Forwarding**: Bypassing von EX/MEM, MEM/WB
|
- **Forwarding**: Bypassing von EX/MEM, MEM/WB
|
||||||
|
|
||||||
- **Load-Use Hazard**: 1-Stall einfügen
|
- **Load-Use Hazard**: 1-Stall einfügen
|
||||||
|
|
||||||
- **Branch Prediction**:
|
- **Branch Prediction**:
|
||||||
|
- 1-Bit, 2-Bit Predictors
|
||||||
- 1-Bit, 2-Bit Predictors
|
- Branch Target Buffer (BTB)
|
||||||
|
|
||||||
- Branch Target Buffer (BTB)
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **8️⃣ Pipelining: Exceptions, Interrupts & ILP**
|
### **8️⃣ Pipelining: Exceptions, Interrupts & ILP**
|
||||||
|
|
||||||
- **Exceptions**: Fehler innerhalb CPU → EPC speichert PC
|
- **Exceptions**: Fehler innerhalb CPU → EPC speichert PC
|
||||||
|
|
||||||
- **Interrupts**: externe Ereignisse
|
- **Interrupts**: externe Ereignisse
|
||||||
|
|
||||||
- **ILP**:
|
- **ILP**:
|
||||||
|
- **Static (VLIW)** vs. **Dynamic (Superscalar)**
|
||||||
- **Static (VLIW)** vs. **Dynamic (Superscalar)**
|
- **Speculation**: Branch & Load Speculation
|
||||||
|
- **Register Renaming**: Verhindert WAW & WAR
|
||||||
- **Speculation**: Branch & Load Speculation
|
|
||||||
|
|
||||||
- **Register Renaming**: Verhindert WAW & WAR
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -164,52 +114,34 @@
|
|||||||
### **🔟 Speicheranbindung**
|
### **🔟 Speicheranbindung**
|
||||||
|
|
||||||
- **Speicherhierarchie**: Register → Cache → RAM → SSD/HDD
|
- **Speicherhierarchie**: Register → Cache → RAM → SSD/HDD
|
||||||
|
|
||||||
- **Caches**:
|
- **Caches**:
|
||||||
|
- Direct-Mapped, Set-Associative, Fully-Associative
|
||||||
- Direct-Mapped, Set-Associative, Fully-Associative
|
- Write-Through vs. Write-Back
|
||||||
|
- **AMAT**:
|
||||||
- Write-Through vs. Write-Back
|
|
||||||
|
|
||||||
- **AMAT**:
|
|
||||||
|
|
||||||
AMAT=HitTime+MissRate×MissPenaltyAMAT = HitTime + MissRate \times MissPenalty
|
AMAT=HitTime+MissRate×MissPenaltyAMAT = HitTime + MissRate \times MissPenalty
|
||||||
- **Cache Blocking**: Optimiert Speicherzugriffe
|
- **Cache Blocking**: Optimiert Speicherzugriffe
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **1️⃣1️⃣ Assembler**
|
### **1️⃣1️⃣ Assembler**
|
||||||
|
|
||||||
- **Assembler**: Übersetzt Assemblersprache → Maschinencode
|
- **Assembler**: Übersetzt Assemblersprache → Maschinencode
|
||||||
|
|
||||||
- **Zwei-Pass-Assembler**: Symboltabelle, Opcode-Tabelle
|
- **Zwei-Pass-Assembler**: Symboltabelle, Opcode-Tabelle
|
||||||
|
|
||||||
- **Linker**: Relokation & externe Referenzen
|
- **Linker**: Relokation & externe Referenzen
|
||||||
|
|
||||||
- **Makros**: Ersetzung bei Übersetzung
|
- **Makros**: Ersetzung bei Übersetzung
|
||||||
|
|
||||||
- **Dynamisches Binden**: DLL (Windows), SO (Unix)
|
- **Dynamisches Binden**: DLL (Windows), SO (Unix)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **1️⃣2️⃣ Compiler**
|
### **1️⃣2️⃣ Compiler**
|
||||||
|
|
||||||
- **Compiler-Phasen**:
|
- **Compiler-Phasen**:
|
||||||
|
1. Lexikalische Analyse
|
||||||
1. Lexikalische Analyse
|
2. Syntaktische Analyse (AST)
|
||||||
|
3. Semantische Analyse
|
||||||
2. Syntaktische Analyse (AST)
|
4. Zwischencode (3-Adress-Code)
|
||||||
|
5. Optimierung (lokal, global)
|
||||||
3. Semantische Analyse
|
6. Codegenerierung
|
||||||
|
|
||||||
4. Zwischencode (3-Adress-Code)
|
|
||||||
|
|
||||||
5. Optimierung (lokal, global)
|
|
||||||
|
|
||||||
6. Codegenerierung
|
|
||||||
|
|
||||||
- **Optimierungstechniken**: Loop Unrolling, Constant Folding, Dead Code Elimination
|
- **Optimierungstechniken**: Loop Unrolling, Constant Folding, Dead Code Elimination
|
||||||
|
|
||||||
- **Tools**: `cc -E`, `cc -S`, `cc -c`, `cc -o`
|
- **Tools**: `cc -E`, `cc -S`, `cc -c`, `cc -o`
|
||||||
@@ -220,24 +152,15 @@
|
|||||||
### **1️⃣3️⃣ Zuverlässigkeit & Virtualität**
|
### **1️⃣3️⃣ Zuverlässigkeit & Virtualität**
|
||||||
|
|
||||||
- **Zuverlässigkeit**:
|
- **Zuverlässigkeit**:
|
||||||
|
|
||||||
Availability=MTTFMTTF+MTTRAvailability = \frac{MTTF}{MTTF + MTTR}
|
Availability=MTTFMTTF+MTTRAvailability = \frac{MTTF}{MTTF + MTTR}
|
||||||
- **Hamming-Codes**: SEC/DED, ECC DRAM
|
- **Hamming-Codes**: SEC/DED, ECC DRAM
|
||||||
|
|
||||||
- **Virtuelle Maschinen (VMs)**:
|
- **Virtuelle Maschinen (VMs)**:
|
||||||
|
- Vorteile: Isolation, Sicherheit
|
||||||
- Vorteile: Isolation, Sicherheit
|
- VMM: verwaltet Ressourcen, Traps für privilegierte Instruktionen
|
||||||
|
|
||||||
- VMM: verwaltet Ressourcen, Traps für privilegierte Instruktionen
|
|
||||||
|
|
||||||
- **Virtueller Speicher**:
|
- **Virtueller Speicher**:
|
||||||
|
- Page Tables, TLB, Page Fault Handling
|
||||||
- Page Tables, TLB, Page Fault Handling
|
|
||||||
|
|
||||||
- **Cache-Kohärenz**:
|
- **Cache-Kohärenz**:
|
||||||
|
- Snooping, Directory-basierte Protokolle
|
||||||
- Snooping, Directory-basierte Protokolle
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user