Files
2025-07-07 19:57:44 +02:00

110 lines
2.7 KiB
Markdown
Raw Permalink 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: 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|1281024 KB|256 KB|
|L3 Cache|-|28 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
---