Nowa generacja procesorów 3D
Tak działają najszybsze karty graficzne
Procesory graficzne nowej generacji stworzone przez ATI i Nvidię zapewniają niespotykany wcześniej poziom akceleracji 3D. Zgłębiamy tajniki budowy najwydajniejszych układów i pokazujemy różnice między konstrukcjami czołowych producentów.
|
Filmy w wysokiej rozdzielczości, skomplikowane obliczenia matematyczne i piękne, fotorealistyczne efekty trójwymiarowe. Współczesne karty graficzne mogą o wiele więcej, niż tylko przedstawiać działania bohaterów naszych ulubionych gier. Wydajność najnowszych urządzeń stworzonych przez Nvidię i ATI jest ogromna. Nowy układ Nvidii nosi nazwę GT200. Trafił do kart graficznych sygnowanych symbolami GTX260 oraz GTX 280. Topowy model ATI – oznaczony symbolem RV770 – znajdziemy w Radeonach HD 4850 i 4870. Przepaść dzieląca je od wcześniej produkowanych układów jest dobrze ilustrowana przez ranking procesorów graficznych na s76. W dalszej części tekstu przybliżymy szczegóły budowy nowych układów, wyjaśnimy pojęcia, takie jak shader, ROP czy jednostka teksturowania, i zademonstrujemy, dlaczego nowoczesne procesory graficzne w niektórych zastosowaniach deklasują najwydajniejsze procesory Intela i AMD. Podstawy: budowa karty graficznejWspółczesne karty graficzne zwykle składają się z pięciu komponentów: interfejsu systemowego, pamięci graficznej, procesora graficznego GPU (Graphics Processing Unit), bufora ramki i tzw. RAMDAC (Random Access Digital/Analog Converter). Interfejs systemowy znajduje się najbliżej płyty głównej. Obecnie stosuje się złącze PCI Express. Za jego pośrednictwem nieobrobione dane są ładowane do pamięci graficznej, w której przechowywane są wszelkie obiekty graficzne i tekstury. Jej pojemność waha się od 256 do nawet 2048 MB. Informacje są następnie odczytywane przez procesor graficzny, który przygotowuje do wyświetlenia na ekranie pozycje, ruchy i fakturę wszelkich obiektów widocznych w trójwymiarowej scenie. Po obróbce gotowy obraz jest umieszczany w buforze klatek i wędruje do RAMDAC – układu, który przetwarza cyfrowe obrazy, nadając im formę analogową, odpowiednią dla wyjścia VGA, lub przesyła je do cyfrowych wyjść DVI, HDMI lub DisplayPort. Potok graficzny: droga obrazuWiększość elementów karty graficznej odgrywa wyłącznie rolę pomocniczą. Najważniejszy jest procesor grafiki. Kiedy docierają do niego dane, rozpoczynają się obliczenia, których efekt możemy zobaczyć na monitorze. Potok graficzny, czyli droga, jaką pokonują dane w karcie graficznej: od interfejsu do bufora klatek, jest podobny we wszystkich nowoczesnych urządzeniach. Cała sekwencja powtarzana jest w wypadku każdej pojedynczej klatki. Aby wyświetlany ruch był płynny, ludzkie oko musi wychwycić co najmniej 25 klatek na sekundę. W nowoczesnych grach komputerowych największy realizm uzyskuje się dopiero przy 60 klatkach na sekundę – procesor graficzny ma więc dużo pracy. Pierwszy etap potoku graficznego to obliczenia wstępne i przekształcenie informacji przez procesor wstępny (tzw. Setup Engine lub Input Assembler). Ten ostatni rozpoznaje typ danych, tj. bada, czy ma do czynienia z wektorami, obrazami, czy też kodem programu, i odpowiednio przygotowuje informacje do dalszej obróbki. Jest też ustalane, czy grafika będzie przetwarzana przez układ cieniowania wierzchołków (Vertex Shader), geometrii (Geometric Shader) lub pikseli (Pixel Shader), czy też przez jednostkę teksturowania. Każdy obiekt trójwymiarowy składa się z trójkątów. Ich współrzędne są wykorzystywane przez układ cieniowania wierzchołków do tworzenia modeli przestrzennych przedstawianych brył. Są one ustawiane w odniesieniu do punktu widzenia wirtualnego obserwatora. Przyjęte pole widzenia określa się mianem bryły widzenia. Po uszeregowaniu struktur w przestrzeni sprawdza się, czy określony obiekt układu znajduje się w bryle widzenia, tzn. czy jest widoczny, czy też częściowo lub całkowicie zasłonięty przez inne obiekty. Aby uniknąć wykonywania niepotrzebnych obliczeń, niewidoczne elementy są ze sceny usuwane – proces ten nazywa się obcinaniem bryłowym. Z kolei jeśli obiekt jest usuwany, gdyż znajduje się zbyt daleko od obserwatora, by ten mógł go zauważyć, albo zbyt blisko niego czy za nim, mówimy o tzw. clippingu. Ostatnim etapem pracy układu cieniowania wierzchołkowego jest odpowiednie oświetlenie trójwymiarowej sceny. W tym celu w wymodelowanej przestrzeni umieszczone zostaje jedno lub więcej źródeł światła – bez tego utonęlibyśmy w ciemności. Vertex Shader może jedynie manipulować istniejącymi obiektami, nie ma natomiast możliwości dodawania nowych elementów, takich jak punkty, linie i trójkąty. W celu zaspokojenia takich potrzeb w wydanym w listopadzie 2006 roku pakiecie DirectX 10 znalazł się układ geometrii. Może on tworzyć zupełnie nowe formy geometryczne, dzięki czemu np. wirtualne drzewa będą rosnąć. Shader geometryczny uruchamiany jest po utworzeniu trójwymiarowej sceny. Kiedy obraz, który powinien być widziany przez obserwatora, jest przygotowany w formie siatki zawierającej źródła światła, powstaje jego dwuwymiarowe odwzorowanie, które może być wyświetlone na monitorze. Proces ten nazywamy renderowaniem albo rasteryzacją. Każdy punkt dowolnego obiektu trójwymiarowego, dotychczas zapisany w formie wektorowej, jest przekształcany w piksel. Następnie układ przechodzi do obliczeń związanych z cieniowaniem wykonanych przez shader pikseli. Nadaje on kolejnym punktom kolor oraz inne cechy, jak przezroczystość, odbijanie światła lub faktura. W ten sposób zostaje oddana barwa wyświetlanych elementów. Kolejne zadania wykonywane przez shadery można jeszcze raz prześledzić na infografice. |


