TweakPC



AMD hUMA: Einheitlicher Speicheradressenraum für heterogene Systeme

Dienstag, 30. Apr. 2013 04:25 - [jm] - Quelle:AMD

Für die Verschmelzung von CPUs und GPUs zu APUs ist mehr nötig als nur die physikalische Integration in einem Chip. Mit hUMA stellt AMD einen weiteren Teilschritt der HSA (Heterogenous System Architecture) vor.

AMD hat einen weiteren Teilschritt auf dem Weg zu heterogenen Systemarchitekturen vorgestellt. Mit der ersten APU-Generation ("Llano") gelang dem Unternehmen die integration von vollwertigen CPUs und GPUs in einem Chip, die GPU-Einheiten der zweiten APU-Generation ("Trinity") vermochten bereits über den Umweg der Memory Management Unit (MMU) sehr rudimentär Daten im Speicheradressenraum der CPU zu bearbeiten.

Mit hUMA (heterogenous Unified Memory Access) geht das Unternehmen bei der Integration einen weiteren Schritt. In den meisten Computergeräten wird den Prozessoren physikalischer Speicher über die logische Ebene des virtuellen Speichers sichtbar gemacht. Dadurch ist es beispielsweise einerseits möglich, Prozessen einen zusammenhängenden Adressenraum zuzuweisen, auch wenn die Daten an unterschiedlichen Stellen im physikalischen Speicher liegen (Fragmentierung). Andererseits können so unterschiedliche Arten von physikalischem Speicher adressiert, etwa neben dem RAM auch die Auslagerungsdatei auf der Festplatte mit einbezogen werden.

Die Abgrenzung zwischen den Teilräumen virtueller Speicheradressen von CPU und GPU wird mittels hUMA aufgelöst: Die beiden Einheiten "sehen" einen gemeinsamen virtuellen Adressenraum, den sie auch gemeinsam bearbeiten können.

AMD hUMA: Einheitlicher Speicheradressenraum für heterogene Systeme

Möglich wird dies durch drei Schlüsselmerkmale. Erstens durch die Sicherstellung von Datenkohärenz auf Hardwareebene. Sobald eine der Prozessoreneinheiten Daten ändert, reagiert die andere Einheit wenn nötig darauf. Wenn die GPU also Daten im Arbeitsspeicher manipuliert, dann muss die CPU diese Daten gegebenenfalls in ihrem Cache aktualisieren und umgekehrt.
Zweitens kann die GPU mit Page Faults umgehen: Greift sie auf Daten zu, die beispielsweise temporär auf die Festplatte ausgelagert wurden, dann wartet sie, bis die Daten in den Arbeitsspeicher transferiert wurden. Die Daten müssen nicht mehr tatsächlich im Arbeitsspeicher vorhanden und exklusiv für die Bearbeitung durch die GPU bereitgestellt werden.
Drittens ergibt sich für beide Teileinheiten ein einheitlicher Speicherraum, den sie dynamisch adressieren und auf den sie direkt zugreifen können.

AMD hUMA: Einheitlicher Speicheradressenraum für heterogene Systeme

Im Ergebnis kann so eine höhere Leistung bei Aufgaben erzielt werden, für deren Erledigung CPU und GPU gemeinsam rechnen. Daten müssen nicht mehr zwischen zwei virtuellen Speicherräumen hin- und herkopiert werden, der Verweis auf Speicheradressen erfolgt direkter.

Laut AMD sollen von hUMA aber insbesondere Anwendungsentwickler profitieren, welche die Stärken heterogener Systeme für ihre Produkte nutzen wollen. Durch die Sicherstellung von Kohärenz auf Hardwareebene entfällt komplizierte und aufwendige Neuprogrammierung und schwieriges Debugging. Durch die Unterstützung von gängigen Programmiersprachen wie Python, C++ oder Java kann für Softwarentwickler der Einsatz spezieller APIs entfallen. Kurz: AMD verspricht Programmierern deutlich weniger Entwicklungsaufwand und dadurch sich selbst eine höhere Attraktivität der eigenen heterogenen Plattformen.
Verwandte Testberichte, News, Kommentare
ueber TweakPC: Impressum, Datenschutz Copyright 1999-2024 TweakPC, Alle Rechte vorbehalten, all rights reserved. Mit * gekennzeichnete Links sind Affiliates.