GF100 - Arkitektur

Som i princip alla av er vet vid det här laget är arkitekturens kodnamn Fermi, efter den italienska fysikern Enrico Fermi och fysik är något som genomsyrat hela projektet – enligt NVIDIA är detta anledningen till kretsarnas försening då man inte fått allting att fungera precis som man viljat. Nu är vi dock här och resultatet är den största förändringen sedan tillverkarens G80-arkitektur, lanserad 2006, kretsarna är officiellt döpta GF100 (GeForce Fermi 100).

Vi har ännu inga detaljer om hur resterande DirectX11-kompatibla kretsar från NVIDIA kommer se ut, men tillverkaren lovar en övergång till DX11-kapabla kretsar över hela sortimentet inom 12 månader. I brist på övriga släktingar att analysera får vi helt enkelt börja dissekera GF100 med en gång. Uppbyggnaden och en genomgång av’ densamma finner ni nedan.


GF100-kärnan – 16 processorer uppdelade i 32 kärnor var

NVIDIA har gått den svåra vägen med en enorm kärna uppbygd av inte mindre än 3.0 miljarder transistorer. Denna består i sin tur inte av inte mindre än 16 ”Streaming Multiprocessors” (SM), dvs något som skulle kunna liknas vid CPU:er som i sin tur sedan har 32 CUDA Cores, shaders, dessa kan liknas vid vanliga CPU-kärnor då beräkningarna sker i dessa. Varje SM har en L1-cache på 16/48KB att tilgå, utöver detta delar kärnorna sedan på en gemensam L2-cache på 768KB. Att L1-cachen är listad som 16 eller 48KB beror på att varje SM har 64KB minne att tillgå, denna kan delas upp som 16KB L1-cache eller användas som delat minne, resterande 48KB används där det behövs mest.


Hur GF100-kärnan är uppdelad


En SM – Streaming Multiprocessor i sina beståndsdelar

Efter en kort genomgång av kärnan känner vi även att en jämförelse mot NVIDIA:s två senaste arkitekturer är på sin plats, som man kanske kan vänta sig ger GF100 de äldre en rejäl omgång, det ser i det närmaste löjligt ut. Detta behöver förstås inte betyda lika dramatiska ökningar i prestanda i samtliga sammanhang, men det är tydligt att NVIDIA satsat hårt på att utveckla sin GF100-kärna för både bästa programmerbarhet (med delat minne/L1-cache samt L2-cache i åtanke) och den tidigare nämnda fysikbiten som bäst översätts till FLOPS, det vill säga Floating Point-uträkningskapacitet.

 

GPU G80 GT200 GF100
Transistors 681M 1.4B 3.0B
CUDA Cores (Shaders) 128 240 512 (480)
Double Precision Floating Point Capability 30 FMA ops/clock 256 FMA ops/clock
Single Precision Floating Point Capability 128 MAD ops/clock 240 MAD ops/clock 512 MAD ops/clock
Special Function Units/SM 2 2 4
Warp Schedulers/SM 1 1 2
Shared Memory/SM 16KB 16KB 16/48KB
L1 Cache/SM 16/48KB
L2 Cache 768KB
ECC Memory Support No No Yes
Concurrent Kernels No No Up to 16
Load/Store address width 32-bit 32-bit 64-bit

En sak som är intressant med GF100 är att man specificerat antalet CUDA Cores till 512, medan toppmodellen som lanseras idag, GTX 480, faktiskt bara har just 480 kärnor aktiverade. Med största sannolikhet beror detta på den extremt komplexa tillverkningsprocessen som innefattar tre miljarder transistorer, vi förmodar helt enkelt att man varit tvungen att göra avkall på en del av kärnorna för att få en hygglig andel fungerande GPU:er från fabrik istället för att repetera GeForce GTX 280-lanseringen där tillgången var väldigt skral de första månaderna på grund av den nya, svårtillverkade arkitekturen.

När det kommer till minneshantering är faktiskt Fermi väldigt lik en helt vanlig CPU du finner i en dator. Den är utrustad med delat minne, L1- och L2-cache och en 384-bits minnesbuss till vilken man sedan fäster GDDR5-minne (för första gången hos NVIDIA) och för första gången i grafikhistoria stöds faktiskt ECC-buffrat minne.


Fermis minneshierarki

Utöver detta har NVIDIA jobbat hårt på sin GigaThread-teknik vilket är ett sätt att exekvera flera kernels samtidigt, likt dagens CPU:er, för att utnyttja GPU:ns fulla kapacitet, istället för att rada upp dessa i kö. En väldigt intuitiv illustration av detta finns nedan.


GigaThread i GF100 – exekverar dina kernels utan väntan

Efter denna genomgång av GF100 och dess arkitektur ska vi återbekanta oss med DirectX11 och dess features samt kolla var man hamnar jämfört med konkurrensen.

Leave a Reply

Please Login to comment
  Subscribe  
Notifiera vid