Семейства видеокарт AMD(ATI) RADEON

Справочная информация о семействе видеокарт RADEON R[V]4XX Справочная информация о семействе видеокарт RADEON R[V]5XX Справочная информация о семействе видеокарт RADEON R[V]6XX Справочная информация о семействе видеокарт RADEON R[V]7XX Справочная информация о семействе видеокарт RADEON R[V]8XX Спецификации чипов семейства R[V]4XX и некоторых из RV3XX Спецификации референсных карт на базе чипов семейств R[V]4XX и RV3XX Подробности: R420, серия RADEON X800 Спецификации R420 Общая схема чипа R420 Пытливый читатель сразу отметит, что схема практически совпадает с NV40 . Ничего удивительного — обе фирмы стараются создать оптимальное решение и уже несколько поколений исповедуют проверенную и эффективную организацию общей структуры графического конвейера.

Существенные отличия кроются внутри блоков и в первую очередь — в пиксельных и вершинных процессорах.

Как и у NV40, в наличии шесть вершинных процессоров и четыре независимых пиксельных процессора, каждый из которых работает с одним квадом (фрагментом 2х2 пикселя). Скорее всего, в отличие от NV40, присутствует только один уровень кэширования данных текстур.

В наличии четыре независимых процессора квадов, каждый из которых может быть отключен — таким образом, в зависимости от потребностей рынка и наличия бракованных чипов можно отключать один, два или даже три процессора, производя, таким образом карты, обрабатывающие 4, 8, 12 или 16 пикселей за такт. А теперь, по традиции увеличим степень детализации в самых интересных местах: Вершинные процессоры и выборка данных Приведем блок схему вершинного процессора R420: Сам процессор на схеме обозначен желтым прямоугольником, остальные окружающие его блоки показаны для более полной картины.

Заявлено, что R420 содержит 6 независимых процессоров (мысленно скопируем желтый блок шесть раз). Вершинные блоки не соответствуют ни полной спецификации vs 3.0 (отсутствует возможность доступа к текстурам и динамические ветвления) ни расширенной спецификации 2.0 в понимании NVIDIA (т. н. версии 2.0.а, которая предполагает поддержку предикатов и динамических переходов). Что касается арифметической производительности, то за один такт вершинный процессор R420 может выполнить одну векторную операцию (до 4-х компонент FP32) и одну скалярную FP32 операцию одновременно, так же как и вершинный процессор NV40.

Напомним, как выглядит сводная табличка параметров вершинных процессоров современных ускорителей с точки зрения вершинных шейдеров DirectX 9 API: Еще один интересный аспект, который исследуется в практических статьях — производительность эмуляции FFP (T&L). Напомним, что R3XX во многом проигрывал чипам NVIDIA из-за отсутствия специальных аппаратных блоков расчета освещения, ускорявших эмуляцию T&L вот уже в трех поколениях чипов NVIDIA.

Рассмотрим пиксельную архитектуру 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: Цикл по командам шейдераКонец цикла по командам шейдера Цикл по 4 фазамКонец цикла по 4 фазам. Итак, NVIDIA постепенно исполняет команды (а точнее суперскалярные пачки команд, включая команды выборки текстур), прогоняя через каждую команду все квады находящиеся в обработке.

ATI же разбивает шейдер на четыре фазы (вот откуда ограничение на глубину зависимых выборок не более 4), в каждой из которых сначала осуществляется выборка всех данных текстур необходимых для этой фазы, а затем уже все вычисления над полученными данными.

В том числе, и вычисление новых координат, для выборки текстур в следующей фазе. Какой подход лучше?

Сказать однозначно нельзя. Подход ATI хуже приспособлен к сложным шейдерам с управлением потоком команд или многочисленными зависимыми выборками.

С другой стороны, вычисления внутри каждой из четырех фаз происходят по похожей на CPU схеме — выполняются все команды, команда за командой, для одного квада, затем берется следующий квад и т. д. Таким образом, во время вычислений можно использовать полноценный пул из временных регистров, без какой либо потери производительности и пенальти за использование более 4 регистров, которое мы имеем в NV40. Кроме того, подход ATI требует менее длинных по числу стадий конвейеров.

Следовательно, расходуется меньше транзисторов и потенциально достигаются более высокие тактовые частоты (или, что одно и то же, более высокий выход годных чипов на фиксированной частоте). Хорошо предсказуема производительность того или иного шейдера, легче писать их код, когда не надо заботиться о равномерной группировке текстурных и вычислительных команд или расходе временных регистров.

Из недостатков — многочисленные ограничения.

Ограничение на число зависимых выборок, ограничение на число команд в одной фазе, необходимость хранить весь микрокод шейдера для четырех фаз «под рукой», т. е. прямо в пиксельном процессоре.

Существует возможность задержек в случае интенсивных зависимых выборок текстур, следующих друг за другом (это сглаживается наличием набора одновременно обрабатываемых квадов, но их число не столь велико, как у NVIDIA). Фактически, подход ATI оптимален для реализации шейдеров 2.0, без динамического контроля исполнения и с серьезно ограниченной длиной кода.

Любые попытки «прикрутить» к подобной архитектуре пиксельного процессора неограниченную длину шейдеров и тем более неограниченную гибкость в текстурных выборках неизбежно вызовут множество проблем.

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

По мере роста сложности шейдера число проходов и сохраняемых временно в видеопамяти данных будет возрастать, а вместе с ними будет возрастать и штраф по сравнению с архитектурами, подобными тем, что мы видим у NVIDIA, которые не ограничены длиной или сложностью шейдера. Впрочем, вернемся к особенностям архитектуры пиксельных процессоров R420.

