Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Архитектура унифицированных шейдерных процессоров




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

Преимущества унифицированной шейдерной архитектуры можно объяснить следующим образом. Предположим, что в воображаемом графическом процессоре с классической архитектурой имеется четыре вершинных и восемь пиксельных процессоров. Если, к примеру, в игре используются преимущественно вершинные шейдеры (трехмерные модели с насыщенной геометрией), то может сложиться ситуация, что будут заняты все четыре вершинных процессора и только один пиксельный процессор, а оставшиеся семь пиксельных процессоров будут бездействовать. В этом случае производительность всего графического процессора будет определяться производительностью и количеством вершинных процессоров. В случае если в игре используются преимущественно пиксельные шейдеры (трехмерные модели с насыщенными пиксельными эффектами), то может возникнуть обратная ситуация, когда будет занят только один вершинный процессор и все семь пиксельных процессоров. Тогда производительность всего графического процессора будет определяться производительностью и количеством пиксельных процессоров.

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

Собственно, именно переход на унифицированные шейдерные процессоры был впервые реализован в процессорах ATI Radeon HD серии 2000. В использовании унифицированных шейдерных процессоров и заключалось революционное изменение архитектуры GPU.

Естественно, для унифицированных процессоров требовались новые программы обработки, то есть шейдеры (Shader Model, SM). Унифицированные процессоры на аппаратном уровне поддерживаются API Microsoft DirectX 10 и выше.

Впрочем, переход к унифицированным шейдерным процессорам в ATI Radeon HD серии 2000 был не единственным нововведением. Важно также, что унифицированные шейдерные процессоры представляли собой суперскалярные процессоры общего назначения для обработки данных с плавающей запятой. Напомним, что традиционно в процессорах задействуются два типа математики: векторная и скалярная. В случае векторной математики данные (операнды) представляются в виде n -мерных векторов, при этом над большим массивом данных производится всего одна операция. Самый простой пример — задание цвета пиксела в виде четырехмерного вектора с координатами R, G, B, A, где первые три координаты (R, G, B) задают цвет пиксела, а последняя — его прозрачность. В качестве примера векторной операции можно рассмотреть операцию сложения цвета двух пикселов. При этом одна операция осуществляется одновременно над восемью операндами (двумя четырехмерными векторами).

В скалярной математике операции осуществляются над парой чисел. Понятно, что при векторной обработке ее скорость и эффективность увеличиваются за счет того, что обработка целого набора (вектора) данных выполняется одной командой.

До появления графического процессора ATI Radeon HD серии 2000 на базе новой архитектуры унифицированных шейдерных процессоров векторная архитектура являлась в какой­то мере традиционной для графических процессоров, то есть в графических процессорах предыдущего поколения применялась векторная архитектура исполнительных блоков.

В графических процессорах ATI Radeon HD серии 2000 отказались от традиционной векторной архитектуры исполнительных блоков и перешли к суперскалярной архитектуре. Так, в GPU ATI Radeon HD серии 2000 используются суперскалярные потоковые процессоры (Stream Processing Untits, SPU). В частности, в процессоре ATI Radeon HD 2900 применяются 64 SPU, которые сгруппированы в четыре блока (называемые SIMD Engine или SIMD Core) по 16 штук. Каждый SPU способен одновременно выполнять пять скалярных инструкций и состоит из пяти унифицированных суперскалярных шейдерных процессоров и одного модуля ветвлений (Branch Execution Unit). Таким образом, всего в GPU ATI Radeon HD 2900 используется 320 скалярных унифицированных шейдерных процессоров. Отметим, что блок SIMD Engine, состоящий из 16 SPU, представляет собой своеобразный мини-процессор внутри графического процессора. Таким образом, в GPU ATI Radeon HD 2900 насчитывается четыре мини-процессора SIMD Engine.

Отметим, что в процессоре ATI Radeon HD 2900 исполнительные блоки могут одновременно работать с пятью полями данных, однако сами блоки не идентичны. Дело в том, что сложные инструкции (SIN, COS, LOG) могут выполняться только одним блоком, а остальные четыре блока производят только самые простые инструкции умножения или сложения (Multiply-Add, MAD). В идеальном случае каждый из 64 SPU в процессоре ATI Radeon HD 2900 может выполнять пять MAD-операций над скалярами. В результате получается, что в процессоре ATI Radeon HD 2900 одновременно может быть реализовано 320 операций MAD.




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 1121; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.