Den som surfat SweClockers i helgen har förmodligen inte missat alla inflammerade diskussioner om Geforce GTX 970. Det populära grafikkortet innehåller en nedskalad variant av kretsen GM204, som av en hitintills oklar anledning delar upp det 4 GB stora videominnet i två segment om 3,5 och 0,5 GB. Vad kontroversen handlar om är att den mindre biten dras med betydligt lägre bandbredd än normalt.

Nvidia korrigerar* specifikationerna för Geforce GTX 970

GTX 980

GTX 970 (äldre)

GTX 970 (nytt)

Teknik

28 nm

28 nm

28 nm

GPU

GM204

GM204

GM204

Transistorer

5,2 md

5,2 md

5,2 md

Kretsarea 398 mm2

398 mm2

398 mm2

398 mm2

Arkitektur

Maxwell

Maxwell

Maxwell

CUDA-kärnor

2 048 st.

1 664 st.

1 664 st.

Texturenheter

128 st.

128 st.

128 st.

Rasterenheter

64 st.

64 st.

56 st.

Basfrekvens

1 126 MHz

1 050 MHz

1 050 MHz

Turbofrekvens

1 216 MHz

1 178 MHz

1 178 MHz

L2-cacheminne

2 MB

2 MB

1,75 MB

Minnesbuss

256-bit

256-bit

256-bit

Minnesmängd

4 GB GDDR5

4 GB GDDR5

4 GB GDDR5

Minnesfrekvens

7 000 MHz

7 000 MHz

7 000 MHz

Minnesbandbredd

224 GB/s

224 GB/s

224 GB/s (?)

Strömförsörjning

6+6-pin

6+6-pin

6+6-pin

TDP

165 W

148 W

148 W

Efter det första officiella uttalandet ger Nvidia en mer djuplodad förklaring till fenomenet. Tvärtemot många teorier är beteendet inte direkt relaterat till att Geforce GTX 970 saknar tre så kallade SMM-kluster jämfört med storebror GTX 980. Grafikkretsen är nämligen uppdelad i två sektioner, där kommunikationen hanteras av vad Nvidia kallar för en crossbar eller tvärbalk.

I diagrammets övre del syns CUDA-kärnor i SMM-kluster, samtidigt som videominneshantering och L2-cacheminne huserar på den andra sidan tvärbalken. Enligt Nvidia ger det bland annat flexibilitet för att hantera delvis defekta kretsar, där olika delar kan inaktiveras oberoende av varandra utan att kommunikationen påverkas.

Nedbantad GM204 påverkar minnesbandbredden

Nytt för generation Maxwell är att inte bara beräkningskluster kan inaktiveras vid behov utan även delar av logiken för minneshanteringen, något som för Kepler krävde att hela sektionen skrotades. I praktiken innebär det att Geforce GTX 970 saknar en uppsättning L2-cache samt tillhörande anslutning mot tvärbalken jämfört med storebror GTX 980.

två olika sektioner minne

I korthet är resultatet att en ensam port med tillhörande logik blir ansvarig för att hantera två minneskanaler, något som i princip kan halvera prestandan. Nvidias lösning på problemet är att segmentera videominnet i två sektioner, där 3,5 GB alltid är tillgängligt medan återstående 0,5 GB endast används vid behov.

Den 3,5 GB stora sektionen av videominnet får tillgång till 7 minneskanaler, vilket i stora drag ger 7/8-delar av bandbredden i jämförelse med Geforce GTX 980. Det sista segmentet får dock endast tillgång till 1/8-del av den maximala bandbredden.

Hanteringen av segmenten, eller rättare sagt optimeringen, sköts i Nvidias drivrutin och i operativsystemet. Mjukvaran försöker aktivt och så långt det är möjligt använda den snabbare 3,5 GB stora sektionen. När mer utrymme behövs för en ensam operation utnyttjas de sista 0,5 GB, vilket fortfarande är snabbare än att exempelvis arbeta mot primärminnet.

Nvidia hävdar att effekten av det hela i de flesta fall är en minimal prestandaförlust i jämförelse med om allt videominnet alltid arbetat vid full hastighet. Grafikkortsmakaren lovar dock att undersöka alla problem som inrapporterats av oroliga användare och eventuellt göra ytterligare optimeringar av minneshanteringen i drivrutinerna.

* För att återspegla minneshanteringen i Geforce GTX 970 uppdaterar Nvidia även grafikkortets specifikationer, där antalet rasterenheter nu uppgår till 56 stycken medan L2-cachen minskar till 1,75 MB.