Achtergrond: nVidia GF100 GPU

14 reacties
14 besproken producten
Inhoudsopgave
  1. 1. Inleiding
  2. 2. GF100
  3. 3. Streaming Multiprocessors
  4. 4. DirectX 11 en Tesselation
  5. 5. Tesselation demo's
  6. 6. PhysX
  7. 7. GPGPU
  8. 8. 3D Vision Surround
  9. 9. Conclusie
  10. 14 besproken producten
  11. 14 reacties

GF100

Tot een paar jaar geleden hadden ATI en nVidia dezelfde strategie bij het uitbrengen van nieuwe GPU's: men begon een nieuwe generatie bij een zo snel mogelijke high-end chip en ging na een succesvolle introductie daarvan aan de slag om gaandeweg kleinere en goedkopere afgeleides daarvan te ontwikkelen. Bij de laatste drie generaties is ATI daarvan afgestapt: het ontwikkelen van state-of-the-art, super grote en super complexe 3D-chips werd door de fabrikant als te risicovol gezien. De nieuwe strategie was chips primair kleiner en goedkoper ontwerpen. High-end kaarten zouden gemaakt kunnen worden door twee van deze chips te combineren en de simpelere chips zijn daarnaast ook eenvoudiger terug te schakelen naar budget varianten. Die strategie heeft ATI bij de 3000-, 4000- en vooral bij de 5000-serie succesvol ingezet. We schreven al dat AMD in vijf maanden tijd een volledige line-up DirectX 11 kaarten op de markt kon brengen. nVidia houdt vast aan het oude concept van bij iedere generatie de limieten van wat technisch mogelijk is opzoeken en daardoor een zo snel en krachtig mogelijke GPU ontwerpen. Volgens die filosofie is ook de GF100 ofwel Fermi chip ontworpen: een zo snel en krachtig mogelijke GPU als de stand van de techniek toelaat. Met helaas dus de nodige vertraging wegens problemen tijdens ontwerp en fabricage als gevolg.

Als we de moeizame aanlopen even laten voor wat het is, is de GF100 chip een technisch hoogstandje. Om maar meteen met het meest indrukwekkende gegeven te beginnen: de middels een 40nm procedé gefabriceerde chip bevat maar liefst 3 miljard transistors. Om dat in perspectief te plaatsen: de Cypress chip van de ATI Radeon HD 5870 bevat 2,15 miljard transistors (iets meer dan 2/3de dus) en zelfs dat is al bijzonder veel, als je bedenkt dat de pas geleden geïntroduceerde 6-core Intel Gulftown pas de eerste op consumenten gerichte processor is die het aantal van 1 miljard transistors overstijgt. De chip wordt gefabriceerd bij TSMC, dezelfde chipbakker die ook verantwoordelijk is voor de ATI Radeon HD 5000 reeks chips. De GF100 is dus absoluut niet de eerste 40nm chip die dit Taiwanese bedrijf produceert, maar vermoedelijk wel de meest complexe.

De voor gamers belangrijkste eigenschap van de GF100 is natuurlijk de geschiktheid voor DirectX 11 en daarmee samenhangende technologieën als tesselation. Maar de GF100 is bovenal ook een chip die nVidia's aspiraties in de zakelijke markt in een stroomversnelling moet brengen: de chip is getuned om zogenaamde GPGPU's programma's zo snel mogelijk te kunnen uitvoeren. Naast de GeForce GTX 470 en GTX 480 komt nVidia dan ook met professionele Tesla videokaarten op basis van dezelfde chip.

In onderstaande afbeelding zien we het blokschema van de GPU. De chip is gebouwd rond vier identieke Graphic Processing Clusters ofwel GPC's. Elk van die GPC's bestaan weer een uit een viertal Streaming Multiprocessor blokken, welke op hun beurt weer uit 32 shader units ofwel Cuda cores, zoals nVidia ze tegenwoordig noemt, bestaan. Zo'n groepje van 32 rekeneenheden voert altijd identieke berekeningen op verschillende stukken data uit. In totaal bevat de GF100 chip dus 4 x 4 x 32 = 512 shader units, een aantal dat ruim twee keer hoger ligt dan bij de GT200 chip, die 240 shader units heeft. 

