Heterogeneous System Architecture

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Heterogenous System Architecture (kurz HSA, ehemals Fusion System Architecture)[1] ist ein von AMD entwickeltes Prozessorkonzept, um Haupt- und Grafikprozessor möglichst effizient auf einem Computerchip (Die) zu vereinen und dadurch das Ausführen von spezialisierten Programmen zu beschleunigen. Dies soll unter anderem die Gesamtleistung von APUs (Accelerated Processing Unit) deutlich steigern. Hauptmerkmal von HSA ist, dass die CPU-Kerne und der Grafikprozessor auf einen gemeinsamen Adressraum und Speicher (RAM) zugreifen.

Geschichte[Bearbeiten | Quelltext bearbeiten]

AMD kündigte das HSA-Programm auf dem AFDS (AMD Fusion Developer Summit) 2011 an, mit dem Ziel die Verarbeitungsgeschwindigkeit diverser Aufgaben immens zu beschleunigen. Wegen Markenrechtsschwierigkeiten mit Arctic (unter anderem bekannt für CPU- und GPU-Kühler) musste AMD das damals noch FSA (Fusion System Architecture) genannte Programm in HSA umbenennen.

Auf dem AFDS 2012 kündigte AMD die Gründung der sogenannten HSA Foundation an, bei der AMD mit anderen Chipentwicklern an einem gemeinsamen Konzept der HSA arbeiten wollte. Mitglieder der HSA Foundation sind unter anderen ARM und Texas Instruments.[2]

Zukünftig plant AMD in Zusammenarbeit mit ARM, die Softwareindustrie stärker dazu zu bewegen, ihre Produkte auf HSA zu optimieren und evtl. zusätzlich noch mehrere Hardwarehersteller zu gewinnen.

Gründer der HSA Foundation[Bearbeiten | Quelltext bearbeiten]

Technisches[Bearbeiten | Quelltext bearbeiten]

AMD-Graphikstack unter Linux mit HSA (durch den Treiber amdkfd)

Das Konzept der HSA beruht darauf, dass der Grafikteil von APUs allgemeine Aufgaben (GPGPU) übernehmen und dadurch spezielle Rechenoperationen beschleunigen kann. Die Grafikeinheit ist mit C++ und OpenCL programmierbar. Das Entwicklungspaket "HSA SDK" soll zusätzlich als Abstraktionsebene die "HSA intermediate language" (HSAIL) anbieten, um C++-Code für die APU zu optimieren. Ebenso erhält diese Zwischenschicht die Kompatibilität zwischen unterschiedlichen APUs.

Die aktuell höchste Ausbaustufe von HSA im Desktop- und Notebookmarkt ist die Kaveri APU, die Kohärenz im Speicher gewährleisten kann und auch AMDs "Heterogeneous Uniform Memory Access" (hUMA) beherrscht.

