Компьютерра проба графічного прискорювача ati х1800хт 512 Мбайт

Тестова система:

Ось і вийшло, що ситуація на ринку сьогодні далеко не на користь канадців. Впевнено лідируючи в "дешевих" і "інтегрованих" нішах, солідних по оборотам, але, на жаль, не приносять по-справжньому великого прибутку, самі "смачні", високопродуктивні сегменти ще недавно домінувала тут ATI втратила. В результаті - провальний квартал і 104 млн. Доларів збитків.

Технічні характеристики новинки

Інженери ATI пішли іншим, "процесорним" шляхом, не ставши дублювати конвеєри, а організувавши з GPU своєрідний суперскалярний процесор з єдиним конвеєром, на якому кілька пікселів можуть оброблятися одночасно. Замість того щоб "розіпхати" пікселі за різними конвеєрів, R520 накопичує їх (разом з відповідними шейдерними інструкціями) в спеціальному величезному планувальнику, який ATI називає Ultra-Threading Dispatch Processor. Чому Ultra? Та тому, що цей планувальник управляє одночасним виконанням колосального числа операцій (512 квадов 2x2 пікселя в High-End, і більш скромні 128 квадов - в менш дорогих Middle-End і Low-End графічних чіпах). Все квади зберігаються в довжелезних чергах, і в міру того, як звільняються обчислювальні ресурси, відправляються на відповідний пристрій, будь то обчислювальний, текстурний блок або блок графічного Back-end'а (запис результатів у фрейм-буфер, Блендінг, z-тест, антиалиасинг та ін.). Це більш складний підхід, ніж кілька однотипних конвеєрів, але і більш гнучкий і ефективний. Наприклад, ми можемо як завгодно гнучко варіювати співвідношення кількості обчислювальних і текстурних модулів, так як вони більше не підключаються один до одного, створюючи єдине ціле, а розділені за операціями, які вони виконують

До речі, подібну оптимізацію можна буде побачити в ядрі R530 - серце Middle-End прискорювача Radeon X1600. У ньому буде три процесори квадов (3x4 = 12 піксельних конвеєра), але всього один процесор текстур (1x4 = 4 TMU). Для сучасних шейдеров, які більше займаються обчисленнями, ніж вибіркою даних з оперативної пам'яті, такий підхід виправданий, оскільки дозволяє раціональніше витрачати площа кристала, збільшивши число піксельних конвеєрів за рахунок скорочення числа TMU]. Йдеться про текстурних операціях, які раніше могли блокувати конвеєр до тих пір, поки не буде завершена операція вибірки чергового тексель [Традиційний конвеєр GPU влаштований набагато простіше конвеєра CPU, так що переупорядочивания інструкцій, яке дозволило б обігнати застрягла в конвеєрі інструкцію інший, що не залежить від неї, - в графічних процесорах немає.

Заодно вирішується і проблема динамічних умовних переходів в шейдерах. Що це таке? Зараз поясню: заради все того ж спрощення піксельних конвеєрів, яких потрібно вмістити побільше на обмежений шматочок кремнію, ці конвеєри влаштовують таким чином, що вони спочатку як би налаштовуються на ту чи іншу конкретну операцію над пікселями (додавання, віднімання, множення) і потім застосовують її багато разів поспіль до різних пикселам; після чого перебудовуються на наступну операцію і знову застосовують її багато разів до тих же пикселам, і т. д. Оскільки один і той же шейдер зазвичай потрібно застосувати до запаморочливого кількості пікселів, така схема зазвичай працює чудово. Однак якщо зустрічається шейдер, в якому є динамічні умовні переходи (які не можна заздалегідь передбачити), то може виявитися так, що для однієї частини пікселів, "бігають по колу" в конвеєрі, якусь операцію застосовувати потрібно, а для іншого - немає. І це настільки серйозна проблема, що графічні чіпи ATI довгий час не підтримували динамічні переходи (а значить, і Shader Model 2.0a і 3.0).

Правда, рішення nVidia дуже вже красивим теж не назвеш: в її варіанті "дурний" конвеєр по колу обробляє всі пікселі, але у вирішальний момент над деякими з них виробляє операцію, а деякі - ігнорує (подібний спосіб виконання умовних переходів можна зустріти в процесорах ARM ). ATI знайшла набагато кращий вихід: оскільки замість кількох "дурних" і простих конвеєрів у неї лише один, але "розумний" і складний, то не потребують обробки піксельні квади до виконавчих пристроїв просто-напросто не добираються, поступаючись місцем тим квадов, з якими дійсно потрібно щось робити. В результаті конвеєр хоч і виконує як і раніше одну і ту ж операцію над різними пікселями, неквапливо перебудовуючись з однієї на іншу, але робить це не в приклад інтеллектуальнєє і не розбазарює попусту свої ресурси. А заодно сімейство Radeon X1000 отримує практично "безкоштовну" підтримку шейдерів третьої версії. Чесно кажучи, настільки блискучому рішенням, вбиває разом цілу зграю зайців, можна тільки позаздрити! Це ще не уніфікована шейдерная архітектура, де єдиний конвеєр (а вірніше, набір з таких) може обробляти будь-які шейдери - як піксельні, так і вершинні, але те, що півкроку в її сторону зроблено, - безсумнівно.

Маленькі контролери (точніше, інтерфейси для підключення модулів пам'яті) об'єднуються дуже швидкою внутрішньої двобічної кільцевої шиною (шириною 256 ліній в кожному напрямку для моделей з 256-розрядної основною шиною пам'яті і 128 ліній - для більш дешевих). На кільці є чотири "зупинки" - точки підключення до зовнішніх пристроїв. Наприклад, для топових R520 до кожної такої "зупинці" підключено по два модулі пам'яті (шина пам'яті 2x32 розряду) і якась частина внутрішніх пристроїв процесора, розташованих поблизу. Яких? А неважливо: які було зручно підключити саме в цьому місці, такі і підключили. Крім того, за спеціальним простим керуючим шинам (по яких передаються тільки інструкції) кожна така "зупинка" підключена до "диспетчеру" - тому самому централізованого контролера пам'яті, який не займається доставкою даних до виконавчих пристроїв, а тільки "віддає розпорядження" і "доглядає "за тим, щоб потрібні дані прочитав потрібний маленький контролер і відправив їх по кільцю до потрібної" зупинки ", де їх зможе зняти саме виконавчий пристрій.

Ще сюди можна віднести поліпшену підтримку чисел з плаваючою точкою, зокрема - повноцінну підтримку фрейм-буфера в плаваючому форматі (включаючи можливість антиалиасинга). Для чого це потрібно? Експоненціальне уявлення кольору більш природно для людського ока і дозволяє легко і якісно реалізовувати сцени з дуже великою контрастністю (HDR, High Dynamic Range), досить часто виникають в іграх і реальному житті (наприклад, коли ми дивимося з темряви на світло, яке освітлює лише невелику частина приміщення)

Одним словом, картки у ATI вийшли непогані. Ось тільки не запізно?

- З журналу "Компьютерра". Дякуємо компанії ATI за надання тестового зразка ATI Х1800ХТ і компанію AMD за тестову платформу на Athlon 64 FX-57.