Kup Najtaniej
1)
GF 280 - 933GFlops (SP), 240 shaderow, zegar 1296MHz
PowerXCell 8i (zwany WIELKIM) - 204,8GFlops (SP, tylko SPE), 8 SPE, zegar 3,2GHz
policzmy teoretycznie:
240 x 1296 = 311,04 GHz
8 x 3200 = 25,6GHz
311,04/25,6 = 12,15x
liczmy dalej
2)
wydajnosc teoretyczna
933/204,8=4,55x
wydajnosc na takt zegara
933/311,04 = 3 Flops (operacje) / 1_takt_zegara
204,8/25,6= 8 Flops (operacji) / 1_takt_zegara
8/3=2,66x
3)
pobor mocy:
gtx 280 65nm 310W (masakra !!!)
CELL 65nm 75W
CELL 45nm 50W
4)
liczba tranzystorow
gtx 280 1400mln
CELL 234mln
1400/234=5,98x
5)
powierzchnia chipow
gf gtx 280 65nm 575mm2
CELL 90nm 231mm2
CELL 65nm ok 109mm2
CELL 45nm ok 65mm2
wnioski koncowe:
1) teoretyczny (sumaryczy) zegar gf jest przeszlo 12x wiekszy a wydajnosc karty ledwo 4,6x wieksza.
2) kazdy takt zegara CELLa (WIELKIEGO) jest przeszlo 2,6x lepiej wykozystany niz w gniota gtx 280
tak wiec przy tym samym taktowaniu i liczbie jednostek obliczeniowych CELL bylby 2,6x razy wydajniejszy !
3) TDP CELLa jest kilka razy mniejsze
4) CELL posiada prawie 6x mniej tranzystorow. mozna se policzyc jaka wydajnosc mialby system zlozony z 6 CELLi
5) powierzchnia CELLa jest kilka razy mniejsza
a tak na marginesie CELL jest tani jak barszcz w porownaniu do gniota z karty graficznej !
CELL to GIGANT !
dziekuje za uwage
pzdr
Jednak co racja to racje - raczej mnie nie stać na takie karty.
PS: s***ka i niedożywienie: skoro cell jest taki cudowny i taki mocny to po kiego Sony do PS3 dokłada jeszcze układ graficzny?
Trochę nie można porównywać procesora CPU z GPU. Kolego weź sobie na przykład procesor twojej MP3 - jesli posiadasz - jest on wielokrotnie wolniejszy od np pentuim 100 sprzed 10 lat, ale spróbój na pentiumku odpalić dekodowanie w czasie rzeczywistym matriału audio o rozdzielczości 320 kbps.
Widzisz tu kłania się wiedza o czymś takim jak specjalizacja.
Teraz zamontuj tego swojego cudownego (bo w sumie jest cudowny) cella w KG i wykręć chociaż 15 klatek na full detalach w crysisie....
Oj nie działa?
Oj smutne ... pomyśl, czemu tak się stało.
Dziękuję za uwagę,
Lama
Miejmy nadzieje ze dzieki CUDA bedziemy mogli jeszce lepiej je wykozystac
szok_i_niedowierzanie - daruj sobie... mozesz wyrazac swoje poglady ale przy okazji nie obrazaj pogladow innych, ok?
No to cześć:
RV770XT 750MHz 10SIMD CORES wydajność 1200GFLOPS. Pobór prądu całej karty (z 1GB RAM) to ~160W.
To liczymy:
1200GFLOPS/10SIMD CORES = 120GFLOPS/CORE
Teraz 120GFLOPS/Core / 750MHz = 160FLOPS/CORE/1Hz (dobra, jak ktoś jest uparty niech se podzieli te 160/16 żeby mieć ilość operacji na SP, a potem jeszcze przez 5 by mieć na SPU).
Teraz performanc/watt co? 1200GFLOPS/160W = 7,5GFLOPS/W - taki zły wynik?
Chłopie - zrozum wreszcie, że Cell nie ma w swojej strukturze RAMDAC, nie ma TMU, nie ma RBE ani wielu innych elementów GPU, to jak w ogóle ŚMIESZ porównywać pobór prądu czy ilość tranzystorów ? Różnica jest taka, że GT200 potrafi wyświetlać obraz, ale potrafi też przeprowadzać obliczenia, a Cell potrafi tylko to drugie.