Boven de vier Graphics Processing Clusters, vinden we de zogenaamde GigaThread Engine. Alle instructies arriveren bij dit onderdeel van de chip dat bepaalt welke taken door welke onderdelen van de chip moeten worden uitgevoerd. De GigaThread Engine moet er dus voor zorgen dat alle cores binnen de chip op ieder moment zo efficiënt mogelijk hun werk kunnen doen. Alle uit te voeren taken worden opgedeeld in verschillende threads en daarna naar de Streaming Multiprocessors gezonden. Verder zien we in het blokschema een zesvoudige geheugencontroller een een flink brok L2-cache geheugen. De zes geheugencontrollers zijn elk 64-bit breed, waardoor de GF100 in totaal over een 384-bit brede geheugenbus beschikt. De controllers zijn geschikt voor het moderne GDDR5 geheugen, wat een geheugenbandbreedte tussen de 150 en 200 GB/s moet opleveren. Ter vergelijking: de oorspronkelijke Geforce 256 had een maximale geheugenbandbreedte van 2,7 GB/s.

Het L2-cache geheugen kan door alle Streaming Multiprocessors gebruikt worden. Deze L2-cache zorgt er ondermeer voor dat de verschillende rekeneenheden snel data kunnen uitwisselen, iets waar GPGPU applicaties juist extra van kunnen profiteren. Rondom het L2 cache vinden we de ROP-units (Raster Operations Pipeline), de eenheden die op basis van de gegevens uit de cores de uiteindelijke kleuren van de pixels op het scherm verwerken. Er zijn zes clusters met elk acht ROP-units aanwezig, wat een totaal aantal van 48 ROP-units voor de GF100 chip oplevert. Ter vergelijking: de GT200 chip beschikt over 32 ROP-units. Deze grotere hoeveelheid ROP-units zorgen er ondermeer voor dat er complexere vormen van anti-aliasing toegepast kunnen worden en dat anti-aliasing minder snel een grote bottleneck voor de performance wordt.

De uit "blokjes" samengestelde architectuur is volgens nVidia enorm flexibel: zo stelt het bijvoorbeeld een mid-range GF100 met de helft aan Graphics Processing Clusters en een beperkt aantal geheugencontrollers op de markt te kunnen brengen. Op die manier kan nVidia relatief eenvoudig een variant met bijvoorbeeld 256 Cuda cores en een 128-bit geheugenbus fabriceren. Met de nadruk op relatief overigens; want de ervaring leert dat er bij nVidia in de regel een hele tijd tussen kan zitten eer een high-end chip wordt omgebouwd tot mid-range exemplaar.

In onderstaande tabel hebben we de belangrijkste verschillen tussen de GT200 en GF100 chip samengevat. Een aantal van de zaken in de tabel, zoals de PolyMorph Engines, komt verderop in dit artikel aan bod.

  GT 200 GF100
Transistors 1,4 miljard 3 miljard
Shader units / Cuda cores 240 512
Raster Engines 1 4
PolyMorph Engines - 16
Special Function Units (per SM) 2 4
Texture Units 80 64
ROP's 32 48
Warp Schedulers (per SM) 1 2
Shared Memory (per SM)
16 kB 48 / 16 kB
L1 Texture Cache (per quad) 12 kB 12 kB
Dedicated L1 Load/Store Cache (per SM)
- 16 / 48 kB
L2 Cache 256 kB (alleen voor textures) 768 kB (flexibel)
Concurrent Kernels - Up to 16

14 besproken producten

Vergelijk   Product Prijs
Asus ENGTX470/2DI/12GD5

Asus ENGTX470/2DI/12GD5

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Asus ENGTX480/2DI/15GD5

Asus ENGTX480/2DI/15GD5

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
EVGA GeForce GTX 470 1280MB

EVGA GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
EVGA GeForce GTX 480 1536MB

EVGA GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Gainward GeForce GTX 470 1280MB

Gainward GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Gainward GeForce GTX 480 1536MB

Gainward GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Gigabyte GV-N470D5-13I-B

Gigabyte GV-N470D5-13I-B

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Gigabyte GV-N480D5-15I-B

Gigabyte GV-N480D5-15I-B

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
MSI N470GTX-M2D12

MSI N470GTX-M2D12

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
MSI N480GTX-M2D15

MSI N480GTX-M2D15

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Nvidia GeForce GTX 470

Nvidia GeForce GTX 470

  • GF100
  • 448 cores
  • 607 MHz
  • 1280 MB
  • 320 bit
  • DirectX 12 fl 11_0
  • PCI-Express x16
Niet verkrijgbaar
Nvidia GeForce GTX 480

Nvidia GeForce GTX 480

  • GF100
  • 480 cores
  • 700 MHz
  • 1536 MB
  • 384 bit
  • DirectX 12 fl 11_0
  • PCI-Express 2.0 x16
Niet verkrijgbaar
Point of View GeForce GTX 470 1280MB

Point of View GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Point of View GeForce GTX 480 1536MB

Point of View GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
0