Die GPU wird verwendet, da diese mit ihren parallelen Ausführungseinheiten sehr gut Gleitkommarechenoperationen schnell und effizient ausführen können. Im Gegensatz zur normalen CPU bieten diese nämlich viel mehr Gleitkommaeinheiten. Aktuelle CPUs bieten bei AMD nur eine Gleitkommaeinheit pro Modul (AMD Bulldozer Architektur) und bei Intel nur eine Gleitkommaeinheit pro Kern (Intel-Sandybridge-Architektur').

Merkmale[Bearbeiten | Quelltext bearbeiten]

Die Merkmale eines Prozessors mit HSA-Unterstützung sind, dass der Grafikprozessor und Hauptprozessor auf demselben Computerchip vereint sind. Dies erleichtert den schnelleren Datenaustausch zwischen den beiden Einheiten, und somit kann man softwareseitig Aufgaben stark beschleunigen. Unter anderem verringert dies die Komplexität von Rechner-Hauptplatinen, da dort kein Extra-Grafikchip mehr aufgelötet zu werden braucht. Ein weiteres wichtiges Merkmal ist, dass im Endausbaustadium der Grafikteil einen kohärenten Speicher und gemeinsamen Adressraum aufweist und mit C++ bzw. OpenCL programmierbar ist. Dies hat AMD bereits in seinen Kaveri-APUs mit Graphics-Core-Next-Grafikarchitektur integriert. Auch können Chipfertiger über die HSA 3rd-Party-IP-Bestandteile in ihre Mikrochips integrieren. Dies ist bei der Nachfolgergeneration der stromsparenden ("low power") Chips auf Basis der Jaguar-Architektur der Fall. Dort ist beispielsweise die ARM TrustedZone direkt in den x86-Chip integriert.

Weiterentwicklung[Bearbeiten | Quelltext bearbeiten]

AMD plant, diverse Logik-Einheiten von Dritten wie z. Bsp. ARM-Kerne ihren APUs[3] hinzuzufügen und diese somit dem Verwendungszweck gezielt anzupassen. Die dritte Ausbaustufe von HSA vertreten die Kaveri- und Godavari-Modelle, die kohärenten Speicher und einen gemeinsamen Adressraum von CPU und GPU bieten. Sie sind mit 2–4 Steamroller-Kernen (Nachfolger von Piledriver) und Graphics-Core-Next-Grafikteil (momentan neueste Grafikchipgeneration von AMD) ausgestattet.[4]

Sony kündigte im Februar 2013 an, in ihrer PlayStation 4 x86-APUs mit AMDs Jaguar als CPU- und "Graphics Core Next" als GPU-Architektur zu verwenden. Diese besitzen wie Kaveri und Godavari die dritte HSA-Ausbaustufe und haben als Kabini bzw. Temash im Low-End Desktop- und Notebookmarkt bzw. im Tabletmarkt die vorherigen Modelle, basierend auf der Bobcat-Architektur, abgelöst.

Die vorerst letzte HSA-Ausbaustufe stellen die Carrizo-APUs mit Excavator-Kernen dar, welche 2016 um Bristol-Ridge-Versionen für den Desktop ergänzt werden sollen.[5]

Software[Bearbeiten | Quelltext bearbeiten]

Softwaremäßig wird HSA jetzt schon durch einige große Softwarehäuser unterstützt. Zu den unterstützten Programmen zählen die bekannten Bildbearbeitungsprogramme Gimp, Adobe Photoshop[6] und Darktable, wo diverse Funktionen via OpenCL auf dem Grafikteil laufen. Des Weiteren das Office-Paket LibreOffice (in der Tabellenkalkulation)[7], diverse Software zur Konvertierung und Anzeige von Videos wie z. B. Handbrake[8], x264, Sony Vegas, Adobe Premiere, Final Cut Pro, Avisynth sowie Web-Browser und Software für 3D-Rendering (z. B. Blender, Maya, 3dsMax[9]).

Software, die mit OpenCL programmiert wurde, wird auf Grafikprozessoren aller Hersteller beschleunigt. Ins Hintertreffen gerät dem gegenübergestellt aber NVIDIAs Eigenentwicklung CUDA.

PGI (The Portland Group) plant, einen entsprechenden HSA-Compiler in Partnerschaft von AMD zu entwickeln, mit dem man ohne viel eigenes Zutun Programme kompilieren kann, die durch die HSA Erweiterungen beschleunigt werden.[10][11]

Prozessoren mit HSA-Unterstützung[Bearbeiten | Quelltext bearbeiten]

Übersicht der Prozessoren mit HSA-Unterstützung
Entwickler CPU-Architektur GPU-Architektur Befehlssatz Codename Veröffentlichungsdatum Fertigung
AMD AMD Jaguar Graphics Core Next x86 (AMD64) PlayStation 4 SoC 2013 28nm
AMD AMD Steamroller Kaveri 2014
AMD AMD Puma+ Mullins & Beema
AMD ARM Cortex A57 ARMv8 (64-bit) Seattle
AMD AMD Steamroller x86 (AMD64) Godavari 2015
AMD AMD Excavator Carrizo
AMD AMD Puma+ Carrizo-L
AMD AMD Excavator Bristol Ridge 2016 28 nm
AMD AMD Zen Summit Ridge 2016 14nm
AMD AMD K12 ARMv8 (64-bit) n/a

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. AMDs „Fusion“-basierte Architektur wird umbenannt – Artikel bei ComputerBase, vom 20. Januar 2012. Abgerufen am 26. Juli 2012.
  2. Martin Fischer: AFDS 2012: AMD und ARM gehen Hand in Hand. In: heise online. 13. Juni 2012.
  3. Martin Fischer: AFDS 2012: AMD kündigt APU-Kombiprozessoren mit ARM-Kernen an. In: heise online. 14. Juni 2012.
  4. AMD 2012–2013 Mobile Roadmap. In: CPU-World.com (englisch).
  5. http://www.kitguru.net/components/cpu/anton-shilov/amd-preps-bristol-ridge-apus-carrizo-for-desktops/
  6. Häufig gestellte Fragen zu Photoshop und GPUs. Abgerufen am 31. Juli 2016 (deutsch).
  7. LibreOffice Wiki: OpenCL-Einstellungen. 7. Mai 2015, abgerufen am 31. Juli 2016 (deutsch).
  8. GPU Acceleration. Abgerufen am 31. Juli 2016 (englisch).
  9. AMD Radeon ProRender. Abgerufen am 31. Juli 2016 (englisch).
  10. http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1351715019
  11. http://www.planet3dnow.de/vbulletin/showthread.php?t=408921