Tesla (mikroarkitektur) - Tesla (microarchitecture)

Nvidia Tesla
Nvidia Tesla GPU
Utgivningsdatum November 2006
Tillverkningsprocess 90 nm, 80 nm, 65 nm, 55 nm och 40 nm
Historia
Företrädare Curie
Efterträdare Fermi

Tesla är kodnamnet för en GPU -mikroarkitektur som utvecklats av Nvidia och släpptes 2006, som efterträdare till Curie -mikroarkitektur. Det namngavs efter den banbrytande elingenjören Nikola Tesla . Som Nvidias första mikroarkitektur för att implementera unified shaders, användes den med GeForce 8 -serien , GeForce 9 -serien , GeForce 100 -serien , GeForce 200 -serien och GeForce 300 -serien GPU: er tillverkade tillsammans i 90 nm, 80 nm, 65 nm, 55 nm, och 40 nm. Det fanns också i GeForce 405 och i Quadro FX, Quadro x000, Quadro NVS -serien och Nvidia Tesla -datormoduler.

Tesla ersatte de gamla mikroarkitekturerna med fast rörledning , representerade vid introduktionen av GeForce 7-serien . Det konkurrerade direkt med AMD: s första enhetliga skuggmikroarkitektur vid namn TeraScale , en utveckling av ATI: s arbete med Xbox 360 som använde en liknande design. Tesla följdes av Fermi .

Översikt

Tesla är Nvidias första mikroarkitektur som implementerar den enhetliga skuggmodellen . Drivrutinen stöder Direct3D 10 Shader Model 4.0 / OpenGL 2.1 (senare drivrutiner har OpenGL 3.3 -stöd) -arkitektur. Designen är ett stort skifte för NVIDIA i GPU -funktionalitet och kapacitet, den mest uppenbara förändringen är flytten från de separata funktionella enheterna (pixel -shaders, vertex -shaders) inom tidigare GPU -enheter till en homogen samling av universal floating point -processorer (kallade "stream -processorer ") som kan utföra en mer universell uppsättning uppgifter.

GPU NVIDIA G80
Die shot av GT200 GPU som finns inuti NVIDIA GeForce GTX 280 -kort, baserat på Tesla mikroarkitektur

GeForce 8 enhetliga shader arkitektur består av ett antal streamprocessorer (SPS). Till skillnad från vektorbehandlingsmetoden som används med äldre skuggarenheter är varje SP skalär och kan därför endast fungera på en komponent åt gången. Detta gör dem mindre komplexa att bygga samtidigt som de är ganska flexibla och universella. Skalära shader enheter har också fördelen av att vara mer effektiva i ett antal fall jämfört med tidigare generationen vektor shader enheter som är beroende av ideala instruktion blandningen och beställning för att nå toppgenomströmning. Den lägre maximala genomströmningen för dessa skalärprocessorer kompenseras av effektivitet och genom att köra dem med en hög klockhastighet (möjliggjord av deras enkelhet). GeForce 8 kör de olika delarna av kärnan med olika klockhastigheter (klockdomäner), liknande driften av de tidigare GPUerna i GeForce 7 -serien . Till exempel fungerar strömprocessorerna i GeForce 8800 GTX med en 1,35 GHz klockfrekvens medan resten av chippet arbetar med 575 MHz.

GeForce 8 utför betydligt bättre texturfiltrering än sina föregångare som använde olika optimeringar och visuella trick för att påskynda återgivningen utan att försämra filtreringskvaliteten. GeForce 8-linjen gör korrekt en vinkeloberoende anisotrop filtreringsalgoritm tillsammans med fullständig trekantig texturfiltrering . G80, men inte dess mindre bröder, är utrustad med mycket mer texturfiltrerande aritmetiska förmågor än GeForce 7 -serien. Detta möjliggör högkvalitativ filtrering med en mycket mindre prestandahit än tidigare.

NVIDIA har också introducerat nya polygonkant- anti-aliasing- metoder, inklusive GPU: s ROP: s förmåga att utföra både Multisample anti-aliasing (MSAA) och HDR-belysning samtidigt, vilket korrigerar olika begränsningar från tidigare generationer. GeForce 8 kan utföra MSAA med både FP16 och FP32 texturformat. GeForce 8 stöder 128-bitars HDR-rendering , en ökning från tidigare 64-bitars stöd. Chipets nya anti-aliasing-teknik, kallad täckningssampling AA (CSAA), använder Z, färg och täckningsinformation för att bestämma slutlig pixelfärg. Denna teknik för färgoptimering gör att 16X CSAA kan se skarpt och skarpt ut.

Prestanda

Den påstådda teoretiska enprecisionskraften för Tesla-baserade kort som ges i FLOPS kan vara svår att nå i verkliga arbetsbelastningar.

I G80/G90/GT200 innehåller varje Streaming Multiprocessor (SM) 8 Shader -processorer (SP, eller Unified Shader eller CUDA Core) och 2 Special Function Units (SFU). Varje SP kan utföra upp till två enkelprecisionsoperationer per klocka: 1 Multiplicera och 1 Lägg till, med en enda MAD- instruktion. Varje SFU kan uppfylla upp till fyra operationer per klocka: fyra MUL (Multiply) instruktioner. Så en SM som helhet kan utföra 8 MAD (16 operationer) och 8 MUL (8 operationer) per klocka, eller 24 operationer per klocka, vilket är (relativt sett) 3 gånger antalet SP. För att beräkna den teoretiska MAD+MUL-prestandan med dubbla problem i flytande punktoperationer per sekund [ FLOPS sp+sfu , GFLOPS ] på ett grafikkort med SP-antal [ n ] och skuggfrekvens [ f , GHz], är formeln: FLOPS sp+sfu = 3 × n × f .

Men att utnyttja prestanda med dubbla problem som MAD+MUL är problematiskt:

  • Dubbelutgivande MUL är inte tillgängligt i grafikläge på G80/G90, även om det var mycket bättre i GT200.
  • Inte alla kombinationer av instruktioner som MAD+MUL kan utföras parallellt på SP och SFU, eftersom SFU är ganska specialiserad eftersom den bara kan hantera en specifik delmängd av instruktioner: 32-bitars floating point-multiplikation, transcendentala funktioner, interpolation för parameter blandning, ömsesidig, ömsesidig kvadratrot, sinus, cosinus, etc.
  • SFU kan bli upptagen under många cykler när dessa instruktioner körs, i vilket fall är det inte tillgängligt för MUL-instruktioner med dubbla utfärdanden.

Av dessa skäl kan det vara mer användbart att ignorera SFU: n för att uppskatta prestanda för verkliga arbetsbelastningar och bara anta 1 MAD (2 operationer) per SP per cykel. I detta fall blir formeln för att beräkna den teoretiska prestandan i flytpunktsoperationer per sekund: FLOPS sp = 2 × n × f .

Den teoretiska dubbelprecisionskraften hos en Tesla GPU är 1/8 av den enda precisionsprestandan på GT200; det finns inget dubbelprecisionsstöd på G8x och G9x.

Videodekomprimering/komprimering

NVDEC

NVENC

NVENC introducerades bara i senare chips.

Pommes frites

Tesla 1.0

• 8800 GT

• 8800 GTS

• 8800 GTX

• 8800 Ultra

Tesla 2.0

  • GT200
  • GT215
  • GT216
  • GT218

Se även

Referenser

externa länkar