Original-URL des Artikels: https://www.golem.de/news/huma-gemeinsamer-speicher-fuer-cpu-und-gpu-nicht-nur-fuer-ps4-1304-99009.html    Veröffentlicht: 30.04.2013 06:01    Kurz-URL: https://glm.io/99009

Huma

Gemeinsamer Speicher für CPU und GPU nicht nur für PS4

Mit der Architektur "Huma" wird AMD Ende 2013 auch PC-Chips ausstatten. CPU und GPU haben dann einen einheitlichen Speicher, der von beiden Prozessoren angesprochen werden kann. Das bringt Tempo und Vereinfachungen für Programmierer.

Unter dem Namen "Heterogeneous Uniform Memory Access" (Huma) hat AMD eine neue Speicherarchitektur für seine kommenden APUs vorgestellt. In PCs soll Huma erstmals mit Kaveri Einzug halten. Diese APU mit Steamroller-Kernen und einer GCN-Grafikeinheit will AMD Ende des Jahres 2013 vorstellen.

Huma unterscheidet sich schon im Namen leicht von dem, was seit Jahrzehnten als "Unified Memory Access" (Uma) bei PCs bekannt ist. Bei Uma gibt es zwar physikalisch gemeinsamen Speicher für CPU und GPU, dieser wird aber von den beiden Prozessoren getrennt angesprochen und verwaltet. Dazu muss die GPU einen festen Teil des Hauptspeichers belegen, der für die CPU nicht mehr zur Verfügung steht. Das ist jedoch nur einer der Nachteile von UMA.

Der größte ist, dass zwischen den von CPU und GPU belegten Bereichen kein direkter Austausch vorgesehen ist. Wenn beispielsweise die GPU Daten benötigt, an denen die CPU gerade arbeitet, müssen diese Daten erst vom CPU- in den GPU-Speicher kopiert werden. Die Daten sind also doppelt vorhanden, was unnötig viel Speicher belegt. Zudem braucht das Kopieren Zeit, während der Prozessor, der sie braucht, kaum etwas anderes tun kann.

Die getrennte Adressierung von Daten ist also reichlich unelegant, und deshalb hat AMD mit Huma die Speicherbereiche gleich als "uniform" zusammengefasst. Huma kennt in der Logik von CPU und GPU nur noch einen Speicher, keine getrennten Bereiche mehr. Dafür erhalten die Daten nicht mehr feste, sondern für jeden Prozessor eigene virtuelle Adressen. Diese bezeichnet AMD als "Pointer" - wie sie technisch realisiert sind, hat das Unternehmen noch nicht verraten.

Zero Copy mit Erweiterungen

Wenn nun, wie im vorherigen Beispiel, die GPU Daten der CPU braucht, werden die Pointer nur umgeschrieben, ein Kopiervorgang findet nicht statt. Die Pointer, zu Deutsch: Zeiger, verweisen dann auf einen anderen Speicherbereich als vorher. Auch die Caches von CPU und GPU werden dabei nicht ungültig, weil sie über eine eigene Verbindung zur Cache-Kohärenz verfügen.

Das Verfahren ist als Zero Copy schon länger bekannt, auch Intels Haswell wird darüber verfügen. AMD hat, wie sich am Chip der Playstation 4 gezeigt hat, jedoch auch schon dafür gesorgt, dass der gesamte Speicher eines PCs aus GDDR5 bestehen kann. Intel setzt mit Haswell bis auf die Versionen mit eDRAM ganz auf DDR3, was langsamer, aber auch billiger ist.

Aus Sicht der Programmierer, die sich für die PS4 ausdrücklich einheitlichen Speicher gewünscht hatten, ist Huma eine Erleichterung. Die Trennung zwischen CPU- und GPU-Speicher entfällt, und der GPU-Speicher kann auch die gesamte tatsächliche Größe des Hauptspeichers belegen.

Die Kohärenz muss zudem nicht mehr auf mehreren Ebenen der Software vom Betriebssystem über Treiber bis zur Anwendung sichergestellt werden, sie wird von der Hardware erledigt. Wie es auch schon Sony betonte, erhofft sich AMD daraus auch eine leichtere Verlagerung von Programmen auf die GPU.  (nie)


Verwandte Artikel:
Nokia 6301: Nahtloser Übergang von WLAN ins GSM-Netz   
(20.09.2007, https://glm.io/54881 )
Intel: Haswell mit Spannungswandler und Overclocking-Versicherung   
(11.04.2013, https://glm.io/98676 )
Rory Read: AMD-Chef bekennt sich zu x86-Prozessoren   
(03.12.2012, https://glm.io/96092 )
CPU-Roadmap mit Threadripper: AMDs Monster Truck bekommt Nachfolger   
(09.03.2018, https://glm.io/133238 )
Ryzen 5 2400G und Ryzen 3 2200G im Test: Raven Ridge rockt   
(12.02.2018, https://glm.io/132531 )

© 1997–2019 Golem.de, https://www.golem.de/