Архитектура ГПУ от AMD (ATI)
Архитектура ГПУ семейства HD Radeon 2K - 4K.
Каждый потоковый процессор AMD имеет архитектуру с длинным командным словом. Один ПП содержит 6 функциональных устройств (ФУ), из которых одно отвечает за команды перехода, четыре - за обычные арифметические команды, и еще одно - за вычисление элементарных функций (log, sin и т.д.). Арифметические ФУ способны каждое выполнять до 2 команд за такт, а ФУ, вычисляющее элементарные функции - одну. Таким образом, один такой ПП способен выполнять до 8 команд за такт. Число ПП может достигать 64, а пиковая производительность одного ГПУ - 500 ГФлоп/с.
При рассмотрении данной архитектуры можно в первом приближении ограничиться только командами, задающими одну и ту же операцию для четырех арифметических ФУ. Это тем более логично, поскольку обмен данными с памятью идет в терминах 128-битовых единиц, что равно четырем 32-разрядным словам. С этой точки зрения ПП AMD похож на один SPE процессора CELL или ядро x86-процессора с расширениями SSE2.
Доступ к памяти на чтение возможен через один из 32 сегментных регистров, каждый из которых адресует двумерный участок памяти до 8192*8192 элементов (один элемент = 128 бит). ГПУ AMD предоставляют два режима записи. В режиме регулярной записи шейдер может записать по одному элементу в каждый из выходных буферов, при этом индекс элемента в буфере жестко задан. В режиме произвольной записи доступен только один буфер, зато запись может производиться по произвольному адресу. Средства синхронизации отсутствуют.
ГПУ серии HD 3K также поддерживают вещественные операции с двойной точностью. Одна такая операция выполняется за 1 такт и занимает при этом все ресурсы одного ПП. Пиковая производительность на операциях с двойной точностью достигает 100 ГФлоп/с.
Серия решений ГПУ AMD, ориентированная на высокопроизводительные вычисления, носит название FireStream.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