Radeon HD 3870 особенности архитектуры
Вряд ли для кого-нибудь сегодня является секретом тот факт, что первое поколение массовых графических процессоров, обладающих поддержкой DirectX 10, а также видеоадаптеров на их основе получилось крайне неудачным – в первую очередь, с точки зрения производительности. Несмотря на инновационную архитектуру, ATI Radeon HD 2600 и Nvidia GeForce 8600 показали себя в играх далеко не лучшим образом, нередко уступая решениям предыдущего поколения, пусть не столь совершенным, но не имеющим очевидных узких мест в виде малого количества исполнительных устройств, а также недостаточной оптимизации драйверов. Не менее важным сдерживающим фактором было использование обеими грандами графического рынка 128-битной шины памяти, явно неспособной насытить данными GPU в условиях современных игр, особенно при использовании FSAA и высоких разрешений.
Казалось, AMD, теперешнему владельцу всех активов ATI Technologies, следовало бы поторопиться с "оружием возмездия", особенно, в свете все более шаткого положения компании в секторе потребительской трехмерной графики. Под руководством AMD доходы ATI во втором квартале календарного 2006 года этого года упали на 40 % по сравнению со вторым кварталом 2006 года, доля же рынка ATI Radeon упала до 19,1 % с 27,6 % в момент анонса о слиянии ATI и AMD. Очевидно, что AMD срочно нуждалась в мерах, способных исправить ситуацию и вернуться на верный курс. Быстрый анонс нового GPU RV670 и наладка массовых поставок решений на его основе как раз могли бы стать такими мерами, тем более, что процессор был успешно протестирован еще в августе прощлого года, однако, Advanced Micro Devices решила осуществить запуск новой линейки ATI Radeon HD в рамках анонса новой игровой платформы под кодовым названием "Spider". В свою очередь, её запуск неоднократно откладывался из-за проблем с достижением нужных тактовых частот процессорами AMD Phenom. В результате, анонс платформы был отложен на 19 ноября, и даже к этому времени новые процессоры AMD смогли достичь лишь отметки 2.30 ГГц, а графическое подразделение продолжало нести потери. Однако вернемся к RV670, который, пусть и с задержкой, но всё же, наконец, увидел свет.
Ранее ATI Technologies неоднократно и справедливо критиковалась за путаницу в наименованиях её продуктов. Не изменила она своим повадкам и теперь, будучи подразделением Advanced Micro Devices. Ожидалось, что видеоадаптеры на базе RV670 получат наименование Radeon HD 2950, что было бы вполне логично с точки зрения здравого смысла – новый чип нельзя было назвать революционным; он являлся закономерным эволюционным развитием R600. Вместо этого, система наименований была полностью изменена, и новое семейство получило название Radeon HD 3800, словно в его основу был положен GPU нового поколения. Наличие поддержки DirectX 10.1 не являелось основанием для присвоения новинкам статуса "решений следующего поколения", однако, что сделано, то сделано, и новые графические карты AMD ATI Radeon маркируются следующим образом:
ATI Radeon HD 3850
ATI Radeon HD 3870
ATI Radeon HD 3800: архитектура
AMD пошла дальше в освоении более тонких техпроцессов, нежели Nvidia – её чип стал первым в мире графическим процессором, использующим 55-нм нормы производства, что позволило уверенно перешагнуть отметку 700 МГц, по крайней мере, в старшей модели Radeon HD 3800. Одновременно удалось несколько уменьшить сложность чипа, по всей видимости, за счет оптимизации внутренней архитектуры чипа и упрощения топологии кольцевого контроллера памяти, так как по количеству функциональных блоков RV670 соответствует R600. Это первый за долгое время случай, когда новый GPU ATI отстает по количеству транзисторов от аналогичного классом графического процессора Nvidia. С этой точки зрения ATI вновь удалось выйти в технологические лидеры, но как выглядят новинки в сравнении с GeForce 8800 GT?
В первую очередь, ATI Radeon HD 3800 превосходит Nvidia GeForce 8800 GT в частоте ядра, что, однако, компенсируется меньшим количеством функциональных блоков, например, TMU. Значительное преимущество в количестве исполнительных блоков, как мы уже знаем, не является по сути таковым, и дело не только и не столько в том, что ALU в чипах Nvidia работают на более высокой частоте: архитектура VLIW, реализованная в Radeon HD, требует особенно тщательной оптимизации драйверов для обеспечения эффективного распараллеливания шейдерного кода. В противном случае, если не удается добиться загрузки всех ALU независимыми инструкциями, эффективность работы суперскалярных шейдерных процессоров Radeon HD резко падает; в худшем случае может задействоваться лишь 1 ALU из каждых 5, входящих в состав каждого из 64 таких процессоров. По иронии судьбы именно AMD/ATI Technologies испытывает наибольшие затруднения с программной оптимизацией, так как не имеет доступа к коду игр, разрабатывающихся в рамках программы Nvidia "The Way It's Meant To Be Played" до их официального релиза. Зачастую такое положение дел напрямую отражается на производительности графических решений AMD/ATI в играх, и, разумеется, не в лучшую сторону.
Если ориентироваться исключительно на блок-схему RV670, то отличий от R600 на ней обнаружить не удастся. Они лежат на более глубоком уровне, поэтому о них следует поговорить подробнее. Из заметных отличий между RV670 и R600 можно назвать поддержку DirectX 10.1 (Shader Model 4.1) и наличие полноценного аппаратного видеопроцессора UVD, аналогичного тому, который входит в состав ATI Radeon HD 2600.
Как и R600, каждый шейдерный процессор RV670 состоит из шести блоков – пяти ALU и одного блока исполнения инструкций управления потоком, таких, как ветвления, проверка соответствия, циклы и вызов подпрограмм. Кроме того, он содержит и набор регистров общего назначения
Из пяти ALU четыре являются простыми, способными выполнять по одной инструкции FP MAD за такт, а пятый ALU, помимо этого, может исполнять и сложные инструкции типа SIN, COS, LOG, EXP и т.д. Такая архитектура чрезвычайно гибка и прекрасно масштабируется, однако её слабым местом является зависимость от программных оптимизаций. Хотя в состав графических ядер ATI Radeon HD входит специальный диспетчер распределения задач, эффективность его работы напрямую зависит от эффективности работы компилятора шейдерного кода, являющегося частью драйверов. Дело в том, что суперскалярная архитектура достигает наибольшей эффективности тогда, когда все ALU заняты выполнением независимых операций, а добиться этого достаточно сложно, так как в 3D-приложениях многие операции зависят от результатов выполнения предыдущих.
Архитектурно текстурные и растровые процессоры ATI Radeon HD 3800 также не отличаются от аналогичных блоков ATI Radeon HD 2900. Они представляют собой комплексные устройства, поэтому об их эквивалентности традиционным TMU и ROP можно говорить лишь приблизительно. Всего в составе RV670 имеется четыре больших текстурных процессора, каждый из них внутри содержит следующие блоки:
8 блоков адресации текстур
20 блоков выборки текстур
4 блока фильтрации текстур
Каждый из растровых процессоров RV670 содержит в своем составе:
4 блока работы с альфа-каналом и туманом
8 блоков работы с Z- и стенсил-буферами
4 блока блендинга
16 блоков обработки мультисэмплинга
Таким образом, он примерно эквивалентен 4 классическим ROP и может обрабатывать четыре пикселя за такт, суммарно 16, так как всего таких процессоров четыре. В случае работы с Z-буфером, т.е., пикселями, не содержащими данных о цвете, производительность удваивается и составляет 32 пикселя за такт. Как и текстурные модули, растровые процессоры RV670 претерпели некоторые довольно серьёзные изменения, наделившие их поддержкой возможностей DirectX 10.1.
Контроллер памяти RV670 был усовершенствован и пропускная способность памяти используется новым чипом значительно эффективнее, что позволяет ему на равных конкурировать с R600. Однако на практике мы можем видеть лишь уменьшение разрядности внешней шины памяти с 512 до 256 бит, а также уменьшение общей разрядности внутренних кольцевых шин контроллера с 1024 до 512 бит. Более тонкие изменения, если таковые и имели место, от нас, к сожалению, скрыты, и мы не можем сказать, является ли заявленная сопоставимая производительность RV670 и R600 их результатом, или же следствием неэффективного использования возможностей подсистемы памяти последнего. Мы склоняемся ко второму варианту, так как в реальных игровых условиях наличие 512-битной внешней шины памяти с пропускной способностью свыше 100 ГБ/сек., зачастую не давал ATI Radeon HD 2900 XT никаких преимуществ.
Также ATI RV670 является первым в мире настольным графическим процессором, обладающим такими же продвинутыми средствами управления энергопотреблением, как и графические ядра ATI, предназначенные для мобильных применений. Благодаря технологии ATI PowerPlay, новый чип умеет гибко управлять своими частотами, напряжением питания и даже отключать неиспользуемые блоки при небольшой нагрузке на ядро. В отличие от остальных настольных GPU, поддержка функций энергосебережения в RV670 реализована на аппаратном уровне, что обеспечивает более быструю реакцию на изменение нагрузки и исключает ошибки определения работы графического процессора.
В истории ATI Technologies уже бывали случаи, когда компания поддерживала стандарт, не получивший до этого широкого распространения. Так, ATI Radeon 8500 поддержал спецификации Pixel Shader 1.4, являвшихся частью DirectX 8.1. Эти спецификации были значительно более гибкими, нежели PS1.0/1.1/1.3, поддерживаемые чипами Nvidia, и позволяли добиться более качественных спецэффектов, но именно по причине ограниченной поддержки они так и не получили широкого распространения среди разработчиков игр во время жизненного цикла ATI Radeon 8000. Аналогичная судьба постигла поддержку Shader Model 2.0b, реализованную в семействе ATI Radeon X700/X800/X850, равно как и Shader Model 2.0a, продвигаемую Nvidia в семействе GeForce FX. DirectX 9 Shader Model 3.0 стала получать сколько-то существенное распространение только после появления игр-портов с игровых приставок Microsoft Xbox 360 и Sony PlayStation 3, что было явно вне рамок жизненного цикла GeForce 6 и ранних GeForce 7.
DirectX 10.1, стал первым и последним подмножеством DirectX 10. Официально он вошёл в состав Windows Vista с выходом Service Pack 1
Основные нововведения в DirectX 10.1:
Поддержка массивов кубических карт: позволяет добиться приемлемой скорости при использовании глобального освещения сцены за счет обращения к нескольким кубическим картам за 1 проход рендеринга. Данный метод глобального освещения включает в себя расчет непрямого рассеянного освещения, преломлений, мягких теней и более точный расчет отражений.
Улучшенные техники отложенного рендеринга и FSAA: поддержка независимых режимов блендинга для каждого MRT, обязательная поддержка MSAA 4x, поддержка записи масок покрытия пикселя из шейдера, pattern sample selection, выборка из буфера мультисэмплинга, поддержка фильтров определения пикселей, требующих сглаживания.
Увеличено число регистров вершинных шейдеров: новые спецификации обеспечивают 32 регистра вместо 16 в спецификациях DirectX 10.
Поддержка Gather4: аналогична функции Fetch4 в ATI Radeon X1000, позволяет осуществлять выборку блока из 4 пикселей (2х2) для однокомпонентной текстуры. Служит для ускорения работы с теневыми картами и улучшения качества теней.
Улучшены техники блендинга и фильтрации: поддержка инструкции LOD, возвращающей уровень детализации для отфильтрованной текстурной выборки, введена поддержка INT16 для блендинга и FP32 для фильтрации (INT8 и FP16 в DirectX 10)
Графический процессор RV670 впечатляет размерами ядра – притом, что оно состоит из 666 миллионов транзисторов, его площадь составляет всего лишь 192 квадратных миллиметра (13.7х14 мм.). Это наглядно показывает, на что способен новый 55-нм техпроцесс. Кроме логотипа ATI и даты изготовления, ядро не несет на себе осмысленной для конечного пользователя информации. Наш экземпляр был изготовлен на 39 неделе 2007 года, пришедшейся на 23-29 сентября. Поскольку для графических процессоров ATI Radeon HD не декларируются разные тактовые частоты для разных частей чипа, несмотря на то разные домены работают на 26 разных частотах, принято указывать лишь "основную" частоту чипа; для Radeon HD 3870 она составляет 775 МГц. Упаковка кристалла лишена защитной рамки, поэтому, при монтаже и демонтаже системы охлаждения следует соблюдать осторожность для избежания скола ядра.
С точки зрения конфигурации блоков отличий от ATI Radeon HD 2900 XT нет: чип содержит 320 ALU, сгруппированных в 64 суперскалярных вычислительных блока по 5 ALU в каждом. При этом 4 ALU в каждом таком блоке способны выполнять простые инструкции типа MAD (Multiply+Add), а пятый, более сложный, может исполнять также и трансцендентные инструкции типа SIN, COS, LOG, EXP и т.д. Дополнительно каждый вычислительный процессор содержит блок управления ветвлением, ответственный за исполнение инструкций управления потоком (сравнения, циклы, вызов подпрограмм и т.д.). Единственным отличием от R600 в данном случае является поддержка расширенных возможностей DirectX 10.1 (Shader Model 4.1)
Характеристики ATI Radeon HD 3870
Наименование | Radeon HD 3870 |
Ядро | RV670 |
Техпроцесс (мкм) | 0.055 |
Транзисторов (млн) | 666 |
Частота работы ядра | 775 |
Частота работы памяти (DDR) | 1125 (2250) |
Шина и тип памяти | GDDR4 256 Bit |
ПСП (Гб/с) | 72 |
Унифицированные шейдерные блоки | 320 |
Частота унифицированных шейдерных блоков | 775 |
TMU на конвейер | 16 (всего) |
ROP | 16 |
Текстур за такт | 16 |
Текстур за проход | 16 |
Shaders Model | 4.1 |
Fill Rate (Mpix/s) | 12400 |
Fill Rate (Mtex/s) | 12400 |
DirectX | 10.1 |
Anti-Aliasing (Max) | MS-24x |
Анизотропная фильтрация (Max) | 16x |
Объем памяти | 512 |
Интерфейс | PCI-E 2.0 |
RAMDAC | 2x400 |
Хотя графические карты ATI Radeon HD 3870 и ATI Radeon HD 3850 и имеют неплохую производительность, позиционирование модели HD 3870 оставило весьма неприятный осадок. Как оказалось, вместо конкуренции продуктов GeForce 8800 GT 512MB и Radeon HD 3870 мы получили нежелание AMD соперничать с Nvidia.ATI по прежнему составляла конкуренцую не в скоростном плане а в ценовом.
Need for Speed Pro Street