Heterogeneous System Architecture
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 Prozessorkerne und der Grafikprozessor auf einen gemeinsamen Adressraum und Speicher (RAM) zugreifen.
Geschichte
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
- AMD
- ARM
- Imagination
- MediaTek
- Qualcomm
- Samsung
- Texas Instruments
Technisches
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Linux_AMD_graphics_stack.svg/500px-Linux_AMD_graphics_stack.svg.png)
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 Prozessorkernoptimieren. 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 (Graphics Processing Unit, Grafikprozessor) wird verwendet, da diese mit ihren parallelen Ausführungseinheiten sehr gut Gleitkommarechenoperationen schnell und effizient ausführen können. Im Gegensatz zur normalen CPU (Central Processing Unit, Prozessor) 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
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
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
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
Entwickler | CPU-Architektur | GPU-Architektur | Befehlssatz | Codename | Veröffentlichungsdatum | Fertigung |
---|---|---|---|---|---|---|
AMD | AMD Jaguar | Graphics Core Next | x86-64 | PlayStation 4 SoC | 2013 | 28 nm |
AMD | AMD Steamroller | Kaveri | 2014 | |||
AMD | AMD Puma+ | Mullins & Beema | ||||
AMD | ARM Cortex A57 | ARMv8 (64-bit) | Seattle | |||
AMD | AMD Steamroller | x86-64 | 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 | 14 nm | ||
AMD | AMD K12 | ARMv8 (64-bit) | n/a | |||
AMD | AMD Zen 2 | x86-64 | / | 2019 | 7 nm |
Weblinks
- HSA Foundation (englisch) – offizielle Startseite der Stiftung
- AMD und ARM Allianz für einheitliche CPU-GPU-Architektur – Artikel bei Golem.de, vom 12. Juni 2012
- AMD Fusion: Wie alles begann, wo die Entwicklung hingeht und was es bedeutet – Artikel bei tomshardware.de vom 27. August 2012
- Heterogenous System Architecture - Was ist das eigentlich? – Artikel bei hardwareluxx.de vom 17. November 2013
Einzelnachweise
- ↑ AMDs „Fusion“-basierte Architektur wird umbenannt – Artikel bei ComputerBase, vom 20. Januar 2012. Abgerufen am 26. Juli 2012.
- ↑ Martin Fischer: AFDS 2012: AMD und ARM gehen Hand in Hand. In: heise online. 13. Juni 2012.
- ↑ Martin Fischer: AFDS 2012: AMD kündigt APU-Kombiprozessoren mit ARM-Kernen an. In: heise online. 14. Juni 2012.
- ↑ AMD 2012–2013 Mobile Roadmap. In: CPU-World.com (englisch).
- ↑ http://www.kitguru.net/components/cpu/anton-shilov/amd-preps-bristol-ridge-apus-carrizo-for-desktops/
- ↑ Häufig gestellte Fragen zu Photoshop und GPUs. Abgerufen am 31. Juli 2016.
- ↑ LibreOffice Wiki: OpenCL-Einstellungen. 7. Mai 2015, abgerufen am 31. Juli 2016.
- ↑ GPU Acceleration. Archiviert vom Original (nicht mehr online verfügbar) am 8. August 2016; abgerufen am 31. Juli 2016 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/trac.handbrake.fr
- ↑ AMD Radeon ProRender. Archiviert vom Original (nicht mehr online verfügbar) am 31. Juli 2016; abgerufen am 31. Juli 2016 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/radeon-prorender.github.io
- ↑ http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1351715019
- ↑ http://www.planet3dnow.de/vbulletin/showthread.php?t=408921