384 kärnor ger höga grafikprestanda
Allt fler embeddedtillämpningar har grafikkrav som är svåra att realisera med de storleks- och effektbudgetar som står till buds. Cameron Swen från AMD beskriver här hur företagets senaste embeddedprocessorer kan fylla det gapet.
I takt med att embeddedsystemen blivit alltmer kompakta har ett gap uppstått mellan de prestanda som krävs för grafikintensiva applikationer och den låga effektförbrukning som krävs när dessa applikationer läggs in i små, mobila system. Här kan processorarkitekturer som AMD Embedded R-Series, kan ge de prestanda per watt som krävs. Samtidigt kan processorerna integreras och förpackas så effektivt att de blir verkligt användbara också i mycket kompakta konstruktioner.
Med ständigt ökande transistorbudgetar har arkitekterna av traditionella x86-processorer fokuserat sina ansträngningar att uppnå högre prestanda på metoder som att öka klockfrekvenserna, utöka antalet och storleken på cacheminnena på chipen samt att lägga till extra processorkärnor. Dessa prestandaökningar har i sig varit enorma. Men hur snabba dessa moderna x86-processorer än är kan de ensamma inte ge den bearbetningskraft för bilder, video och digital signalbehandling som många av dagens interaktiva, inbäddade multimediaapplikationer kräver, inom ramen för den låga effektförbrukning som de små formaten kräver.
En heterogen ansats
Traditionella PC-applikationer arbetar främst med skalära datastrukturer och seriella algoritmer. Nya embedded-applikationer, som inom medicinsk avbildning och i intelligenta kameror, kräver däremot processorer som kan hantera enorma mängder data bestående av hundratals, om inte tusentals, individuella trådar som måste manipuleras och bearbetas parallellt.
Fig 1. Arkitekturen hos Embedded R-Series-plattformen integrerar alla viktiga systemelement, inklusive x86-kärnor, GPU-vektormotorer (SIMD) samt I/O i en kompakt tvåchipslösning.
Till skillnad mot konventionella, sekventiellt arbetande CPUer är moderna GPUer (Graphics Processing Unit) optimerade för massiv parallell bearbetning – oavsett om det handlar om grafik eller något annat. De har utvecklats till kraftfulla, programmerbara vektorprocessorer med hundratals processorkärnor, vilket gör dem höggradigt skalbara. De öppnar därför upp för GPGPU-beräkningar (General-Purpose GPU) av höggradigt parallella arbetsuppgifter som kan snabba upp ett stort antal av dessa dataintensiva algoritmer och applikationer.
Kombinera CPU och GPU
Mindre chipgeometrier och nya innovationer inom kiselkonstruktion har givit AMD möjligheten att skapa en familj av enchipslösningar med både en CPU och en GPU. Med upp till hundratals beräkningskärnor kan dessa heterogena multicore-processorer, eller APUer, hjälpa till att drastiskt minska storleken och effektförbrukningen hos embedded-system, samtidigt som de ger ökade prestanda.
En APU (Accelerated Processing Unit) kombinerar x86-processorkärnor och avancerade grafikenheter på ett och samma chip. De förtjänar namnet APU eftersom de gör GPUn fullt programmerbar. Därmed kan de snabba upp processorn under grafikintensiva uppgifter. x86-kärnorna kan effektivt klara krävande skalära arbetsuppgifter, medan vektoriella uppgifter hanteras av förbättrade versioner av AMDs GPU-teknologi. Detta gör att det totala systemets prestanda kan förbättras.
Embedded R-series APU
AMDs första APU, G-Series APU, lanserades under 2011. Den innehåller 80 GPU-kärnor och klarar 90 GFLOPS med enkel precision. AMD G-Series APU är fortfarande en bra lösning för kompakta och fläktfria embedded-applikationer.
Fig 2. Embedded R-Series passar för nästan alla vanliga embedded SFF-standarder. Observera den relativa storleken hos APU och hub jämfört med kretskortets storlek.
Den senaste Embedded R-Series APU ökar antalet parallella beräkningsenheter till 384, vilket resulterar i 563 GFLOPS. Detta är mer än sex gånger högre än hos G-serien, samtidigt som medeleffekten bara ökat några få watt. Detta gör R-Series till ett idealiskt val för krävande embedded-applikationer inom exempelvis kasinospel, digital skyltning, medicinsk avbildning samt säkerhet och övervakning, som alla behöver höga prestanda men ändå kräver effektbesparande lösningar.
Bra för SFF-konstruktioner
AMDs integrerade arkitektur minskar kortytan hos en traditionell trechips x86-plattform till två chip: APUn och dess tillhörande Controller Hub. En kombinerad chipyta på endast drygt 1 400 mm² och mindre än 2 400 anslutningar, tillsammans med den låga effektförbrukningen och det rika stödet för I/O, gör plattformen Embedded R-Series till ett bra val för SFF-konstruktioner (small form factor) som kräver allt högre prestanda.
Dessutom eliminerar den integrationen många av de externa signaler och bussar som återfinns i traditionella ”högintegrerade” lösningar, vilket resulterar i enklare routning på liten yta eller att kostsamma kortlager kan elimineras.
Plattformen Embedded R-Series använder en delning på 0,8 mm för APUn och 1,2 mm för Controller Hub. Härigenom uppstår avsevärt mer yta för routning av extra spår mellan lodkulorna och för att ”bryta ut” alla signaler (inklusive matning och jord) från kretsen till ett minimalt antal kortlager.
Konstruerade för lågeffekt
En annan avgörande parameter för kort- och systemutvecklare är plattformens TDP (Total Design Power). Men även om TDP är en viktig faktor blir embedded-applikationer alltmer kretsspecifika. I dessa fall kan TDP för en komponent vara missvisande, eftersom detta värde kanske inte korrekt representerar den verkliga effekt som kommer att förbrukas när en enhet exekverar en uppsättning kretsspecifika uppgifter.
Ett exempel: för den mest avancerade APUn R-464L anges TDP till 35 W. Men processorn förbrukar bara 13 W när den kör 3DMark06, som ger en avsevärd belastning på GPU- och CPU-kärnor, minnescontrollern och delar av I/O. Detta visar på en avsevärt lägre effektförbrukning än TDP-värdet ensamt indikerar. Testen gjordes under en 10-12-minuters iteration av testprogramvaran och visade 13,105 W för APUn och 0,694 W för hub-komponenten.
En YouTube-benchmark med 720p video i tio minuter gav resultatet 5,24 W för APUn och 0,762 W för hub-komponenten.
Effekthantering
Denna låga totala effektförbrukning är ett resultat av den heterogena multicore-arkitekturen hos Embedded R-Series, eftersom applikationskod kan exekveras på den mest effektiva kärnan i systemet. Dessutom används effektstyrning i nästan alla aspekter hos APUn och hubben, både på system- och kärnnivå.
I hjärtat av effektstyrningsarkitekturen finns en centraliserad och i hög grad programmerbar APM-styrkrets (Application Power Management). Denna gör att operativsystemet kan hålla temperaturen hos APUn inom fördefinierade gränser genom att styra effektgränserna för varje enskild beräkningsenhet, inklusive GPUn.
De många parallella vektorprocessorerna (th) tar upp en stor del av chipet.
På så sätt kan operativsystemet och applikationerna se till att den erforderliga prestandanivån kan uppnås, samtidigt som den totala effektförbrukningen minimeras. Detta sker genom att alla block försätts i lågeffektsläge under tomgång, och att aktiva kärnor vid behov kan arbeta med högre frekvenser och spänningar.
När R-464L APU används i applikationer med grafik eller parallellbearbetning kan effektallokeringen t ex skiftas över till GPUn för att ge upp till 38 procents ökning av grafikhastigheten, men ändå stanna kvar innanför de definierade effektgränserna. För CPU-intensiva applikationer kan effektallokeringen skiftas över till CPUn för att ge upp till 39 procents ökning av CPU-hastigheten.
Även andra delar av plattformen innehåller långtgående metoder för effektminskning. Bl a finns effekthantering av alla viktiga I/O-gränssnitt, som gör att effekten kan sänkas för oanvända eller inaktiva PCIe-banor. Dessutom kan bredden (antalet banor) i vissa länkar ändras dynamiskt för att ge ytterligare effektbesparing. Även DRAM-hastigheten kan minskas för att minska effektförbrukningen när bandbreddsbehoven är låga.
Fler effektbesparande funktioner
För applikationer som kräver högpresterande multimedia har Embedded R-Series även ett antal nya, effektbesparande funktioner. En är Video Compression Engine, som har en dedicerad videokodare i hårdvara för snabb och effektiv kodning av video. Secure Asset Management-enheten klarar GPU-assisterad kryptering och dekryptering. Dessutom har enheten Unified Video Decoder utökats att innehålla dubbla avkodare för HD-video. Allt detta hjälper till att minimera belastningen på CPUn vid hantering av video och minskar APUns effektförbrukning.
Verktyg och mjukvarustöd
Slutligen hjälper AMDs heterogena APU-arkitektur till att accelerera mjukvaruutvecklingen genom stöd för öppna programmeringsstandarder som OpenCL i kombination med DirectX 11 (Inklusive DirectCompute), vilket hjälper mjukvaruutvecklarna att få ut högsta prestanda ur sina system. AMD tillhandahåller också AMD Accelerated Parallel Processing (APP) Software Development Kit (SDK), en komplett plattform som möjliggör snabb och enkel utveckling av applikationer med parallell bearbetning. Dessa verktyg ger utvecklarna möjlighet att skapa standardbaserade applikationer som utnyttjar den kombinerade kraften hos CPU-kärnor och GPU-kärnor, och som kan köras på ett stort antal olika hårdvaruplattformar.
Cameron Swen, Divisional Marketing Manager på AMD Embedded Solutions Division
Filed under: Mikroprocessorer