Vad är nästa för grafik? Varför, Graphics Core Next, naturligtvis. Tack, AMD, för det snyggt pallindromiska sättet att starta en funktion.

Och även för att prata om efterträdaren till den nuvarande generationen av Radeon grafikkort, som kommer att ske någon gång nästa år.

Avtäckningen av GCN ägde rum vid Juni's Fusion Developer Summit. Det är den första kompletta arkitektoniska översynen av GPU-teknik som riskeras sedan lanseringen av Vista.

Det gör det dessutom den första helt nya grafikkortdesignen för AMD som inte bygger på arbete som startats av ATI innan det köptes.

Vista, och i synnerhet DirectX 10, krävde grafikkort för att stödja en fullt programmerbar shader-pipeline.

Det innebar att bortskaffa traditionella bitar av kretsar som behandlade specifika delar av grafikbehandling - som pixel shaders och vertex shaders - och ersätta dem med något mer flexibelt som skulle kunna göra allt: den enhetliga shaderen (se "Varför är shaders unifi ed? ", nästa sida).

Schism

Under födelsen av DX10-klassens grafik fanns det något skum mellan Nvidia och AMD.

För att förenkla: den tidigare valde en tolkning av enhetlig shaderteori i sina G80 GeForce-chips som var ganska flexibla. Placera några hundra väldigt enkla processorer i en stor uppsättning, och skicka dem en beräkning (eller i vissa fall två) en bit att arbeta på tills allt arbete är klart.

Det är en metod som skapar lite mardröm för inställningsmotorn, men det är väldigt flexibelt och för välskriven kod som drar fördel av hur processorerna hopas samman på bordet, dynamit.

Vid utformningen av G80 och dess efterträdare hade Nvidia ett öga på applikationer bortom grafik. Utvecklare kan skapa GPGPU-applikationer för GeForce-kort skrivna i C och mer nyligen C++.

AMD / ATI, under tiden fokuserade på de traditionella kraven för ett grafikkort. Dess enhetliga shaders arbetade genom att kombinera verksamheten till "Mycket långa instruktionsord" (VLIW) och skicka dem för att behandlas i satser.

Basenheten i ett tidigt Nvidia DX10-kort var en enda "skalär" -processor, ordnad i satser om 16 för parallell bearbetning.

Inuti en AMD var det en fyrvägs "vektor" -processor och med en femte för specialfunktioner. Därför ett namn för Radeon arkitekturen: VLIW5. Medan uppställningen låter skrämmande var den faktiskt utformad för att vara effektivare.

Den viktiga punkten är att en pixelfärg definieras genom att blanda röda, gröna, blåa och alfa (transparens) kanaler. Så R600-processorn - som var grunden till korten HD2xxx och HD3xxx - var utformad för att vara oerhört effektiv när man utarbetade de fyra värdena om och om igen.

Tyvärr var de tidiga R600-korten inte bra, men med tiden anpassade AMD designarbetet och fungerade bra.

HD4xxx-, HD5xxx- och HD6xxx-korten var superlativa, vilket gav bättre prestanda och krävde mindre ström än Nvidia-peers. Ofta billigare också. Men trots förbättringar under de senaste fyra åren är den nuvarande generationen GeForce- och Radeon-chips fortfarande identifierbara som en del av samma familjer som de första G80 och R600.

Det har skett ändringar i minnesgränssnittet (goodbye power hungry Radeon-ringbussen) och stora ökar antalet körningskärnor (1 536 på en enda Radeon HD6970 jämfört med 320 på en HD2900XT), men den stora förändringen över tiden har separerats ut specialfunktionsenheten från processorkärnorna.

Graphics Core Nästa är dock en helt ny design. Enligt AMD är dess befintliga arkitektur inte längre det effektivaste för de uppgifter som grafikkort är kallade att göra.

Ny tillvägagångssätt

FRAMTIDIG GRAFIK: VLIW5 har fyra vektorbehandlingsenheter: en vardera för R, G, B och alfa

Proportionellt sett har antalet rutiner för fysik och geometri som körs på grafikkortet ökat dramatiskt i en typisk del av spelkoden, vilket kräver en mer flexibel processorkonstruktion än en som är inriktad framförallt för färgning i pixlar.

Som ett resultat blir VLIW-designen övergiven till förmån för en som kan programmeras i C och C++.

Grundenheten för GCN är ett 16 stort antal exekveringsenheter som är inrättade för SIMD-operationer (singel instruktion, flera data). Om allt som låter bekant för G80 och på, beror det på det.

Kyniskt kan detta ses som en tyst erkännande av att Nvidia hade det rätt hela tiden, och det är ingen tvekan om att AMD tittar på GPGPU-applikationer för nästa generations chips. Men det är mer än det.

Inuti GCN sätts dessa SIMD-processorer ihop i grupper om fyra för att skapa en "beräkningsenhet" eller CU. De är funktionellt fortfarande fyrvägsvektorenheter (perfekt för RGBA-instruktioner) men är också kopplade till en skalärprocessor för enstaka beräkningar som inte kan slutföras effektivt på SIMD-enheterna.

Varje CU har alla kretsar som den behöver vara praktiskt taget autonoma, med en L1-cache, Instruction Fetch Arbitration Controller, Branch & MSG-enhet och så vidare.

Det finns dock mer än CU till GCN. Den nya arkitekturen stöder också x86 virtuella minnesutrymmen, vilket betyder stora dataset - som den megatextures id Software använder för Rasa - kan åtgärdas när de delvis är bosatta utanför det inbyggda minnet.

Och medan det inte är - som andra observatörer har påpekat - en out-of-order-processor, kan den använda sina transistorer mycket effektivt genom att arbeta på flera trådar samtidigt och växla mellan dem om man är pausad och väntar på en uppsättning värden att returneras. Med andra ord är det ett enormt mångsidigt chip.

Efter en tidig förhandsgranskning av designen har vissa noterat vissa likheter med Intels defunct Larrabee-koncept och även med Atom- och ARM-8-chipsen, förutom mycket mer anpassat för parallell bearbetning.

INVENTIV NAMN: GCN arbetar fortfarande med RGBA-data, men har större flexibilitet

"Grafiken är fortfarande vårt primära fokus", sa AMDs Eric Demers under sin keynote-presentation på GCN, "Men vi gör betydande optimeringar för beräkning ... Vad är beräkning och vad är grafiken suddig."

Den stora frågan nu är huruvida AMD kan göra det här ambitiösa chipet eller inte. Dess första VLIW5-marker var en besvikelse, som gick varmare och långsammare än väntat. Så var Nvidias första generationens Fermi-baserade GPU: er.

Kommer GCN att nagla det i ett? Vi har ett tag att vänta med att ta reda på det. De första chipsen baserade på GCN är kodade norra öar och kommer förmodligen att vara officiellt märkta som Radeon HD7xxx. De var ursprungligen planerade för detta år, men förväntas inte nu förrän 2012.