Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Понятие VLIW-архитектуры




Говоря об архитектуре графических процессоров ATI Radeon HD серии 2000 и выше (вплоть до ATI Radeon HD серии 6000), немаловажно отметить, что в них использовался так называемый VLIW-дизайн (VLIW-архитектура). Собственно, понятия суперскалярности исполнительных блоков процессора и VLIW-архитектуры тесно взаимосвязаны. Действительно, под суперскалярностью исполнительных блоков понимается, что они могут параллельно выполнять несколько инструкций из одного потока. Однако для того, чтобы такое одновременное выполнение инструкций было возможно, необходимо, чтобы они были независимы друг от друга. В центральных процессорах для того, чтобы было возможно параллельное выполнение инструкций, используются специальные блоки внеочередного выполнения команд (out-of-order), которые переупорядочивают инструкции не в порядке их поступления для того, чтобы выделить из них те инструкции, которые можно выполнять параллельно, тем самым максимально загрузив исполнительные блоки процессора. Однако такое переупорядочивание инструкций «на лету» — довольно сложная техническая задача, а блоки предсказания и внеочередного выполнения команд занимают значительную часть кристалла процессора. В графических процессорах ATI Radeon HD серии 2000 стали использовать несколько иной подход, когда переупорядочение инструкций для их параллельного исполнения происходит на этапе компиляции кода. То есть на этапе компиляции выделяются независимые инструкции, которые можно выполнять параллельно, и из этих независимых инструкций формируются длинные составные конструкции, называемые VLIW-инструкциями (Very Long Instruction Word).

Отметим, что VLIW-архитектура процессора известна уже довольно давно. Она использовалась в различных центральных процессорах, в частности в несколько модифицированном виде — в процессорах Itanium.

В графических процессорах ATI Radeon HD серии 2000 каждый SPU, как уже отмечалось, наделен пятью ALU. Cоответственно в одной VLIW-инструкции может быть упаковано до пяти скалярных операций, что соответствовует пяти ALU внутри одного SPU. Именно поэтому данная архитектура получила название VLIW5.

В процессорах Radeon HD серии 6000 (кодовое наименование Cayman) также применяется VLIW-архитектура, но SPU этих процессоров содержат всего четыре исполнительных блока.

Дело в том, что внутренние исследования компании AMD показали, что в современных играх при использовании VLIW-архитектуры эффективно применяются в среднем только 3,4 исполнительных блока в SPU, то есть в среднем в одну VLIW-инструкцию удается запаковать 3,4 инструкции. А потому в процессоре Cayman количество исполнительных блоков было снижено до четырех. Соответственно в одной VLIW-инструкции может быть упаковано вплоть до четырех скалярных операций, а сама архитектура процессора стала называться VLIW4.

Для того чтобы продемонстрировать VLIW-архитектуру графического процессора, рассмотрим в качестве примера поток инструкций, переупорядоченных компилятором таким образом, чтобы все независимые инструкции были сгруппированы вместе. Предположим также, что этот поток инструкций исполняется на одном SPU с пятью ALU (рис. 1). Будем отмечать одним цветом независимые друг от друга инструкции. Последовательность таких независимых инструкций может быть упакована в одну VLIW-инструкцию, которая будет выполняться одновременно на всех исполнительных блоках SPU. В нашем примере максимальное количество независимых инструкций равно пяти, но могут быть и две независимые инструкции, и даже одна. Понятно, что в случае, когда последовательность независимых инструкций менее пяти, эффективность использования исполнительных блоков SPU снижается и для выполнения всей последовательности инструкций требуется больше тактов.

???Рис. 1. Демонстрация VLIW-технологии

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

Если речь идет о рендеринге 3D-графики, то эта задача отлично распараллеливается и VLIW-архитектура графического процессора вполне себя оправдывает. Собственно, преимущество VLIW-архитектуры процессора демонстрируют видеокарты ATI, начиная с Radeon HD серии 2000 и заканчивая Radeon HD серии 6000.




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


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


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



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




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