+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

Огляд ATI RADEON X800 XT і X800 PRO (R420)

  1. ЗМІСТ Офіційні специфікації архітектура особливості відеокарт Конфігурації стендів, список...
  2. Загальна схема чіпа
  3. Вершинні процесори і вибірка даних
  4. Піксельні процесори і організація зафарбовування
  5. технологічні нововведення

ЗМІСТ
  1. Офіційні специфікації
  2. архітектура
  3. особливості відеокарт
  4. Конфігурації стендів, список тестових інструментів, якість в 2D, якість Temporal AA
  5. Синтетичні тести в D3D RightMark
  6. Якість трилинейной фільтрації і анізотропії
  7. якість АА
  8. Якість в цілому на основі FarCry
  9. Результати тестів: Quake3 ARENA
  10. Результати тестів: Serious Sam: The Second Encounter
  11. Результати тестів: Return to Castle Wolfenstein
  12. Результати тестів: Code Creatures DEMO
  13. Результати тестів: Unreal Tournament 2003
  14. Результати тестів: Unreal II: The Awakening
  15. Результати тестів: RightMark 3D
  16. Результати тестів: TRAOD
  17. Результати тестів: FarCry
  18. Результати тестів: Call Of Duty
  19. Результати тестів: HALO: Combat Evolved
  20. Результати тестів: Half-Life2 (beta)
  21. Результати тестів: Splinter Cell
  22. висновки

Отже, настав місяць травень, позаду поїздка в Канаду (Торонто), де ми вперше познайомилися з новинкою від ATI (тоді ще під кодовою назвою R420). Для бажаючих дізнатися про ATI Technology Days більш детально, даємо посилання на перший і другий дні роботи форуму.

А сьогодні ми вже скинемо завісу таємничості з нових продуктів і розглянемо більш детально. Чому у множині? - Просто на базі R420 випускається в світ не одна карта, а кілька. На сьогодні їх дві: RADEON X800 XT і X800 PRO. Більш детально - далі.

Нещодавно виходив наш матеріал по NVIDIA GeForce 6800 Ultra , І в анонсі цього матеріалу висловлювалося припущення: чи надовго NV40 став королем в 3D? Чи не змістить його R420 в найпотужнішій своїй іпостасі?

Давайте сьогодні познайомимося з новинкою від ATI і заодно спробуємо відповісти на це питання.

