Na dwie głowy

Najprostszym sposobem przyśpieszenia obliczeń jest zastosowanie dwóch procesorów. A może ta metoda poskutkuje też w przypadku grafiki 3D?

Korporacja XGI (eXtreme Graphics Innovation) nie jest nowicjuszem na rynku kart graficznych. Powstała ona bowiem po wydzieleniu z tajwańskiej firmy SiS oddziału zajmującego się produkcją akceleratorów 3D. Kości te są dobrze znane pod handlową nazwą Xabre. Na bazie doświadczeń zebranych przy projektowaniu kolejnego procesora – Xabre II, który nigdy nie ujrzał światła dziennego (patrz: $(LC59951:Zmiany na linii)$) – powstała cała linia produktów Volari. Jej najsilniejszymi przedstawicielami są dwuprocesorowe konstrukcje Volari Duo V8 Ultra oraz Volari Duo V5 Ultra.

Elastyczna konstrukcja

Układy V8 Ultra i V5 Ultra, które służą do budowy modeli kart Volari Duo, są bardzo uniwersalnymi chipami. Na ich bazie można bowiem zbudować zarówno dwuprocesorowe urządzenia z serii Duo, jak i pojedyncze akceleratory 3D, oznaczone przez producenta symbolami Volari V8 Ultra oraz Volari V5 Ultra. Za współpracę dwóch kości na jednej karcie graficznej i równomierny podział zadań w trakcie generowania obrazu 3D odpowiadają specjalne jednostki wykonawcze, wbudowane po jednej w każdy procesor 3D. W chipach V8 Ultra i V5 Ultra zarządzają one procesem przepływu i współdzielenia strumienia danych graficznych. Szybkość wymiany informacji pomiędzy układami zarówno z serii V8 Ultra, jak i V5 Ultra dochodzi do 2,13 GB/s. Opisana technologia została nazwana BitFluent Architecture.

Żeby procesory 3D na kartach z serii Duo nie wchodziły sobie w drogę, jeden z układów jest chipem nadrzędnym (master), drugi zaś dostosowuje się do jego poleceń (slave). Kość zarządzająca komunikuje się z resztą komputerowego systemu poprzez interfejs AGP 8x, wysyła sygnał na monitor za pośrednictwem 400-megahercowego RAMDAC-a lub wydzielonego mostka wideo (XV301) do panelu LCD, na drugi monitor albo też na telewizor. Kość master odpowiada też za bufor ramki i przejmuje na siebie cały ciężar generowania obrazu 2D. Do głównego układu może również (opcjonalnie) powędrować sygnał video-in – za pośrednictwem kości BT835.

W chwili włączenia trybu 3D kości w kartach Volari Duo oba chipy graficzne dzielą się pracą po połowie. Pierwsza z kości generuje jedną ramkę, w tym czasie druga przetwarza następną. Trzeci obraz jest zaś znów obrabiany przez pierwszy układ i tak dalej. Dzięki temu, jak twierdzą inżynierowie z firmy XGI, uzyskano dwukrotne zwiększenie wydajności karty w stosunku do wersji akceleratora z jednym tylko chipem 3D. Pamięć zamontowana na karcie graficznej (512 MB) podzielona jest na pół. Każdy układ korzysta z własnego wydzielonego 256-megabajtowego RAM-u. Konstruktorom udało się w ten sposób uniknąć problemów ze współdzieleniem zasobów przez dwa układy, które mogą się jednocześnie odwoływać do tych samych obszarów pamięci.

Co w kościach siedzi

Najbardziej zaawansowanym i najwydajniejszym układem, używanym w kartach Volari, jest 256-bitowy V8 Ultra. Kość ma wbudowanych osiem potoków renderujących, z których każdy ma do dyspozycji po jednej jednostce mapującej tekstury. Procesor dysponuje dwoma jednostkami Vertex Shader, zgodnymi z założeniami specyfikacji 2.0, co zapewnia mu stuprocentową kompatybilność z bibliotekami DirectX 9.0. Nie zabrakło oczywiście modułów Pixel Shader w wersji 2.0. Jest ich w układzie V8 Ultra cztery. Kość jest również zgodna z OpenGL 1.4.

Spośród standardowo obsługiwanych efektów graficznych wymienić można mapowanie wypukłości (ang. bump mapping), wykorzystujące mapy MIP – kubiczne mapowanie środowiskowe (ang. mipmapped cubic mapping) czy też obsługę tekstur wolumetrycznych. Układ sprzętowo wykonuje również cieniowanie płaskie, cieniowanie Gourauda oraz anizotropowe filtrowanie tekstur, które według producenta zostały tak udoskonalone, że zapewniają lepsze efekty niż w kartach graficznych pozostałych producentów. Ciekawostką jest obsługa tzw. dwustronnego bufora szablonów (ang. 2-side stencil) umożliwiającego łatwe generowanie takich efektów jak ślady opon czy odbijające światło plamy oleju na jedni. Całość technik związanych z generowaniem obrazu 3D, w tym wykorzystujących jednostki shaderowe, firma XGI nazwała technologią TruShader 2.1.

Interesująca jest również architektura zarządzania pamięcią – BroadBahn. W procesorze XGI V8 Ultra wykorzystano czterokanałowy kontroler pamięci, a obsługiwana 256-megabajtowa pamięć DDR bądź DDR2 (w zależności od wersji karty graficznej) podzielona została na cztery niezależne banki, z których każdy wykorzystuje 32-bitową szynę danych. Daje to w sumie 128-bitową magistralę pamięci, która dzięki krzyżowemu rozdzielaniu przesyłanych informacji zachowuje się tak, jakby miała szerokość aż 512 bitów. Przepustowość podsystemu pamięci BroadBahn wynosi według producenta 16 GB/s.

Wszystkie przesyłane do graficznego RAM-u tekstury są poddawane bezstratnej kompresji, podobnie jak informacje opisujące kolory poszczególnych pikseli. Konstruktorzy kart Volari zastosowali również szybkie algorytmy czyszczenia bufora Z oraz mechanizmy eliminowania pustych cykli związanych z odwołaniem się różnych potoków do tych samych obszarów pamięci.

0
Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.