110 lines
2.7 KiB
Markdown
110 lines
2.7 KiB
Markdown
## 📘 **Zusammenfassung: V8a Intel und Arm – Computerarchitektur**
|
||
|
||
---
|
||
|
||
### ⚡ Power Efficiency: ARM vs. Intel
|
||
|
||
||**ARM Cortex-A8**|**Intel Core i7-920**|
|
||
|---|---|---|
|
||
|Markt|Mobile Devices|Server, Desktop|
|
||
|TDP (Thermal Power)|2 W|130 W|
|
||
|Taktfrequenz|1 GHz|2,66 GHz|
|
||
|Kerne pro Chip|1|4|
|
||
|Floating Point Unit|Nein|Ja|
|
||
|Multiple Issue|Statisch, in-order|Dynamisch, OoO + Spec.|
|
||
|Pipeline-Stufen|14|14|
|
||
|Branch Prediction|2-Level|2-Level|
|
||
|L1 Cache|32 KB I, 32 KB D|32 KB I, 32 KB D|
|
||
|L2 Cache|128–1024 KB|256 KB|
|
||
|L3 Cache|-|2–8 MB (shared)|
|
||
|Max Instr/Takt|2|4|
|
||
|
||
---
|
||
|
||
### 🔄 Pipelines im Vergleich
|
||
|
||
#### ARM Cortex-A8
|
||
|
||
- Pipeline: Statisch geplante Ausführung (in-order)
|
||
|
||
- Einfachere Hardware → energieeffizient
|
||
|
||
- Optimiert für mobile Geräte
|
||
|
||
|
||
#### Intel Core i7
|
||
|
||
- Pipeline: Dynamisch, out-of-order, mit Speculation
|
||
|
||
- Komplexere Hardware → höherer Energiebedarf
|
||
|
||
- Optimiert für High-Performance-Anwendungen
|
||
|
||
|
||
---
|
||
|
||
### 🧮 Instruction-Level Parallelism (ILP)
|
||
|
||
#### 💡 Multiple Issue:
|
||
|
||
- ARM: **Statische Planung** (Compiler entscheidet Reihenfolge)
|
||
|
||
- Intel: **Dynamische Planung** (CPU entscheidet zur Laufzeit)
|
||
|
||
- Dynamische Planung bietet bessere Ausnutzung, aber höheren Hardwareaufwand.
|
||
|
||
|
||
#### 🛠 Matrix-Multiplikation (Beispiel)
|
||
|
||
- **C-Code (mit Loop Unrolling & SIMD):**
|
||
|
||
- Nutzt AVX-Befehle (_mm256)
|
||
|
||
- **Assembly-Code:**
|
||
|
||
- Parallele Berechnungen mit YMM-Registers (256-Bit)
|
||
|
||
- Beispiel: `vmulpd`, `vaddpd`, `vbroadcastsd`
|
||
|
||
|
||
---
|
||
|
||
### ⚠️ Fallacies & Pitfalls
|
||
|
||
#### 🚧 Irrtümer
|
||
|
||
- **„Pipelining ist einfach“:** Nur die Grundidee ist einfach, Details (Hazard Detection, Forwarding) sind komplex.
|
||
|
||
- **„Pipelining ist unabhängig von Technologie“:** Fortschritte in Halbleitern machten es erst praktikabel.
|
||
|
||
|
||
#### 💥 Probleme
|
||
|
||
- Komplexe ISAs (z. B. x86) erschweren effiziente Pipeline-Implementierung.
|
||
|
||
- **Delayed Branches:** erhöhen Designaufwand
|
||
|
||
- **IA-32 Micro-Op-Ansatz:** wandelt komplexe Instruktionen in einfache Mikro-Operationen um
|
||
|
||
|
||
---
|
||
|
||
### 📜 Fazit
|
||
|
||
✅ ISA-Design beeinflusst Datapath- und Steuerwerk-Design – und umgekehrt
|
||
✅ Pipelining steigert Durchsatz, nicht Latenz
|
||
✅ Hazards (structural, data, control) sind zentrale Herausforderungen
|
||
✅ ILP steigert Parallelität, aber nur begrenzt durch Abhängigkeiten
|
||
✅ Komplexität → Energieverbrauch (Power Wall)
|
||
|
||
---
|
||
|
||
### 📝 Für die Klausur merken
|
||
|
||
✅ Unterschied ARM ↔ Intel (In-order vs. OoO, TDP, Pipelines)
|
||
✅ Statische vs. Dynamische Planung
|
||
✅ Vor- & Nachteile von ILP und Multiple Issue
|
||
✅ Fallacies (Irrtümer) beim Pipelining-Design
|
||
✅ Warum einfache ISAs (RISC) Pipelines erleichtern
|
||
|
||
--- |