Офіційні специфікації Radeon X800

  1. Кодове ім'я чіпа R420
  2. Технологія 130нм (TMSC, low-k, мідні з'єднання)
  3. 180 мільйонів транзисторів
  4. FС корпус (перевернутий чіп, без металевої кришки)
  5. 256 біт інтерфейс пам'яті
  6. До 512 мегабайт DDR / GDDR-2 / GDDR-3 пам'яті
  7. AGP 3.0 8x шинний інтерфейс (також буде випущена PCI-Express версія чіпа R423)
  8. 16 піксельний процесорів, по одному текстурних блоків на кожному (X800 PRO - 12 конвеєрів).
  9. Обчислення, Блендінг і запис до 16 повних (колір, глибина, буфер шаблонів) пікселів за такт
  10. Обчислення і запис до 32 значень глибини і буфера шаблонів за такт.
  11. Підтримка «двостороннього» буфера шаблонів;
  12. MSAA 2x / 4x / 6х, з гнучко програмованими паттернами відліків. Стиснення буфера кадру і буфера глибини в MSAA режимах. Можливість змінювати MSAA патерни від кадру до кадру (Temporal AA);
  13. Анізотропна фільтрація ступеня до 16х включно
  14. 6 верхових процесорів
  15. Все необхідне для підтримки піксельних і вершинних шейдеров версії 2.0
  16. Додаткові можливості піксельних шейдеров на основі розширеної версії 2.0 - т.зв. 2.0.b
  17. Додаткові можливості вершинних шейдеров, понад базові 2.0
  18. Нова техніка стиснення текстур, оптимізована для стиснення двокомпонентних карт нормалей (т.зв. 3Dc, ступінь стиснення 4: 1).
  19. Підтримується рендеринг в буфера плаваючого формату, з точністю FP16 і FP32 на компоненту.
  20. Підтримуються тривимірні і FP (плаваючі) формати текстур
  21. MRT
  22. 2 RAMDAC 400 МГц
  23. 2 DVI інтерфейсу
  24. TV-Out і TV-In інтерфейс (потрібні інтерфейсні чіпи)
  25. Можливість програмованої обробки відео - піксельні процесори задіюються для обробки відео потоку (завдання компресії, декомпресії та обробки поста)
  26. 2D прискорювач з підтримкою всіх функцій GDI +

Специфікації карт, нині випущених на базі R420:

  • RADEON X800 XT: 525/575 (1150) MHz, 256MB GDDR3, AGP 8x / 4x, 16 піксельних конвеєрів ($ 499) - конкурент NVIDIA GeForce 6800 Ultra.
  • RADEON X800 PRO: 475/450 (900) MHz, 256MB GDDR3, AGP 8x / 4x, 12 піксельних конвеєрів ($ 399) - конкурент NVIDIA GeForce 6800 (?).

Загальна схема чіпа

Допитливий читач відразу відзначить, що схема практично збігається з NV40 . Нічого дивного - обидві фірми, намагаються створити оптимальне рішення, і вже кілька поколінь сповідують перевірену і ефективну організацію загальної структури графічного конвеєра. Істотні відмінності криються всередині блоків і в першу чергу в піксельних і вершинних процесорах.

Як і у NV40, в наявності шість верхових процесорів, і чотири незалежних піксельних процесора, кожен з яких працює з одним квадов (фрагментом 2х2 пікселя). Швидше за все, на відміну від NV40, присутній тільки один рівень кешування даних текстур.

В наявності 4 незалежних процесора квадов, кожен з яких може бути відключений - таким чином, в залежності від потреб ринку і наявності бракованих чіпів можна відключати один, два або навіть три процесора, виробляючи, таким чином карти, обробні 4, 8, 12 або 16 пікселів за такт. Не виключено, що в майбутньому, ентузіасти будуть так чи інакше досліджувати питання зворотної «активації» відключених при виробництві (і можливо бракованих) квадов, ми ж поки залишимо його в стороні.

А тепер, за традицією збільшимо ступінь деталізації в найцікавіших місцях:

Вершинні процесори і вибірка даних

Наведемо блок схему вершинного процесора R420:

Власне сам процесор на схемі позначений жовтим прямокутником, інші оточуючі його блоки показані для більш повної картини. Заявлено, що R420 містить 6 незалежних процесорів (подумки скопіюємо жовтий блок 6 разів). Є інформація, що вершинні процесори R420 підтримують динамічне управління виконанням - тобто переходи і цикли на основі прийнятих під час виконання шейдера рішень, однак вона вимагає перевірки. Як би там не було - поки ця можливість не доступна в API. Але, без сумніву, якщо вона є, вона буде використані в OpenGL і там нічого не заважає задіяти її повністю. У DX9, швидше за все, вона так і не з'являться. Вершинні блоки не відповідають ні повної специфікації VS 3.0 (відсутня можливість доступу до текстур) ні розширеної специфікації 2.0 в розумінні NVIDIA (т.зв. 2.0.а).

Що стосується арифметичної продуктивності - то за один такт верховий процесор R420 може виконати одну векторну операцію (до 4-х компонент FP32) і одну скалярну FP32 операцію одночасно, так само як і верховий процесор NV40.

Нагадаємо, як виглядає зведена табличка параметрів верхових процесорів сучасних прискорювачів з точки зору вершинних шейдеров DX9

Версія вершинних шейдеров 2.0 (R3XX, R42X) 2.a (NV3X) 3.0 (NV40) Число інструкцій в коді шейдера 256 256 512 і більше Число виконуваних інструкцій 65535 65535 65535 і більше Предикати Немає Є Є Тимчасових регістрів 12 13 32 константностей регістрів 256 і більше 256 і більше 256 і більше Статичні переходи Так Так Так Динамічні переходи Ні (?) Так Так Глибина вкладеності динамічних переходів Ні 24 24 Вибір значень текстур Ні Ні Так (4)

Ще один цікавий аспект, який ми досліджуємо далі - продуктивність емуляції FFP (T & L). Нагадаємо, що R3XX багато в чому програвав чіпам NVIDIA через відсутність спеціальних апаратних блоків розрахунку освітлення, прискорювали емуляцію T & L ось уже в трьох поколіннях чіпів NVIDIA. Будемо сподіватися, що розробники ATI проаналізували число додатків до цих пір повністю або частково використовують T & L, зробили висновки і виправили ситуацію, так чи інакше.

Піксельні процесори і організація зафарбовування

Розглянемо піксельну архітектуру R420 в порядку проходження даних. Отже, після установки параметрів трикутника нас чекає:

Зупинимося на найцікавіших фактах. По-перше, якщо раніше в R3XX було максимум два процесори квадов, обробних за такт блок з чотирьох пікселів (2х2) то тепер таких процесорів стало чотири. Вони повністю незалежні і кожен з них може виключатися з роботи (наприклад, для створення полегшеної версії чіпа з трьома процесорами при наявності шлюбу в одному з них).

Відзначимо, що багато в чому схема схожа на NV40, але є і кардинальні відмінності, на яких ми зупинимося докладніше.

Отже, спочатку трикутник розбивається на блоки першого рівня (8х8 або 4х4 в залежності від дозволу рендеринга) і відбувається перший ступінь відкидання невидимих ​​блоків, на основі даних повністю розміщеного на чіпі міні Z буфера. Його обсяг не афішується, але, судячи з усього, в R420 він займає кілька менше 200 кілобайт. Всього на цій стадії може бути відкинуто до 4 блоків за такт, тобто до 256 невидимих ​​пікселів.

Потім відбувається другий ступінь розбиття - цього разу, на квади розміром 2х2 і відбувається раннє відсікання повністю невидимих ​​квадов, на основі зберігається в відео пам'яті Z буфера другого рівня, з гранулярністю покриття 2х2. Відзначимо, що в залежності від режиму MSAA один елемент цього буфера може відповідати 4 (немає), 8 (MSAA 2х), 16 (MSAA 4х) або навіть 24 (6х MSAA) точкам в буфері кадру, ось чому його виділення в окрему структуру, що займає проміжний рівень між міні буфером глибини повністю розташованому на чіпі і остаточним буфером глибини базового рівня. Таким чином в продуктах NVIDIA ми маємо справу з дворівневої організацією HSR і буфера глибини, а в продуктах ATI з трирівневої. Далі, в синтетичних тестах, ми звернемо увагу на вплив цього фактора на продуктивність.

Потім відбувається установка квадов, і їх розподіл по активним піксельним процесорам. А далі і починаються самі суттєві відмінності R420 від NV40:

Алгоритм роботи пиксельного процесора NVIDIA:

Цикл по командам шейдера

  • Вважати мікрокод наступної команди
  • Конфігурувати текстурний модуль і все ALU
  • Цикл по всім квадов в черзі
    • Прогнати квад через процесор, TMU і ALU
  • Кінець циклу по квадов
Кінець циклу по командам шейдера

Алгоритм роботи пиксельного процесора ATI

Цикл по 4 фазам

  • Цикл по всі квадов в черзі
    • Цикл по вибраним структурам в цій фазі (до 8)
      • Вибрати значення текстури
    • Кінець циклу по текстурам
  • Цикл по обчислювальним командам в цій фазі (до 128)
    • виконати команду
  • кінець циклу
  • Кінець циклу по квадов
Кінець циклу по 4 фаз.

Отже, NVIDIA поступово виконує команди (а точніше суперскалярні пачки команд, включаючи команди вибірки текстур), проганяючи через кожну команду все квади знаходяться в обробці. ATI ж розбиває шейдер на чотири фази (ось звідки обмеження на глибину залежних вибірок не більше 4), в кожній з яких спочатку здійснюється вибірка всіх даних текстур необхідних для цієї фази, а потім вже все обчислення над отриманими даними. В тому числі, і обчислення нових координат, для вибірки текстур в наступній фазі.

Який підхід краще? Сказати однозначно не можливо. Підхід ATI гірше пристосований до складних шейдерам з керуванням потоком команд або численними залежними вибірками. З іншого боку обчислення всередині кожної з чотирьох фаз відбуваються за схожою на CPU схемою - виконуються всі команди, команда за командою, для одного квада, потім береться наступний квад і т.д. Таким чином, під час обчислень можна використовувати повноцінний пул з тимчасових регістрів, без будь-якої втрати продуктивності і пенальті ідею створення 4 регістрів, яке ми маємо в NV40. Крім того, підхід ATI вимагає менше довгих по числу стадій конвеєрів. Отже, витрачається менше транзисторів і потенційно досягаються більш високі тактові частоти (або, що одне і теж вищий вихід придатних чіпів на фіксованій частоті). Добре передбачувана продуктивність того чи іншого шейдера, легко написати код (не треба піклуватися рівномірної угрупованню текстурних і обчислювальних команд або витраті тимчасових регістрів).

З недоліків - численні обмеження. Обмеження на число залежних вибірок, обмеження на число команд в одній фазі, необхідність зберігати весь мікрокод шейдера для 4 фаз «під рукою», тобто прямо в піксельному процесорі. Потенційні затримки в разі інтенсивних залежних вибірок текстур наступних один за одним (крадуться наявністю набору одночасно оброблюваних квадов, але їх число не настільки велика як у NVIDIA).

Фактично підхід ATI оптимальний для реалізації шейдеров 2.0, без динамічного контролю виконання і досить обмеженою довгою. Будь-які спроби «прикрутити» до подібної архітектури пиксельного процесора необмежену довжину шейдеров і тим більше необмежену гнучкість в текстурних вибірках зіткнеться з проблемами.

На схемі пиксельного процесора позначена логіка F-буфера - механізму для запису і відновлення параметрів тимчасових змінних шейдера. Це хитрощі дозволяє виконувати шейдери перевищують по довжині або числу залежних (та й звичайних теж) вибірок текстур обмеження пиксельного процесора, але, ціною додаткових проходів, що само по собі не є безкоштовним рішенням і далеко від ідеалу. У міру зростання складності шейдера число проходів і зберігаються тимчасово в відеопам'яті даних буде зростати, а разом з ними буде зростати і штраф в порівнянні з NVIDIA подібними архітектурами, що не обмеженими довгою або складністю шейдера.

Що ж, реальні ігрові програми покажуть, чий підхід більш виправдовує себе. А також вихід придатних і енергоспоживання - не забуваємо, що гнучкість шейдеров NV40 дається ціною в 220 мільйонів транзисторів - це число ризикує потрапити за поріг стабільного виправданого за собівартістю виробництва при технології 0.13, і багато що залежатиме від того, як піде виробництво і боротьба за вихід придатних.

Втім, повернемося до особливостей архітектури піксельних процесорів R420. Формат даних в процесорах при обчисленнях - FP24, але в TMU, при вибірці текстур, операції з текстурними координатами проводяться з більше точністю. У цьому плані, все як і в разі R3XX. На кожен піксель доводиться по два ALU, причому кожне з них може виконати дві різні (!) Операції за схемою 3 + 1 (як і в R3XX, але там ALU було одне). Детальніше про це питання див. DX Current . Чи не підтримується довільне маскування і перестановка компонент після операції, все тільки в рамках шейдеров 2.0 і трохи довших 2.0.b.

Таким чином, в залежності від коду шейдера, може бути виконано від однієї до 4х різних FP24 операцій за такт, над векторами (розмірність до 3) і скалярами і здійснений один доступ до вже (!) Вибраним з текстури в цій фазі даними. Продуктивність такої зв'язки безпосередньо залежить від компілятора і коду, але очевидно, що ми маємо

  • Мінімум: один доступ до вибраних даними текстури за такт
  • Мінімум: дві операції за такт без доступу до текстури
  • Максимум: чотири операції за такт без доступу до текстури
  • Максимум: чотири операції за такт з доступом до текстури

Що в піковому варіанті перевищує можливості NV40. Але, не забуваємо, що реально це рішення менш гнучко (завжди схема 3 + 1) з точки зору поєднання команд в суперскалярні пачки при компіляції. Реальну ефективність покажуть тести. У порівнянні з R3XX обчислювальна ефективність нових конвеєрів зросла вдвічі. Укупі з дворазовим збільшенням їх числа і приростом тактової частоти, ми отримуємо солідний теоретичний доробок у порівнянні з попереднім поколінням.

Всі нові удосконалення, такі як збільшена довжина шейдерів і нові регістри будуть доступні в новій версії шейдеров 2.0.b з виходом нового SDK і нової версії DirectX 9 (9.0c). А тепер - зведена таблиця можливостей:

Версія пиксельного шейдера 2.0 (R3XX) 2.a (NV3X) 2.b (R420?) 3.0 (NV40) Вкладеність вибірок текстур до 4 Без обмежень 4 Без обмежень Вибірок значень текстур до 32 Без обмежень Без обмежень Без обмежень Довжина коду шейдера 32 + 64 512 512 512 і більше виконувати інструкцій шейдера 32 +64 512 512 65535 і більше інтерполятора 2 + 8 2 + 8 2 + 8 10 Предикати ні так ні так Тимчасових регістрів 12 22 32 32 константностей регістрів 32 32 32 224 Довільна перестановка компонент немає да ні та Інструкції градієнта (DDX / DDY) ні так ні так Глибина вкладеності динамічних переходів немає немає немає 24

Відзначимо, що гнучкість і можливості програмування піксельних процесорів NV40 в DX9 поки знаходяться поза конкуренцією.

А тепер повернемося до нашої схеми і звернемо увагу на її нижню частину. Там розташовані блоки, що відповідають за порівняння і модифікацію значень кольору, прозорості, глибини і буфера шаблонів, а також MSAA. На відміну від NV40, що підтримує генерацію до 4х MSAA відліків на основі одного пікселя, R420 генерує до 6. Причому, продуктивність розрахунку Z і буфера шаблонів, як і у NV40 подвоєна щодо базової швидкості зафарбовування - 32 значення в такт. Відповідно, 2х MSAA дається без пенальті за швидкістю, а 4х і 6х займають 2 і 3 такту. Втім, у разі використання піксельних шейдеров довгою хоча б в кілька команд, це пенальті перестає бути помітно і не грає особливої ​​ролі. Більш важлива пропускна здатність пам'яті. Зрозуміло, в MSAA режимах стискаються як дані про колір, так і про глибину, в оптимальному випадку, коефіцієнт стиснення наближається до числа MSAA семплів, тобто в режимі MSAA 6х досягає 6: 1

На Відміну Від NV40, что вікорістовує RGMS (повернення сітку відліків), R420, як и всі чіпі сімейства R3XX, підтрімує псевдостохастіческіе Патерно MSAA, на базовій сітці 8х8. У підсумку, якість згладжування країв и Похил ліній об'єктивно вищє, особливо если врахуваті наявність 6х режиму (8х NVIDIA нельзя порівняті по продуктівності, тому что ВІН є гібрідом - SSAA на основе двох блоків MSAA 4х). У Нових драйвери Доступний тобто Temporal AA - тімчасової АА. Суть його в простому зміні патернів від кадру до кадру - таким чином, якщо картинка сусідніх кадрів буде без проблем (занадто помітного мерехтіння) усереднюють нашим оком (або інтертним ЖК монітором), ми отримаємо деяке поліпшення якості згладжування, немов ми використовували більше звітів MSAA. Продуктивність при цьому не падає, але й ефект може проявлятися по різному, в залежності від монітора і частоти розрахунку кадрів в додатку.

технологічні нововведення

Два основних нововведення R420 в порівнянні з R3XX (збільшення числа тимчасових регістрів і довгі шейдера в піксельному процесорі ми зараховуємо до еволюційного розвитку, а не революційним нововведенням):

  1. Новий алгоритм F-буфера який дозволяє не обчислювати той чи інший прохід розбитого на частини пиксельного шейдера для тих пікселів, які цього не потребують. Здатний помітно оптимізувати продуктивність піксельних шейдеров з умовами і ветвлениями в OpenGL, виконуваних в кілька проходів за допомогою F-буфера.
  2. Новий метод компресії текстур 3Dc спеціально призначений для стиснення двокомпонентних карт нормалей. Традиційні методи компресії текстур розраховані на звичайні текстури - стиснення з втратами враховує особливості нашого зору в сприйнятті зображень. Однак вони не підходять для стиснення карт нормалей - по суті, таблиць векторів. Що добре для картинки з квітами в RGB форматі погано для векторів і навпаки. Тому, давно назріла необхідність в спеціальному алгоритмі стиснення карт нормалей, зрозуміло, підтриманому апаратно в TMU графічних прискорювачів. 3Dc і займе це місце. Втім, з точки зору розробників, погано, що поки він не підтримується NVIDIA.

плати

Очевидно, що дизайн R420 дуже схожий на свого попередника - R360. Тільки через те, що використовується GDDR3 пам'ять, дещо змінена розводка. Судячи з усього, по контактам R420 повністю сумісний з R360. Звернемо також увагу на те, що роз'єм для зовнішнього живлення і раніше один, та й карти «їдять» сильно менше, ніж NV40. Відзначимо, що у нас поки лише досвідчені зразки, тому ми не знаємо, такими ж однаковими підуть в серію X800 XT і PRO, або все ж фінальні карти будуть чимось відрізнятися.

А що ж з системою охолодження зробили? Як її змінили?

ATI RADEON X800 XT / PRO

А її просто обрізали по краях!

Перед нами все той же мідний кулер з винесеним вліво вентилятором, який обертається на високих оборотах тільки при експлуатації карти в тісному корпусі без продувки. Так, GDDR3 пам'ять не вимагає примусового охолодження, тому кулер спрощений.

Отже, ми побачили, що за зовнішнім виглядом X800 практично не відрізняється від попередника, успадкувавши і всі позитивні риси, як то менша вимогливість до потужності, однослотова система охладенія.

Також цікаво зауважити, що сімейство Х800 відразу ж оснащено підтримкою VIVO за допомогою старого доброго RAGE THEATER, коли як на 9800ХТ ми могли бачити розпаювання під новий Theater 200, але карт з ним так нам і не зустрілося. Тільки лише ASUS робив 9800ХТ з VIVO.

Давайте подивимося тепер на сам чіп. Спочатку порівняємо розміри кристалів у R360, R420 і NV40:

Прекрасно видно, що розміри кристала у R420 виросли в порівнянні з R360, незважаючи на більш тонкий техпроцес. Все ж 180 млн. Транзисторів проти 115 млн. - грають велику роль. І все ж, найбільший за площею кристал - це NV40 з його 222 млн. Транзисторами.

Далі сам чіп разом з корпусом:

Виготовлені кристали приблизно в кінці березня-початку квітня, тобто зовсім «свіжі» :-). Зауважимо, що ніяких видимих ​​відмінностей, як і за маркуванням так і по розташуванню резисторів на підошві між чіпами не видно. Тому знову напрошується думка, що урізання з конвеєрів зроблено програмним шляхом через драйвера. Ми це будемо ще перевіряти. Але якщо це виявиться вірним, то слова провідного співробітника ATI, сказані ним в інтерв'ю в офісі ATI про те, що більше програмних урезок не буде, як-то дивно поєднуються з практикою.

Тепер по розгону. Завдяки оперативності автора RivaTuner Олексія Ніколайчука, ця утиліта вже вміє визначати частоти у R420. І ось що ми бачимо у X800 XT:

На жаль, карта практично не розганяється, зміна частот навіть на малі інтервали призводить до їх скидання драйвером.

А ось частоти X800 PRO:

Розгін тут можливий, і склав 540 МГц по чіпу і 580 (1180) МГц по пам'яті. Заради перевірки роботи карти на частоті X800 XT ми зафіксували частоти розгону 525/575 (1150) МГц і протестували X800 PRO на них.

[ Наступна частина (2) ]


Чому у множині?
Чи не змістить його R420 в найпотужнішій своїй іпостасі?
Який підхід краще?
R420?
А що ж з системою охолодження зробили?
Як її змінили?