Формат данных в процессорах при вычислениях — FP24, но операции с текстурными координатами при выборке текстур в TMU проводятся с большей точностью. Тут все как и в R3XX, на каждый пиксель приходится по два ALU, причем каждый из них может выполнить две различные операции по схеме 3+1 (как и в R3XX, но там ALU был один).

Подробнее об этом написано в статье DX Current.

Не поддерживается произвольное маскирование и перестановка компонент после операции, все только в рамках шейдеров 2.0 и чуть более длинных 2.0.b. Таким образом, в зависимости от кода шейдера может быть выполнено от одной до четырех различных FP24 операций за такт, над векторами (размерность до 3) и скалярами и осуществлен один доступ к уже выбранным из текстуры в данной фазе данным.

Производительность такой связки напрямую зависит от компилятора и кода, но очевидно, что мы имеем Что в пиковом варианте превышает возможности NV40. Но не забываем, что реально это решение менее гибко (постоянная схема 3+1) с точки зрения совмещения команд в суперскалярные пачки при компиляции.

По сравнению с R3XX вычислительная эффективность новых конвейеров выросла вдвое и вместе с двукратным увеличением их числа и приростом тактовой частоты мы получаем солидное превосходство по сравнению с предыдущим поколением. Все новые усовершенствования, такие как увеличенная длина шейдеров и новые регистры, доступны в новой версии шейдеров 2.0.b. Рассмотрим сводную таблицу возможностей разных версий: Вернемся к схеме пиксельных процессоров и обратим внимание на ее нижнюю часть.

Там расположены блоки, отвечающие за сравнение и модификацию значений цвета, прозрачности, глубины и буфера шаблонов, а также 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. В итоге, качество сглаживания краев и наклонных линий при максимальных уровнях объективно выше.

В новых драйверах доступен т. е. Temporal AA — временной АА. Суть его в простом изменении паттернов от кадра к кадру.

Таким образом, если картинка соседних кадров будет без заметного мерцания усредняться нашим глазом или инертным ЖК монитором, то мы получим некоторое улучшение качества сглаживания, словно мы использовали больше отчетов MSAA. Производительность при этом не падает, но и эффект может проявляться по разному, в зависимости от монитора и частоты смены кадров в приложении.

Два основных новшества R4XX по сравнению с R3XX, помимо увеличения числа временных регистров и длины шейдера в пиксельном процессоре, которые мы причисляем к эволюционному развитию: Подробности: RV410, серия RADEON X700 Спецификации RV410 Спецификации референсной карты RADEON X700XT Как видно, особые архитектурные отличия от R420 отсутствуют, что не удивительно — RV410 является масштабированным (путем уменьшения числа пиксельных процессоров и каналов контроллера памяти) решением, основанным на архитектуре R420. Ситуация такая же, как и у пары NV40/NV43, в этом поколении принципы построения архитектуры обоих конкурентов весьма схожи.

Что же касается отличий RV410 и R420 — то они количественные (на схеме выделены жирным), а не качественные, с точки зрения архитектуры чип практически не изменился.

Итак, в наличии шесть (как и у R420, что может быть полезно для некоторых приложений, упирающихся в геометрическую производительность) вершинных процессоров, и два (у R420 их четыре) независимых пиксельных процессора, каждый из которых работает с одним квадом (фрагментом 2х2 пикселя). Как и в случае с NV43, PCI-Express является «родным» (реализованным на чипе) шинным интерфейсом, а AGP 8х платы содержат дополнительный мост PCI-E -> AGP (показан на схеме).

Архитектура вершинных и пиксельных процессоров, а также видеопроцессора осталась прежней — эти элементы детально описаны в обзоре RADEON X800 XT. А теперь поговорим о потенциальных тактических соображениях о том, что и почему было урезано.

Вершинные и пиксельные процессоры RV410, судя по всему, остались неизменными, а вот внутренние кэши могли быть уменьшены, как минимум пропорционально числу конвейеров.

Впрочем, число транзисторов не дает особых поводов для беспокойства — учитывая не столь большие размеры кэшей было бы разумнее оставить (так же как и в случае NV43, скомпенсировав тем самым заметную нехватку пропускной полосы памяти).

Все технологии экономии ПСП были полностью сохранены — сжатие буфера глубины и буфера кадров, ранее отсечение с иерархическим буфером глубины и т. д. Интересно, что в отличие от NV43, который может делать блендинг, записывая не более четырех результирующих пикселей за такт, пиксельные конвейеры RV410 полностью соответствуют R420 в этом плане.

Соответственно, в случае простых шейдеров с одной текстурой RV410 должен получить почти двукратное преимущество в скорости закраски.

В отличие от NVIDIA, имеющей крупный по транзисторам массив ALU, осуществляющих постобработку, проверку, генерацию Z и блендинг пикселей в плавающем формате, RV410 имеет более скромные комбинаторы и поэтому их число не было так урезано.

Впрочем, в большинстве практических случаев уменьшенная полоса памяти все равно не позволит записать 3.8 полных гигапикселя в секунду. Не менее интересно решение оставить все шесть активных вершинных блоков.

С одной стороны это сильный аргумент для DCC приложений, а с другой — мы знаем что там многое зависит от драйверов для OpenGL, традиционно сильной стороны NVIDIA.

Справочная информация о семействе видеокарт RADEON R[V]4XX Справочная информация о семействе видеокарт RADEON R[V]5XX Справочная информация о семействе видеокарт RADEON R[V]6XX Справочная информация о семействе видеокарт RADEON R[V]7XX Справочная информация о семействе видеокарт RADEON R[V]8XX

Комментарии запрещены.

Поиск