Rozwój akceleratorów grafiki 3D po 2001r.
Transkrypt
Rozwój akceleratorów grafiki 3D po 2001r.
Architektura Systemów Komputerowych Rozwój akceleratorów grafiki 3D po 2001r. Piotr Ploch, Sebastian Pudełko Gr. 24 Karta graficzna to element komputera tworzący sygnał dla monitora. Podstawowym zadaniem karty graficznej jest przechowywanie informacji o tym jak powinien wyglądać ekran monitora i odpowiednim sterowaniu monitorem. Pierwsze karty graficzne potrafiły jedynie wyświetlać znaki alfabetu łacińskiego ze zdefiniowanego w pamięci karty generatora znaków - tryb tekstowy. Kolejna generacja kart graficznych potrafiła już wyświetlać w odpowiednim kolorze poszczególne punkty (piksele) - tryb graficzny. Nowoczesne procesory graficzne udostępniają wiele funkcji ułatwiających i przyśpieszających pracę programów. Możliwe jest narysowanie odcinka, trójkąta, wieloboku, wypełnienie ich zadanym kolorem lub wzorem, tzw. akceleracja 2D. W chwili obecnej wszystkie karty na rynku posiadają wbudowaną funkcję ułatwiające tworzenie obrazu przestrzeni trójwymiarowej, tzw. akceleracja 3D. Właśnie rozwojem akceleratorów 3D po 2001r się zajmiemy. W chwili obecnej na rynku kart graficznych liczą się jedynie dwie firmy - ATI i nVidia. W roku 2001 na rynku można było znaleźć również karty graficzne takich firm jak Matrox, STMicroelectronics, czy Intel. Firmy te produkowały nowe układy jedynie do początku 2002 r. Potem nie wypuściły na rynek żadnego nowego modelu. Dlatego rozwój kart oprzemy na przykładach ATI i nVidia. Dla rozwoju akceleratorów 3D bardzo ważne znaczenie miało zastosowanie Pixel Shader i Vertex Shader, które jako pierwsze w swoim układzie umieściła nVidia, a dokładnie był to Geforce 3. Pixel Shader to mechanizm, odpowiedzialny za ostateczne generowanie obrazu, który ma zostać wyświetlony. Jego cechą charakterystyczną jest możliwość przypisania do każdego piksela oddzielnego programu modyfikującego jego parametry. Natomiast Vertex Shader pozwala wykonywać zaawansowane operacje na wierzchołkach (vertex), nieobciążające głównego procesora komputera. Do każdego wierzchołka można przypisać oddzielny program, sterujący jego zachowaniem. Karta GF 3 nie miała sobie równych pod względem osiągów, to było marzenie każdego ówczesnego gracza. Trochę później wypuszczony na rynek Radeon 8500 był jednak szybszy, współpracował z DirectX 8.1, kiedy porównywalny do niego Geforce 3 tylko w wersji 8. W późniejszym okresie wydano GeForce 3 Ti 500 (w którym względem poprzednika podniesiono zegary jako odpowiedź na Radeona 8500) i Geforce 3 Ti 200 (miała to być tania karta z Shaderami i miała obniżone zegary). W tym samym czasie rynek został zalany tańszymi kartami z Tajwanu, które bardzo często były w pewien sposób uszkodzone (np. brak jakiegoś kondensatorka, źle przesmarowany rdzeń). Karty te były kilkaset złotych tańsze, ale istniało ryzyko, że trafimy na uszkodzony egzemplarz i były kiepskie do OC. W 2002 roku nVidia wypuszcza 4 Ti, była to praktycznie 3 Ti z jeszcze wyżej ustawionymi zegarami. W tym samym roku firma ta wypuściła na rynek jeszcze kilka innych modeli, np. GF 4 MX440-8, który jako pierwszy obsługiwał AGPx8. W generacji Geforce 4 ciekawym był fakt, że nazwa wskazywała na coś nowszego, lecz technologicznie i wydajnościowo ta karta była podobna do Geforce2. Jedyne, co jej pozostało z 4 Ti to system zarządzania pamięcią, co trapiło GeForce2. ATI odpowiada Radeonem 9700, dla którego nawet wypuszczony później Geforce FX nie był godnym rywalem. Dla mniej zamożnych graczy producent z Kanady przygotował Radeona 9000. W tym momencie zaczyna się cyrk z nazewnictwem Radonów. I tak dla przykładu R9000 to był 8500 bez jednej jednostki TMU i TrueForm i wbrew nazwie był wolniejszy. Później ukazał się R9100, który był Radeonem 8500 ze zmienioną nazwą, a następnie R9200, który z kolei był Radeonem 9000 z dodaną obsługą AGPx8. Pod względem wydajnościowym 9100 odpowiadał teoretycznie słabszemu 8500, a i tak oba były lepsze od porównywalnych 9000 i 9200. W 2003 r. pojawia się długo zapowiadany GF FX. Na początku miał się ukazać 5800Ultra, promowany jako pogromca Radeona 9700. Niestety okazał się wpadką za sprawą 128bitowej szyny do pamięci (Radeon - 256bit), drogiej pamięci DDR2 i słabej jednostki Pixel Shader, co trapi każdego FX. Ogólnie cała seria FX była chyba największą wpadką nVidii. Każdy konkurencyjny układ ATI jest lepszy. Firma z Kanady zaprezentowała Radeona 9600 ("następcę" 9500) i 9800 (faktycznie szybszego od 9700). Problem polegał na tym, że Radeon 9600PRO był 25% wolniejszy od 9500PRO, a ATI zostało zmuszone do jego wypuszczenia, bo GPU R300 było drogie, co gryzło się z przeznaczeniem tych kart. Natomiast 9800 był całkowitym sukcesem, oferował nieco wyższą wydajność od 9700. W czwartym kwartale tego roku ATI w modelu X300 jako pierwsza użyła PCi-E x16. W 2004 r. nVidia wzięła się do roboty i stworzyła naprawdę udany układ – był to pierwszy układ z serii 6. Niezwykłą furorę zrobiła karta 6600 dzięki znakomitej wydajności i dobrej cenie. Razem z serią 6 nVidia wprowadza CineFX 3.0. Dla nas oznacza to obsługę DirectX 9.0c i SM3.0. W dzisiejszych grach coraz częściej wykorzystywany i poprawiający widoki. Niestety Pixel Shader 3.0 W GF6 nie jest zabójczo szybki i tylko najwyższe karty (6800) są w stanie zapewnić płynną rozgrywkę w grach wykorzystujących SM3.0. W tym przypadku ATI zostało z tyłu. Mimo, że karty miało szybkie, to były one wyposażone w jedynie w SM2.0 i obsługę DirectX 9.0b. Ciekawostką jest wprowadzenie w tym roku technologii, zastosowanej po raz pierwszy już w 1998 r. przez firmę 3dfx (firma ta została wykupiona przez nVidię w 2000 r. razem z jej patentami oraz własnością intelektualną) w modelu Voodoo2, a mianowicie SLI. Pozwalała ona na skorelowanie pracy dwóch kart graficznych, celem szybszego renderowania obrazu. Technologię tą wspierają tylko karty generacji 6. i 7., a dzięki nowym sterownikom można używać kart bez mostka SLI. W tej chwili oficjalnie technologie SLI wspierają tylko płyty główne z chipsetem NVIDIA nForce4 Ultra. SLI boryka się jednak z problemami, z których najpoważniejszy to bardzo zmienny poziom uzyskiwanego wzrostu wydajności, do zera włącznie, zależny od specyfiki gry oraz uwzględnienia tego faktu w sterownikach. Chcąc przynajmniej zredukować problem, nVidia ostatnio wyraziła zgodę na tworzenie przez producentów w grach tzw. profilu SLI. Drugą słabością SLI jest konieczność użycia dwóch IDENTYCZNYCH kart, co należy rozumieć nie tylko jako tego samego typu, ale także pochodzących od tego samego producenta. Trzecią niedogodnością jest stosowanie wewnętrznego mostka łączącego obie karty, co w konsekwencji wymusza na producentach płyt głównych dochowanie bardzo wąskich tolerancji wymiarowych w rozmieszczeniu slotów PCI-E. Także w tym roku firma z Kalifornii wprowadziła model Geforce PCX 5300, który pracuje na gnieździe PCi-E x16. ATI rozwija serię X, która wzbogaciła się o modele X600, X600PRO, X800, X800PRO i X800XT. X600 i X600PRO to były tak naprawdę odpowiednio Radeon 9600 i 9600PRO z interfejsem PCi-E. X800 był szybszy od swojego konkurenta – GF 6800, lecz całą serię trapiła jedna dolegliwość, a mianowicie wsparcie jedynie jak już wspominaliśmy dla DirectX 9.0b. Odpowiedzią Kanadyjczyków na SLI był Crossfire. Technologia graficzna opracowana przez firmę ATI dzieli obraz idący do pierwszej karty graficznej (Master) tak, że mniej więcej połowa (w zależności od konfiguracji) trafia do karty wspomagającej (Slave). Przeciwnie, niż karty przeznaczone do pracy w systemie SLI, dwie karty ATI nie są (i nie muszą) być identyczne. Master zawiera elementy dodatkowe, niezbędne do funkcjonowania całości. ATI podkreśla o wiele większą elastyczność swojego rozwiązania, co w praktyce oznacza, że dowolna karta X800 lub X850 może współpracować z każdą kartą Radeon CrossFire Edition. Bez względu na markę, BIOS, częstotliwości pracy, ilość pamięci, liczbę potoków renderujących itd. Ale niestety - dwie zwykłe karty ATI nie mogą współpracować ze sobą. Zastosowanie układu Crossfire umożliwia znaczne, nawet dwukrotne przyśpieszenie aplikacji 3D. Według ATI jej rozwiązanie jest w pełni kompatybilne ze wszystkimi tytułami gier oraz wszystkimi programami do obróbki grafiki 3D. W tym roku obie konkurujące firmy wypuściły modele dwunasto- oraz szesnastopotokowe; 12 – X800 i GF 6800, 16 – X800 XT i GF 6800 GT. Co ciekawe nVidia wcześniej opracowała model szesnastopotokowy niż dwunastopotokowy. W roku 2005 nVidia kontynuuje serię 6 – serią 7. Układy otrzymały parę technologii, lecz nadal mamy do czynienia z Shader Model 3.0, jednak wydajność oczywiście wzrosła. Światło dzienne ujrzały karty X1xxx. W przeciwieństwie do Nvidii, ATI zdecydowało się uderzyć każdy segment rynkowy w jednym momencie i tak w dniu premiery dostępne były "rodzinki": X1300, X1600 i X1800. Tym razem ATI opuściło architekturę znaną z R300 i zaprojektowało rdzeń od nowa. Obecnie toczy się zacięty bój, bo np. X1600XT nie jest w stanie dogonić GF7600, ale już w wyższym pułapie cenowym/wydajnościowym Radeon X1900XTX wygrywa z Geforcem 7900GTX. W połowie 2005 r. obie firmy (nVidia i ATI) zaprezentowały technologię pozwalającą na ograniczenie ilości pamięci na karcie graficznej do niezbędnego minimum i uzupełnienia jej pamięcią dynamicznie przydzielaną z pamięci RAM komputera. Są to układy nVidia Turbo Cache i ATI Hyper Memory. Sam pomysł nie jest nowy (takie rozwiązania są od dawna stosowane w chipsetach do płyt głównych ze zintegrowaną grafiką i w notebookach), ale dzięki możliwościom i przepustowości magistrali PCi-E skuteczność i skalowalność takiej architektury znacznie wzrosły. Układy takie jak GF 6200 Turbo Cache czy Radeon X300 SE Hyper Memory potrafią wykonywać operacje bezpośrednio w pamięci operacyjnej komputera. Karty takie są tańsze i cichsze. Niestety ich wydajność w wyższych rozdzielczościach (więcej niż 1024x768) i przy włączeniu dodatkowych efektów wizualnych pozostawia wiele do życzenia. Ciekawym rozwiązaniem jest zaproponowany jakiś czas temu przez firmę Dell patent na połączenie jeszcze większej ilości kart graficznych w jeden działający układ. W przypadku Della były to cztery karty jednordzeniowe. W chwili obecnej nVidia oraz ATI udoskonalają swoje wersję tego rozwiązania. Firmy te zaproponowały jednak połączenie dwóch kart dwurdzeniowych, odpowiednio w SLI i Crossfire. ATI pracuje obecnie nad wprowadzeniem do swoich układów graficznych pamięci typu DDR4 oraz planuje przejście na 80nm (w chwili obecnej większość kart jest na 90nm).