Przegląd architektur kart graficznych z serii GeForce Sławomir Król
NVIDIA historia Założona w 1993 r. przez J.H. Huang (projektant mikroprocesorów - AMD), Ch. Malachowsky (inżynier elektryczny - Sun Microsystems), C. Priem (projektant chipów graficznych Sun Microsystems) Produkcja: Karty graficzne, chipsety płyt głównych Superkomputery Tesla 3D Vision Tablety Smartphony Pierwsza karta wydana w 1995 układ NV1
PreGeForce Pierwsze układy graficzne NVIDII STG2000/NV1 RIVA 128 RIVA Vanta RIVA TNT2 M64 RIVA 128 ZX RIVA Vanta LT RIVA TNT2 Pro RIVA 128 TNT RIVA TNT2 RIVA TNT2 Ultra NV1 działa na PCI, brak DirectX i OpenGL, wykorzystana w Sega Saturn RIVA 128 działa na AGP 1.0, wsparcie dla DirectX 5.0 RIVA TNT wspiera DirectX 6.0, OpenGL 1.1 RIVA Vanta działa na AGP 4x RIVA TNT2 32 bitowy frame buffer oraz 32 bitowa gama kolorów
GeForce GeForce 256 GeForce 2 GeForce 3 GeForce 4 GeForce 5 FX GeForce 6 GeForce 7 GeForce 8 GeForce 9 GeForce 100/200/300/400
GeForce 256 Pierwsze GPU Graphic Processing Unit GeForce Geometry Force Nazwa kodowa NV10 Proces Produkcyjny: 220nm 2 wersje: SDRAM i DDRAM Interfejs AGP 4x FastWrite DirectX 7/ OpenGL 1.2 Wielkość pamięci 32/64 MB Taktowanie układu: 120MHz Taktowanie pamięci: 166MHz dla SDR 300MHz dla DDR PP/TMU/ROP:4/4/4 Filtrowanie: bilinear i trilinear
GeForce 256 AGP 4x Fast Write AGP Fast Writes Przesyłanie danych z CPU wprost do GPU 30% szybszy transfer niż w przypadku standardowego AGP 4x System Memory CPU GeForce 256 Chipset Standardowa wydajność AGP 4X Wydajność GeForce 256 AGP 4X
GeForce 256 - architektura Transform Engine Lighting Engine Setup Engine Rendering Engine Pixel Pipe 1 Pixel Pipe 2 Pixel Pipe 3 Pixel Pipe 4 RIVA TNT2 HDTV Processor
GeForce 256 - architektura Transform Engine Lighting Engine Setup Engine Rendering Engine 4 niezależne potokowe jednostki Niskie opóźnienia pomiędzy jednostkami 15-25M trójkątów/s Fill rate 480M px/s 8 sampli x 4 potki = 32 sample textury/cykl zegara Jednostki T&L - Transform & Lighting Cube Environment Mapping Projective Textures Kompresja tekstur Color/Alpha Keying
GeForce 256 T&L Transform Engine Lighting Engine Transform Engine odciąża CPU od obliczeń matematycznych związanych z transformacjami pomiędzy różnymi przestrzeniami World space przechowuje dane na temat przestrzeni 3D Eye space oświetlenie i obszar widzialny dla oka Screen space scena przechowywana w buforze Operacje wykonywane na GPU zamiast na CPU są wykonywane dużo szybciej T&L posiadają zestaw matematycznych operacji pozwalającyh na transformacje i obliczanie koloru obiektu, na który pada światło Diffuse + Specular Lighting
GeForce 256 T&L Teselacja Dzięki zastosowaniu T&L i odciążeniu CPU obiekty 3D mogły zawierać większą liczbę detali niż do tej pory.
CPU CPU CPU CPU GPU Proc. Graficzny Proc. Graficzny Proc. Graf. NVIDIA 256 Zadania Aplikacji Obliczenia Sceny Transform Lighting 1996 1997 1998 GF256 Triangle Setup & Clipping Rendering
GeForce 256 CPU Procesor Graficzny RIVA TNT2 1 Frame (1/60 s) AI, Fizyka, Game Play Transform & Lighting Rendering 1 Frame (1/60 s) CPU GPU
GeForce 256 Cube Environment Mapping Sześcienne mapy otoczenia są teksturami, które zawierają dane obrazu reprezentujące otoczenie wokół obiektu, tak jakby obiekt był w centrum sześcianu Każda z 6 części sześcianu obejmuje 90-stopniowe pole widzenia w poziomie i w pionie Pozwala na utworzenie odbić otoczenia na obiekcie 3D
GeForce 256 HDTV Processor HDTV Processor High Definition Television HDTV video overlay 5 horizontal, 3 vertical taps 8:1 up/down scaling Niezależna sprzętowa kontrola koloru/nasycenia/jasności Sprzętowe wsparcie dla Odtwarzania DVD do rozdzielczości 1080i Odtwarzania HDTV Cyfrowego nagrywania do rozdzielczości 480p PC VCR
GeForce 2 GeForce 2 MX 100 GeForce 2 MX 200 GeForce 2 MX GeForce 2 MX 400 GeForce 2 GTS GeForce 2 Pro GeForce 2 Ti VX GeForce 2 Ti GeForce 2 Ultra
GeForce 2 GTS GTS Giga Texel Shader Nazwa kodowa NV 15 Proces Produkcyjny: 180nm DirectX 7/ OpenGL 1.2 AGP 4x Wielkość pam.: 64 MB Taktowanie układu: 200MHz Max taktowanie pam: 333MHz PP/TMU/ROP: 4/8/4 Filtrowanie: Dwuliniowe Trójliniowe 2xAnizostropowe
GeForce 2 - zmiany Niższa technologia produkcji 180nm większe częstotliwości zegara, mniej ciepła, niższe koszty produkcji II generacja jednostki T&L szybszy rdzeń i optymalizacja Wyższy Fill Rate wynoszący 1,6 Gteksli/s Pełnoekranowy Anti-Aliasing Systemy cząstkowe Particle systems NSR NVIDIA Shading Rasterizer
GeForce 2 NSR Transform Engine Lighting Engine Setup Engine Rendering Engine NSR 2Texle x 4 potoki x 200M/s = 1600MT/s = 1,6 GT/s Pixel Pipe 1 Pixel Pipe 2 Pixel Pipe 3 Pixel Pipe 4 HDVP Processor
GeForce 2 NSR Base Texture PerPixel Bump Map PerPixel Diff Light PerPixel Spec Light NSR Colored Fog Ambient Light Alpha Transparency
GeForce 3 GeForce 3 GeForce 3 Ti 200 GeForce 3 Ti 500
GeForce 3 Ti 200 Nazwa kodowa NV20 Proces produkcyjny: 150nm DirectX 8.0/ OpenGL 1.3 AGP 4x Proces Produkcyjny: 150nm Wielkość pam.: 128 MB Taktowanie układu: 175MHz Max taktowanie pam: 400MHz VS/PS/TMU/ROP: 1/4/8/4 Zwiększone multipróbkowanie w filtrowaniu anizotropowym z 2x do 8x
GeForce 3 zmiany Nowe Technologie Szacowanie powierzchni wysokiego poziomu: Krzywe Beziera, B-Spline, linie Catmull-Rom Programowalne jednostki VS, PS Textury 3D Mip mapping Cienie Occlusion Culling: Viewing frustum culling - usuwane obiekty spoza obszaru widzenia kamery Back face culling usuwane trójkąty z widocznych obiektów ale nie widoczne dla kamery Z-occlusion uswane obiekty, które są w obszarze widzenie kamery ale są za daleko HRAA High Resolution Anti-Aliasing metoda anti-aliasingu wykorzystująca technikę Quincunx
GeForce 3 Potok renderowania
GeForce 3 Vertex Shader Cechy charakterystyczne: Vertex Shader oraz Pixel Shader tworzą tzw. nfinitefx Engine nfinitefx Engine składa się z 32M tranzystorów Pozwala programistom aplikacji 3D stosować programy dla każdego wierzchołka obiektu 3D Ograniczenie do 128 instrukcji na program dla VS
GeForce 3 Vertex Shader
GeForce 3 Vertex Shader VS pozwala wykonywać operacje: Zmiana wartości cech wierzchołka Współrzędne w przestrzeni x,y,z Waga w Kolor diffuse oraz specular w postaci RGBA Wektory normalne Współrzędne tekstur nałożonych na wierzchołek Transformacja oraz oświetlenie znane z poprzedniej generacji Geforców jako jednostka T&L
GeForce 3 Vertex Shader Możliwości: Animacja szkieletowa Morphing
GeForce 3 Vertex Shader Możliwości: Per-vertexowe rozmycie ruchu Deformacje proceduralne
GeForce 3 Vertex Shader Inne efekty Kontrolowane przez VS systemy cząsteczkowe są w stanie pracować całkowicie niezależnie od procesora głównego Odbicie i załamanie światła Podwodne wzory załamania światła przez powierzchnię wody Dwustronne oświetlenie trójkąta Warstwowa mgła Nowe efekty oświetlenia: toon shading(oświetlenie kreskówkowe), rendering sylwetkowy, oświetlenie membranowe, rendering tęczy, oświetlenie anizotropowe Szum Perlina funkcja proceduralnego szumu, może być stosowany do tworzenia chmury, dymu, mgły, ognia, itp Wiele źródeł światła
GeForce 3 Pixel Shader
GeForce 3 Pixel Shader Pixel Shader pozwala na modyfikację informacji o kolorze, przezroczystości pixela. Shadery mogą być wykorzystywane do tworzenia: Realistycznego oświetlenia Per-pixel directional light Per-pixel spot light Per-pixel point light Cieni Wypukleń (bump mapping)
GeForce 3 Pixel Shader Cechy Pixel Shadera: Nakładanie cieni Szybsze odczyty tekstur, tekstury do 4096x4096 lub 512x512x512 Tekstury YUYV konwertowane do RGBA Przejście po kolorach pass through color Zwierciadlane mapowanie wypukłości - True reflective bump mapping Mapowanie wypukłości środowiska Konwolucja obrazu Izotropowe oświetlanie oparte na BRDF
GeForce 3 LMA LightSpeed Memory Architecture seria ulepszeń mająca na celu poprawę przesyłania danych pomiędzy GPU a pamięcią graficzną. Na kluczowe elementy LMA składają się: Crossbar Memory Architecture Occlusion Detection Z-Buffer Compression
GeForce 3 LMA Crossbar Memory Architecture Nowy krzyżakowy kontroler pamięci ma na celu zmniejszenie opóźnień zapisu/odczytu do/z pamięci i poprawę granulacji przesyłanych danych
GeForce 3 LMA Z-Buffer Compression Bezstratna kompresja danych w stosunku 4:1, co powoduje zmniejszenie wpływów dostępów Z-Buffora na przepustowość pamięci o 75% Kompresja zaimplementowana sprzętowo Niedostępna dla aplikacji Kompresja jak i dekompresja odbywają się w czasie rzeczywistym bez redukcji jakości obrazu
Test wydajności Max Payne Wydajność GF GF3 Ti 500 91,3 GF3 78,3 GF3 Ti 200 69,4 GF2 Ultra 54,7 GF2 Ti GF2 Pro 47,2 47,1 GF2 GTS 38,2 GF256 DDR 31,1 GF2 MX 400 GF256 SDR GF2 MX 200 TNT2 22,5 21,4 19,2 18,2 0 25 50 75 100
Bibliografia http://developer.nvidia.com/page/home.html http://www.tomshardware.pl/ http://www.egielda.com.pl/ http://pclab.pl/ http://www.maximumpc.com/