Каталог
Напоминание: особенности серии Radeon HD 6800В октябре AMD выпустила первые платы 6000 серии — основанные на чипе Barts Radeon HD 6800. Фактически, их ядро представляло собой обновленную и оптимизированную версию 5800 с некоторыми дополнительными возможностями. Все эти улучшения стали стандартными для «шеститысячных» видеокарт, включая и рассматриваемые 6900. По этой причине, для тех, кто не придал большого значения анонсу Radeon HD 6800, мы кратко перечислим отличительные особенности Barts, используя их как базу для дальнейшего сопоставления 6900 и 5800. Начнем с базовой архитектуры ядра. По сравнению с Cypress, Barts практически ничем не отличается от предшественника за исключением одного момента: аппаратного тесселятора. В Barts AMD внедрила то, что компания называет тесселятором седьмого поколения; он оптимизирован для работы с невысокими коэффициентами тесселяции, которые, по мнению проектировщиков, более востребованы в современных играх. В Cayman сделан еще один шаг в направлении совершенствования геометрических способностей GPU; был разработан блок уже восьмого поколения, преимущество которого заключается в лучшем распределении нагрузки. Второе улучшение касалось движка фильтрации текстур. В свое время, этот элемент 5800 установил новый стандарт качества, привнеся независимую от углов наклона текстур фильтрацию. К сожалению, с первого раза идеальным его сделать не удалось, и на текстурах с повторяющимся/зашумленным рисунком проявлялись артефакты в переходах MIP уровней. В 6800 серии этот недочет был исправлен.
Далее, в 6800 нас ждал новый режим сглаживания, изначально представленный на платах Barts, а затем портированный и на 5800. «Морфологический» антиалиасинг (Morphological Anti-Aliasing, MLAA) представляет собой постпроцессинговый фильтр, работающий с любыми сформированными изображениями. Его алгоритм основан на определении высококонтрастных пограничных переходов и их нейтрализации. Так как данный тип сглаживания реализован посредством вычислительных шейдеров, применяемых к готовой картинке, он работоспособен во всех играх вне зависимости от применяемых техник рендеринга. Вместе с тем, у метода имеются и очевидные недостатки, объясняемые самой природой технологии. Данный фильтр применяется к уже созданному кадру, а потому работает без анализа информации о глубине, полигонах и прочих атрибутах промежуточных этапов построения 3D сцены. В результате, обрабатываются все похожие на алиасинг области, что в случае «ложных срабатываний» приводит к замыливанию картинки. Но, в определенных случаях «дешевая» реализация такого типа сглаживания, не требовательная к пропускной способности и объему памяти, а потому не приводящая к существенному снижению скорости работы, может быть полезна.
Определенные изменения были внесены AMD и во второстепенное аппаратное обеспечение, отвечающее за вывод изображения и декодирование сжатого видео. Так, Universal Video Decoder (UVD) был обновлен до третьей версии, полностью поддерживающей MPEG-2, MPEG-4 ASP и H.264 MVC (специальный формат хранения 3D фильмов). Вряд ли эти дополнения играют существенную роль для 6900 ввиду достаточно низкой сложности MPEG-2/ MPEG-4 ASP, но наличие подобной функциональности важно AMD в целом для их будущих интегрированных APU решений и low-end GPU. Обычно последние устанавливаются в паре с не слишком мощными центральными процессорами, а высвобождение даже части ресурсов может положительным образом сказаться на отзывчивости таких систем. Отметим также, что первая общедоступная версия DivX кодека с поддержкой UVD3 была выпущена именно в день анонса Cayman, так что теперь все пользователи 6800/6900 получили возможность полностью реализовать весь потенциал UVD3. Кроме того, был значительно усовершенствован и тракт вывода сигнала: добавилась поддержка стандарта DisplayPort 1.2, удвоившего пропускную способность относительно первой реализации интерфейса (до 21.6 Гбит/с). Это дало DP существенное превосходство над dual-link DVI, а также способность подключения нескольких мониторов через один разъем с помощью технологии многопоточного транспорта (Multi Stream Transport, MST). Продвижению DP AMD уделяет немало внимания и средств, так как факт наличия широкой шины и отсутствия необходимости в выделенном тактовом генераторе для каждого монитора дает возможность подсоединять вплоть до шести дисплеев к одной плате, используя лишь пару mini-DP на одном брекете. AMD настолько рано реализовала эту функциональность, что серия 6900, как и 6800 ранее, выходит на рынок без возможности практической реализации возможностей интерфейса — совместимых устройств пока просто не представлено. Наконец, в 6800 впервые для AMD появилась и совместимость с HDMI 1.4a, а также возможность цветовой коррекции в линейном пространстве. С HDMI 1.4a все понятно без лишних слов — он дает возможность 6000 серии подключаться к 3D телевизорам для демонстрации соответствующего изображения в режимах 1080p24 или 720p60. В тоже время, поддержка коррекции цвета в линейном пространстве полезна для мониторов с расширенным цветовым охватом. Ранее при работе с подобными устройствами могла наблюдаться потеря точности цветопередачи, но теперь о некорректном выводе sRGB на такие матрицы без правильной цветовой коррекции можно забыть. Хотя перечисленные в этой части статьи особенности впервые появились именно в серии 6800, они являются общими для всего семейства HD 6000, а, значит, в полной мере относятся и к 6900. Так что, частично вы уже знаете, какими деталями Cayman лучше 5800, не считая новшеств архитектуры VLIW4. [N3-Cayman: последняя жертва 32 нм] В статье по GPU Barts и серии 6800 мы уже затрагивали тот факт, что AMD рассчитывала использовать 32 нм производство, которое при росте числа транзисторов позволило бы получить более компактные кристаллы, которые бы стали основой для продуктов компании на 2011 год. Однако TSMC серьезно отстала от графика освоения сначала 40 нм, а затем и 32 нм литографии. Впоследствии компании пришлось и вовсе отказаться от своих планов на 32 нм нормы, так что при создании нового поколения Radeon HD, AMD осталась в заложниках 40 нм рамок. Так и не увидевший свет 32 нм предвестник Barts стал одним из ранних проектов, которые было решено реализовывать с использованием отработанных 40 нм технологий. Дело в том, что еще до того, как руководство TSMC объявило об отказе от 32 нм, стало понятно, что стоимость изготовления одного 32 нм транзистора превышала бы аналогичное значение для 40 нм даже несмотря на меньший физический размер элементов. Для видеокарт среднего класса 32 нм производство оказалось экономически нецелесообразным, так как норма прибыли была бы меньше желаемой AMD. Так что, Barts решено было проектировать по 40 нм стандартам. История Cayman развивалась по несколько иному сценарию. Данный чип изначально планировался как high-end GPU, и разница в себестоимости 32 нм и 40 нм версий не должна была играть значимую роль с учетом немалой наценки на топовые ускорители (это не говоря о профессиональных версиях плат, построенных на базе тех же графических процессоров, что используются и в потребительских картах). Поэтому, когда Barts уже был переведен на 40 нм, Cayman до последнего оставался 32-нанометровым согласно первоначальным планам. С учетом внешних обстоятельств команда разработчиков AMD вынужденно приступила к созданию 40 нм версии GPU, но если бы у AMD был тогда реальный выбор, Cayman без сомнения был бы выпущен на 32 нм оборудовании. В результате, представший сегодня перед нами чип не является в полной мере тем, что в AMD планировали создать на 32 нм. Компания держит в секрете некоторые детали, которые отличают выпущенные 6970 и 6950 от планируемого ГП (ведь должны же оставаться определенные сюрпризы для 28 нм последователей 6900), но некоторые моменты очевидны. Первый из них это, конечно же, физический размер; стратегия AMD по выпуску компактных кристаллов отнюдь не мертва, но отсутствие 32 нм линий привело к непредвиденному отходу от намеченного вектора развития. При площади в 389 кв. мм Cayman является самым большим графическим процессором AMD после R600, и, безусловно, совершенно не соответствует разумной планке в 300 квадратных миллиметров. С другой стороны, в эффективности проектирования AMD не откажешь, ведь 2.64 миллиарда транзисторов (прирост в 500 миллионов относительно Cypress) — это на 29% больше, чем у предшественника при увеличении размера только на 16%. Но даже с такими неоднозначными показателями в дизайне чипа пришлось пойти на компромисс между функциональностью/числом блоков и себестоимостью производства. Инженерам AMD пришлось не просто выпустить массивный GPU, но еще и отказаться от некоторых задумок, чтобы избежать чрезмерного роста площади, энергопотребления и тепловыделения. Безусловно, основные потери составляют блоки SIMD; у 32 нм Cayman вычислительных кластеров, напрямую влияющих на быстродействие, было бы однозначно больше. Что касается функциональности, здесь представители AMD хранят молчание. Известно, что для 32 нм чипов была запланирована поддержка PCI-Express 3.0, но в итоге был применен контроллер шины версии 2.1 меньшего размера. Впрочем, это не так страшно, так как официальное одобрение стандарта PCIe 3.0 было отложено до ноября, так что реальных материнских плат с такими слотами ждать еще как минимум несколько месяцев. В конечном итоге, получившийся Cayman является в некотором роде компромиссным решением из-за ограничений 40 нм техпроцесса. Компании удалось внедрить обновленную архитектуру VLIW4, но производительностью и неизвестным набором возможностей пришлось пожертвовать, чтобы не выходить за допустимые рамки физических размеров кристалла. Можно посмотреть на этот факт и с иной, позитивной точки зрения — ведь следующее 28 нм поколение чипов должно стать особенно интересным и даже превзойти те спецификации, которые изначально были определены для 2010 года, но так и не были реализованы «в железе». [N4-VLIW4: в поисках баланса между TLP, ILP и остальными компонентами] Чтобы корректно обосновать, почему AMD было принято решение об использовании архитектуры VLIW4, необходимо вернуться к истокам формирования VLIW5. Для этого нам потребуется вспомнить эпоху DirectX 9; с нее и начнем. В те дни, когда программирование с использованием шейдеров только начинало развиваться, а пиксельные и вершинные шейдеры были разделены, в ATI разработали дизайн VLIW5 для обработки вершинных компонентов. Основываясь на статистических данных по различным игровым продуктам, было определено, что оптимальной конфигурацией является такой вершинный блок, который сможет одновременно рассчитывать четыре компоненты точки (например, w, x, y, z) и какую-нибудь скалярную составляющую (например, освещение). Теперь перенесемся в 2007 год к моменту выпуска ATI Radeon HD 2000 (R600) — первой унифицированной архитектурой ATI для персональных компьютеров. В ней вновь было решено использовать VLIW5, так как даже при очевидной направленности на DirectX 10 необходимо было сохранять преемственность, обеспечивая высокую производительность и в DX9 приложениях. Отметим также, что данные события происходили задолго до распространения концепции GPGPU вычислений. Планомерное развитие шло своим чередом, в 2008 появилось новое поколение видеокарт, которые можно считать уже не столь далекими предками сегодняшнего Cayman. Впрочем, кардинально измениться за прошедшее с момента выхода Vista и DX10 время ситуация на рынке не успела. Действительно, у графического подразделения AMD было время на то, чтобы исправить критические недостатки R600 в RV670 и RV770, но GPGPU рынок так и не вырос серьезно к тому моменту, а DX10 не получили широкого распространения. Но уже тогда, задумываясь о будущем, инженеры AMD строили прогнозы на грядущие годы, определяя необходимые темпы внедрения тех или иных технологий. По их расчетам, математические вычисления средствами графических процессоров должны таки были стать востребованными, а DX9 игры — уйти в прошлое на фоне DX10/11 новинок. Пришло время пересмотра служившей верой и правдой VLIW5. Это и подводит нас к анонсу Cayman и сегодняшнему дню. Действительно, GPGPU находится на подъеме, а игры DX10 и DX11 получают все большее распространение вместе с Windows 7, тогда как пик популярности DX9 давно остался в прошлом. По информации из собственной базы данных AMD, средняя величина загрузки имеющихся шейдерных процессоров составляет 3.4 единицы, т.е. пятый потоковый процессор практически не используется в современных играх. Тогда как для вычислений вершинных шейдров DX9 VLIW5 подходила идеально, в сегодняшних реалиях она перестала быть оптимальным решением. Ставка была сделана на «сужение» функциональности SPU и переход к VLIW4. Как вы можете помнить из наших прошлых описаний базовой архитектуры современных видеочипов AMD, она сильно зависит от параллелизма на уровне инструкций (Instruction Level Parallelism, ILP). Это означает оптимальную работу GPU при наличии нити команд с отсутствующими зависимостями, что равносильно возможности их одновременного запуска на исполнение. Логично, что для VLIW5 лучшим сценарием работы могут стать пять подобных инструкций, отданных планировщиком одному SPU на такт, однако такой идеальный случай выпадает довольно редко. Чуть выше мы уже упоминали, что согласно официальным данным AMD, в среднем получается задействовать только 3.4 блока, что ниже желаемого КПД хотя бы в 80%. Реализовывать весь потенциал чипа из-за сложности получения ILP в коде непросто, поэтому разница между лучшей и худшей производительностью GPU может быть весьма велика. Такой подход серьезно отличается от параллелизма на уровне нитей (Thread Level Parallelism, TLP), смысл которого заключается в одновременном исполнении не зависящих друг от друга потоков команд. Именно по этому пути пошла NVIDIA при создании своих высокопроизводительных скалярных процессоров GF100/GF110 Fermi. Всегда было ясно, что подход AMD VLIW5 не является наиболее эффективным и может применяться до поры до времени. До сих пор экстенсивное развитие работающих по этим принципам процессоров давало неплохие результаты, чего стоит хотя бы высокая игровая производительность серии 6800. Но, осознавая слабые стороны своей реализации ILP, в AMD хотели устранить их, одновременно подготовив базу для будущего развития. Причем, цель была не только в оптимизации SPU для соответствия условной игровой нагрузке на 3.4 потоковых процессора, но и в улучшении вычислительных способностей чипов. В результате, решено было серьезно модернизировать существующий каркас, взяв все лучшее от VLIW5, и изменив баланс сил в соответствии с современными требованиями. В такой ситуации совершенно естественным видится «сужение» VLIW5 SPU до VLIW4 SPU. Достигнуто это было путем отказа от сложного t-блока — последнего из пяти входящих в состав SPU потоковых процессоров, умеющего проводить не только стандартные INT/FP операции, но и расчеты трансцендентных функций. В случае с базовой INT/FP функциональностью это означает, что один SPU теперь способен в теории исполнять только 4 операции за такт вместо 5. Что же касается трансцендентной математики, то для ее расчетов теперь должны объединиться 3 SP. Здесь падение скорости «на бумаге» существенно более выраженно, так как вместо 1 трансцендентной операции и 4 INT/FP, как это было раньше, VLIW4 способна обеспечить только 1 трансцендентный и 1 обычный INT/FP расчет за такт. У таких кардинальных изменений есть четкое обоснование. Дело в том, что отказ от пятого модуля в SPU освобождает физическое пространство на кристалле, а, значит, даже если не принимать во внимание частоту использования различных функций, при одной и той же площади может разместиться больше SPU VLIW4, чем VLIW5. У Cypress 20 SIMD кластеров, тогда как у Cayman — 24. При этом в среднем шейдерный блок Cayman обладает на 10% большей эффективностью на квадратный миллиметр, чем Cypress, а ведь размер самих ALU VLIW4 несколько увеличился из-за «перераспределения обязанностей». Далее, сложная взаимосвязанная архитектура чипа ведет и к зависимости числа SIMD и целого набора факторов: количества текстурных модулей, количества нитей, одновременно обслуживаемых GPU, наконец, количество FP64 операций за такт во всем процессоре. Последний пункт вкупе с довольно производительными вычислениями 64-битной точности FMA/MUL на скорости в 1/4 от FP32 особенно важен в свете стремления AMD улучшить вычислительные возможности Radeon (до 384 единиц в случае с полноценным Cayman). Иными словами, хотя по удельным показателям FP64 быстрее не стали, благодаря новой структуре GPU достигается общее ускорение.
Стоит упомянуть и дополнительные бонусы, которые получили SPU в связи с реструктуризацией. Так, хотя число SP уменьшилось, регистровый файл остался нетронутым, так что теперь для прямой работы с данными у процессоров есть больше пространства. Распределение нагрузки для диспетчера также упростилось, так как теперь индивидуальных ядер не только меньше, но они все однотипны, а, значит, нет необходимости учитывать различия между w/x/y/z и t-модулями. С точки зрения чисто игрового применения, достоинства обновленной VLIW4 проявляют себя схожим образом. Как мы уже знаем, подавляющее большинство игр не было способно реализовать весь потенциал SPU VLIW5, так что отказ от пятого SP не должен сильно навредить. Напротив, большее количество SIMD обеспечит увеличение скорости рендеринга, так как эта задача очень хорошо распараллеливается (по крайней мере, на уровне нитей). Кроме того, дополнительные SIMD означают и расширение возможностей Cayman в текстурировании относительно Cypress. Получившееся соотношение вычислительных возможностей и текстурной производительности оказалось смещено в сторону классических функций GPU, так что теперь игры, в которых бутылочным горлышком является именно быстродействие текстурирования/фильтрации, должны чувствовать себя комфортнее. Однако следует понимать, что любые архитектурные изменения не могут быть исключительно положительными. Так, существует определенный класс игр, для которых отказ от VLIW5 в Cayman нежелателен. Конечно, речь идет о тех приложениях, в которых часто используются вершинные шейдеры, VLIW4 справляется однозначно хуже предшественника. Но подобные требования типичны не для современных хитов, а для игр прошлых поколений, да и уровня производительности Cayman в любом случае будет более чем достаточно для таких приложений. Напомним, что при создании VLIW4 стояла цель актуализации имеющейся архитектуры и ее подготовки для будущих задач, так что не будем корить AMD за потенциально худшую работу Radeon HD 6900 в устаревающих играх. Еще одним минусом является необходимость траты двух (или более) тактов при сочетании вычисления трансцендентной функции с несколькими векторными операциями. Но, по словам представителей AMD, такая ситуация возникает довольно редко, и получаемые в ней VLIW5 лучшие результаты несоизмеримы с общими дивидендами, которые дает VLIW4. Интересно и то, что AMD называет VLIW4 рискованным/экспериментальным дизайном; на Cayman компания планировала обкатать свое новое видение архитектуры будущих Radeon HD, оставив при этом VLIW5 во всех прочих видеокартах 6000 семейства. Рискнем предположить, что на самом деле все эксперименты уже давно подошли к концу в лабораториях AMD, и именно VLIW4 определен как дизайн будущего. Скорее всего, компания находится уже в середине процесса создания 28 нм последователя Cayman, и безо всяких сомнений он будет основан на концепции VLIW4. Наконец, изменение идеологии архитектуры VLIW означает и необходимость применения новых методик в написании драйверов командой программистов AMD. Конечно, с пользовательской точки зрения VLIW4 не слишком отличается от VLIW5, но на более низком уровне эти структуры серьезно разнятся. Это одновременно и хорошо, и плохо для производительности. Негативный момент состоит в том, что имеющиеся наработки, созданные с прицелом на максимально эффективное использование VLIW5, больше не могут быть использованы. Так что, на старте возможности Radeon HD 6900 не будут раскрыты полностью. С другой стороны, быстродействие плат, без всяких сомнений, будет улучшаться с новыми релизами драйверов, и в этом заключается хорошая новость. Не должны остаться в стороне и разработчики. Изменения в VLIW следует учитывать в коде игровых движков для лучшего взаимодействия с новыми видеокартами. Шейдерный компилятор AMD обучен оптимизировать существующий код в автоматическом режиме, но, если изначально игра была заточена для VLIW5, без рефакторинга не обойтись. Заметим, что не так много разработчиков пишут разный код для обеих распространенных архитектур ввиду множества причин, включая экономическую целесообразность и т.п., но именно подобный подход позволяет извлечь максимум из возможностей ILP/TLP GPU и добиться лучшей шейдерной производительности. VLIW5:
Первая из причин, по которой VLIW4 является серьезной угрозой для Fermi, является асинхронное распределение задач, понятие, которое хорошо говорит само за себя. Здесь позволим себе напомнить о Fermi вновь, потому как именно с этой архитектурой NVIDIA сделала возможным одновременный запуск множественных параллельных ядер. В свою очередь, AMD воспользовалась удачной идеей конкурента, однако пошла в реализации еще дальше. Ограничение дизайна NVIDIA заключается в том, что хотя Fermi и способен запускать несколько ядер одновременно, все они должны быть приняты на обработку от одной нити команд CPU. Независимые потоки/приложения не могут просто так раздельно передавать ядра и запускать их параллельно, GPU для отработки подобной ситуации требуется переключение контекста. С внедрением асинхронного распределения задач AMD решает эту проблему; Cayman способен запускать независимые нити/приложения параллельно. По крайней мере, теоретически это должно дать AMD существенное преимущество в подобного рода ситуациях, так как смена контекста не является «дешевой» операцией с точки зрения потребления ресурсов. Преимущество это может быть столь значительно, что способно нивелировать имеющееся опережение GeForce. На фундаментальном уровне асинхронное распределение достигается путем «утаивания» GPU определенной информации о своем реальном состоянии от приложения и ядер, что, по сути, представляет собой некий вариант виртуализации ресурсов графического процессора. Каждому ядру представляется, что оно запущено на выделенном GPU, имеет собственную очередь команд и адресное пространство. На самом же деле, вся работа по распределению разноплановой нагрузки ложится на процессор и драйверы. Хотя такая система сложнее в реализации, она дает ощутимый выигрыш в быстродействии по сравнению с применяемым NVIDIA принципом переключения контекстов. Обратная сторона данной технологии заключается в необходимости программной поддержки со стороны API. К сожалению, в текущей реализации единого стандарта DirectCompute 11 она не поддерживается, так что в ближайшее время асинхронное распределение будет доступно в качестве расширения OpenCL. Прочие улучшения, проделанные AMD, направлены на улучшение производительности памяти |
Источник: www.anandtech.com/