AMD – heterogena arhitektura sistema
AMD je na ovogodišnjoj HotChips konferenciji govorio o razvoju HSA (Heterogenus system architecture) računalstva i budućnosti. Heterogeno je računalstvo nastalo zbog potrebe za energetski učinkovitim SOC dizajnom. Moderni se čipovi više ne mogu osloniti na procesor opće namjene, nego moraju koristiti specijalizirane procesore skrojene po mjeri za svaki zadatak. Tradicionalno, za ove je specijalizirane procesore bilo teško programirati zbog odvojenih memorijskih mjesta, kernel-driver-level sučelja, i specijaliziranih programskih modela. Heterogena arhitektura sistema ima za cilj premostiti taj jaz pružajući zajedničku sistemski arhitekturu i osnovu za izradu zajedničkih high-level programskih modela za sve uređaje.
U tu je svrhu u Lipnju 2012. osnovana HSA fundacija koju čine najjače svjetske tvrtke. Osnivači su AMD, ARM, Qualcomm, Samsung, Mediatek, Texas Instruments i Imagination, a u program su uključene i mnoge druge tvrtke. Ciljevi su omogućiti lakše programiranje, optimiziranje, povećanje performansi i smanjenje potrošnje SOC-evima koji su kombinacija CPU i GPU jezgara, različitih ostalih ubrzivača sa brzim pristupom memoriji. HSA ubrzivače (akceleratore) ujedinjuje arhitekturalno, a rani fokus je stavljen na GPU. Značajke koje HSA radne skupine trenutno definiraju su ujedinjeno adresiranje preko svih platformi, operabilnost sistemske memorije stranične strukture, puna koherencija memorije, User mode dispatch, projektirani programski jezik čekanja, High-level programska podrška za CPU compute, te preemption i context switching. HSA je otvorena platforma, s članstvom otvorenim svima i s royality free standardima. HSA memorijski model je dizajniran tako da bude kompatibilan sa C++11, Java i .NET memorijskim modelima i optimiziran je OpenCL (no, HSA nije alternativa OpenCL-u).
HSA je skalabilna arhitektura i primjerena uređajima poput pametnih telefona pa sve do super računala, a cilj je korisniku donijeti uređaje niske potrošnje, znatno sposobnije od današnjih koji će se nalaziti u ruci, na zidu ili u oblaku.
