Karty graficzne z układami ATI
Radeon HD 2900 XT (kodowa nazwa R600) oferują między innymi firmy Asus, Gigabyte, MSI, HIS, Sapphire. Karty kosztują 1400–1550 zł. Ich bezpośrednią konkurencją są mocne karty ze średniej półki, korzystające z układu Nvidia GeForce 8800 GTS i wyposażone w 640 MB pamięci.
Dla graczy karty z nowym układem ATI są niezwykle atrakcyjną propozycją. W większości przypadków wypadają lepiej od porównywalnej cenowo karty z GeForce’em 8800 GTS. Co więcej, w niektórych grach, np. UT2004 Assault, doganiają najszybsze karty z nowym procesorem Nvidia GeForce 8800 Ultra (kosztujące ok. 3000 zł)! Są to na razie sporadyczne sytuacje. Dopiero przygotowywana kolejna wersja układu ATI, o oznaczeniu prawdopodobnie HD 2900 XTX, będzie mogła na większym polu rywalizować z układem GeForce 8800 Ultra. Nie wiadomo jednak, kiedy się pojawi.
Wśród nowości wprowadzonych w ATI Radeon HD 2900 XT do najważniejszych należą zunifikowane jednostki cieniowania, obsługa bibliotek graficznych DirectX10 oraz ciekawy sposób zarządzania pracą jednostek cieniujących oraz przepływem danych.
64 jednostki cieniowania
ATI Radeon HD 2900 XT, podobnie jak konkurencyjne GeForce’y, wykorzystuje ujednolicone, uniwersalne jednostki cieniowania (shadery). Jednostki te, w zależności od wymogów gry, mogą pełnić funkcję zarówno vertex shaderów (procesorów operujących na wierzchołkach), jak i pixel shaderów (procesorów, od których zależą działania na pikselach). Do niedawna procesor graficzny zawierał specjalizowane jednostki obu rodzajów.
Układ ATI jest przystosowany do obsługi bibliotek DirectX 10. Aby jednak mógł sprostać wymogom stawianym przez nowe efekty graficzne, udostępniane przez te biblioteki, musi mieć odpowiednio dużą moc obliczeniową. Moc obliczeniowa zależy zaś od liczby jednostek obliczeniowych, które składają się na shadery. ATI Radeon HD 2900 XT ma 64 shadery, może więc jednocześnie pracować nad maksymalnie 64 algorytmami cieniowania. Trzeba dodać, że nazywanie tych małych procesorów shaderami jest dużym uproszczeniem. Można je bowiem obarczyć innymi zadaniami, np. obliczeniami związanymi z dźwiękiem przestrzennym czy wzajemnymi fizycznymi oddziaływaniami różnych obiektów na scenie w grze.
Przeglądając specyfikację nowego układu graficznego ATI, dowiesz się, że zawiera on aż 320 jednostek obliczeniowych! Pamiętaj jednak, że owych 320 jednostek nie jest równoważne z liczbą shaderów, jak to mają w zwyczaju prezentować sprzedawcy. Dopiero połączenie ich w grupy (5 jednostek obliczeniowych + jedna jednostka skoków) daje pojedynczy procesor cieniujący – stąd w rzeczywistości HD 2900 XT ma 64 shadery. Dla jasności, podawana w przypadku układów konkurencyjnych liczba jednostek obliczeniowych – 96 dla GeForce 8800 GTS czy 128 dla GeForce 8800 GTX – również nie oznacza liczby shaderów. Dopiero połączone jednostki obliczeniowe, pracujące nad jednym efektem, tworzą pojedynczy shader. Liczba shaderów jest zatem dynamicznie modyfikowana i zależna od tego, ile elementarnych jednostek obliczeniowych będzie brało udział w obliczaniu poszczególnych efektów graficznych. To jest jedna z wielu różnic między konstrukcją firm ATI i Nvidia.
Zarządzanie przepływem danych
Do obsługi tak dużej liczby jednostek w układzie ATI został dodany osobny procesor (Ultra-Threaded Dispatch Processor), który zarządza przydzielaniem zadań jednostkom cieniującym i optymalizuje ten proces. Ciekawostką jest, że jednostki cieniujące nie muszą wykonywać zadania od początku do końca. Mogą zawieszać pracę nad wykonywaniem zadania z różnych przyczyn (np. oczekiwania na dane, które będą dopiero wyliczane), ale nie pozostają wtedy bezczynne. Procesor, który optymalizuje ich pracę, kontroluje setki równoległych wątków, których jest znacznie więcej niż shaderów. W razie przerwania pracy nad jednym zadaniem shader natychmiast otrzymuje inny wątek do wykonania. Ten poprzednio przerwany może dokończyć inny shader w późniejszym terminie. Dzięki takiemu rozwiązaniu żadna z jednostek nie „próżnuje” nawet przez chwilę, a procesor cały czas pracuje z maksymalną mocą obliczeniową.
Ważną modyfikacją jest zastosowanie 512-bitowej, wewnętrznej pierścieniowej szyny pamięci, służącej do komunikacji między układem a pamięcią RAM karty graficznej. Szyna pracuje w trybie full duplex, zatem w jednym czasie może jednocześnie odbierać i wysyłać dane. Teoretycznie więc jej szerokość to 1024 bity. Rozwiązanie to zapewnia płynne (bez opóźnień) przesyłanie danych między procesorem graficznym a pamięcią RAM karty, gdyż dostęp do każdego shadera zapewnia indywidualne pasmo (patrz ramka „Komunikacja układu ATI z pamięcią RAM karty graficznej”).