Hva er neste for grafikk? Hvorfor, Graphics Core Next, selvfølgelig. Takk, AMD, for den pent pallindromske måten å starte en funksjon.

Og også for å snakke om etterfølgeren til den nåværende generasjonen av Radeon grafikkort, som er på grunn av en gang neste år.

Avsløringen av GCN fant sted på junis Fusion Developer Summit. Det er den første komplette arkitektoniske revisjonen av GPU-teknologi, det er risikert siden lanseringen av Vista.

Det gjør det dessuten det første helt nye grafikkortdesignet for AMD som ikke er basert på arbeid som startet av ATI før det ble kjøpt.

Vista, og spesielt DirectX 10, krevde grafikkort for å støtte en fullt programmerbar shader-rørledning.

Det betydde å gjøre unna med tradisjonelle biter av kretser som behandlet spesifikke elementer i grafisk behandling - som pikselskygger og vertex shaders - og erstatte dem med noe mer fleksibelt som kunne gjøre alt: den enhetlige shaderen (se "Hvorfor er shaders unifi ed? ", neste side).

skisma

Under fødselen av DX10-klassegrafikken var det noe skudd mellom Nvidia og AMD.

For å forenkle: den tidligere valgte en tolkning av enhetlig shaderteori i sine G80 GeForce-sjetonger som var ganske fleksibel. Plasser noen få hundre veldig enkle prosessorer i et stort utvalg, og send dem en beregning (eller i noen tilfeller to) et stykke å jobbe på til alt arbeidet er ferdig.

Det er en metode som skaper litt mareritt for oppsettmotoren, men det er veldig fleksibelt og for godt skrevet kode som utnytter prosessorenes prosessorer sammen på bordet, dynamitt.

Ved utformingen av G80 og etterfølgerne hadde Nvidia øye med applikasjoner utover grafikk. Utviklere kan lage GPGPU-applikasjoner for GeForce-kort skrevet i C og nyere C++.

AMD / ATI, i mellomtiden fokusert på de tradisjonelle kravene til et grafikkort. Dens ensartede shaders arbeidet ved å kombinere operasjoner til "Very Long Instructing Words" (VLIW) og sende dem ut for å bli behandlet i batcher.

Den grunnleggende enheten i et tidlig Nvidia DX10-kort var en enkelt "skalar" prosessor, arrangert i grupper på 16 for parallellbehandling.

I en AMD-en var det en fireveis 'vektor' prosessor og med en femte for spesielle funksjoner. Dermed et navn på Radeon arkitekturen: VLIW5. Mens oppsettet høres fryktelig, ble det faktisk designet for å være mer effektivt.

Det viktige poenget er at en pikselfarge er definert ved å blande kanaler med rød, grønn, blå og alfa (gjennomsiktighet). Så R600-prosessoren - som var grunnlaget for kortene HD2xxx og HD3xxx - ble designet for å være utrolig effektiv til å utarbeide disse fire verdiene igjen og igjen.

Dessverre var de tidlige R600-kortene ikke store, men med tiden og tilpasning av AMD ble designarbeidet og fungerer bra.

HD4xxx-, HD5xxx- og HD6xxx-kortene var superlative, og ga bedre ytelse og krever mindre strøm enn Nvidia-jevnaldrende. Ofte billigere også. Men til tross for forbedringer de siste fire årene, er den nåværende generasjonen av GeForce og Radeon-sjetonger fortsatt gjenkjennelig som en del av de samme familiene som de første G80 og R600.

Det har vært endringer i minnesgrensesnittet (farvel sulten Radeon ringbuss) og store økninger til antall kjernekjerner (1.536 på en enkelt Radeon HD6970 sammenlignet med 320 på en HD2900XT), men den store forandringen over tid har skilt ut Spesialfunksjonsenheten fra prosessorkjernene.

Graphics Core Neste er imidlertid et helt nytt design. Ifølge AMD er den eksisterende arkitekturen ikke lenger den mest effektive for oppgavene som grafikkort er kalt til å gjøre.

Ny tilnærming

FREMTIDIG GRAFIK: VLIW5 har fire vektorbehandlingsenheter: en hver for R, G, B og alfa

Proportjonelt er antall rutiner for fysikk og geometri som kjøres på grafikkortet, økt dramatisk i en typisk stykkspillkode, og krever en mer fleksibel prosessorutforming enn en rettet opp først og fremst for å fargelegge i piksler.

Som et resultat blir VLIW-designen forlatt til fordel for en som kan programmeres i C og C++.

Den grunnleggende enheten til GCN er et 16 bredt utvalg av utførelsesenheter som er innrettet for SIMD (single instruction, multiple data) operasjoner. Hvis alt som høres kjent med G80 og på, er det fordi det er.

Cynisk kan dette ses som en stilig bekreftelse at Nvidia hadde det riktig hele tiden, og det er ingen tvil om at AMD ser på GPGPU-applikasjoner for sin neste generasjon chips. Men det er mer enn det.

Innenfor GCN, blir disse SIMD-prosessorene batchet sammen i grupper på fire for å lage en "beregningsenhet" eller CU. De er funksjonelt fremdeles fireveisvektorenheter (perfekt for RGBA-instruksjoner), men er også koblet til en skalarprosessor for engangsberegninger som ikke kan fullføres effektivt på SIMD-enhetene.

Hver CU har alle kretsene den trenger å være praktisk talt autonome, med en L1-cache, Instruction Hetch Arbitration Controller, Branch & MSG-enhet og så videre.

Det er mer enn CU til GCN, skjønt. Den nye arkitekturen støtter også x86 virtuelle minneplasser, noe som betyr store datasett - som megatextures id Software bruker Raseri - kan adresseres når de er delvis bosatt utenfor innebygd minne.

Og mens det ikke er - som andre observatører har påpekt - en utgående prosessor, er den i stand til å bruke sine transistorer svært effektivt ved å arbeide på flere tråder samtidig og bytte mellom dem hvis man er pauset og venter på et sett med verdier å bli returnert. Det er med andre ord en enorm allsidig chip.

Etter en tidlig forhåndsvisning av designen har noen observert visse likheter med Intels nedlagte Larrabee-konsepter og også med Atom og ARM-8-sjetongene, bortsett fra mye mer rettet mot parallellbehandling.

OPPDATERENDE NAVN: GCN vil fortsatt jobbe med RGBA-data, men har større fleksibilitet

"Grafikk er fortsatt vårt primære fokus," sa AMDs Eric Demers under sin hovedpresentasjon på GCN, "Men vi lager betydelige optimeringer for beregning ... Hva er beregning og hva er grafikk er uskarpt."

Det store spørsmålet er nå om AMD kan gjøre dette ambisiøse chipet arbeidet. Dens første VLIW5-sjetonger var en skuffelse, kjører varmere og langsommere enn forventet. Så var Nvidias første generasjon Fermi-baserte GPUer.

Vil GCN spike det i ett? Vi har litt tid til å vente på å finne ut. De første sjetongene basert på GCN er kodenavnet nordlige øyer og vil sannsynligvis bli offisielt merket som Radeon HD7xxx. De var opprinnelig planlagt for dette året, men forventes ikke nå frem til 2012.