Home

Mehrkernarchitekturen

Mehrkernarchitekturen bezeichnen Computerarchitekturen, bei denen mehrere unabhängige Recheneinheiten, Kerne genannt, auf einem einzigen Chip integriert sind. Die Kerne arbeiten gemeinsam an Programmen, nutzen denselben Hauptspeicher und teilen I/O-Ressourcen. Dadurch lassen sich parallele Ausführung und eine bessere Energieeffizienz erreichen, insbesondere bei multithreaded- oder parallelisierbaren Anwendungen.

Typische Merkmale sind eine gemeinsame Speicherhierarchie, pro Kern vorhandene Caches und ein Cache-Kohärenzprotokoll, das sicherstellt, dass

Die Programmierung von Mehrkernarchitekturen erfordert oft Parallelisierung, etwa durch Threads oder Aufgaben, die gleichzeitig auf mehreren

Historisch führten Mehrkerne in Personalcomputern zu deutlichen Leistungssteigerungen, ohne bei jedem Kern die Taktung erhöhen zu

Kopien
von
Daten
in
verschiedenen
Caches
konsistent
bleiben.
Die
Kerne
kommunizieren
über
einen
On-Chip-Interconnect,
der
Datenaustausch
und
Kohärenz
ermöglicht.
Mehrkernprozessoren
können
homogen
sein
(Kerne
mit
ähnlicher
Leistung)
oder
heterogen,
wobei
verschiedene
Kerne
unterschiedliche
Leistungs-
bzw.
Energieprofile
bieten
(beispielsweise
ARM
big.LITTLE-Designs).
Kernen
laufen.
Betriebssysteme
unterstützen
Scheduling
und
Synchronisation,
und
Entwickler
müssen
Faktoren
wie
Datenrennen,
Deadlocks
und
die
Kosten
von
Synchronisation
berücksichtigen.
Amdahls
Gesetz
mahnt,
dass
die
erzielbare
Beschleunigung
durch
Parallelisierung
von
dem
Anteil
serieller
Teile
einer
Aufgabe
begrenzt
wird.
müssen.
Heute
finden
sich
Mehrkerner
in
einer
Vielzahl
von
Mikroprozessorfamilien,
darunter
Intel
Core,
AMD
Ryzen
und
ARM-basierte
Systeme.
Zu
den
Herausforderungen
zählen
begrenzte
Speicherbandbreite,
Energieverbrauch
und
die
Komplexität
der
Software-Entwicklung,
insbesondere
bei
feinkörniger
Parallelität.