Читаем Журнал «Компьютерра» №38 полностью

Инженеры aTI пошли другим, «процессорным» путем,[Подробнее см. «КТ» #609 (рубрика 'Архитектура ХХ века")] не став дублировать конвейеры, а организовав из GPU своеобразный суперскалярный процессор с единым конвейером, на котором несколько пикселов могут обрабатываться одновременно. Вместо того чтобы «распихать» пикселы по разным конвейерам, R520 накапливает их (вместе с соответствующими шейдерными инструкциями) в специальном огромном планировщике, который aTI называет Ultra-Threading Dispatch Processor. Почему Ultra? Да потому, что этот планировщик управляет одновременным выполнением колоссального числа операций (512 квадов 2x2 пиксела в High-End, и более скромные 128 квадов - в менее дорогих Middle-End и Low-End графических чипах). Все квады хранятся в длиннющих очередях, и по мере того, как освобождаются вычислительные ресурсы, отправляются на соответствующее устройство, будь то вычислительный, текстурный блок или блок графического Back-end’а (запись результатов во фрейм-буфер, блендинг, z-тест, антиалиасинг и пр.). Это более сложный подход, чем несколько однотипных конвейров, но и более гибкий и эффективный. Например, мы можем сколь угодно гибко варьировать соотношение количества вычислительных и текстурных модулей, так как они больше не подключаются друг к другу, образуя единое целое, а разделены по операциям, которые они выполняют[Подобную оптимизацию можно будет увидеть в ядре R530 - сердце Middle-End ускорителя Radeon X1600. В нем будет три процессора квадов (3x4 = 12 пиксельных конвейера), но всего один процессор текстур (1x4 = 4 TMU). Для современных шейдеров, которые больше занимаются вычислениями, нежели выборкой данных из оперативной памяти, такой подход оправдан, поскольку позволяет рациональнее расходовать площадь кристалла, увеличив число пиксельных конвейеров за счет сокращения числа TMU]. Речь идет о текстурных операциях, которые ранее могли блокировать конвейер до тех пор, пока не будет завершена операция выборки очередного тексела[Традиционный конвейер GPU устроен гораздо проще конвейера CPU, так что переупорядочивания инструкций, которое позволило бы обогнать застрявшую в конвейере инструкцию другой, не зависящей от нее, - в графических процессорах нет].

Заодно решается и проблема динамических условных переходов в шейдерах. Что это такое? Сейчас объясню: ради все того же упрощения пиксельных конвейеров, которых нужно уместить побольше на ограниченный кусочек кремния, эти конвейеры устраивают таким образом, что они вначале как бы настраиваются на ту или иную конкретную операцию над пикселами (сложение, вычитание, умножение) и затем применяют ее много раз подряд к разным пикселам; после чего перестраиваются на следующую операцию и снова применяют ее много раз к тем же пикселам, и т. д. Поскольку один и тот же шейдер обычно требуется применить к умопомрачительному количеству пикселов, такая схема обычно работает замечательно. Однако если встречается шейдер, в котором есть динамические условные переходы (которые нельзя заранее предсказать), то может оказаться так, что для одной части пикселов, «бегающих по кругу» в конвейере, какую-то операцию применять нужно, а для другой - нет. И это столь серьезная проблема, что графические чипы ATI долгое время не поддерживали динамические переходы (а значит, и Shader Model 2.0a и 3.0).

Правда, решение nVidia очень уж красивым тоже не назовешь: в ее варианте «глупый» конвейер по кругу обрабатывает все пиксели, но в решающий момент над некоторыми из них производит операцию, а некоторые - игнорирует[Похожий способ исполнения условных переходов можно встретить в процессорах ARM]. ATI нашла гораздо лучший выход: поскольку вместо нескольких «глупых» и простых конвейеров у нее лишь один, но «умный» и сложный, то не требующие обработки пиксельные квады до исполнительных устройств просто-напросто не добираются, уступая место тем квадам, с которыми действительно нужно что-то делать. В результате конвейер хоть и исполняет по-прежнему одну и ту же операцию над разными пикселами, неторопливо перестраиваясь с одной на другую, но делает это не в пример интеллектуальнее и не разбазаривает попусту свои ресурсы. А заодно семейство Radeon X1000 получает практически «бесплатную» поддержку шейдеров третьей версии. Честно говоря, столь блестящему решению, убивающему разом целую стаю зайцев, можно только позавидовать! Это еще не унифицированная шейдерная архитектура, где единый конвейер (а вернее, набор из таковых) может обрабатывать любые шейдеры - как пиксельные, так и вершинные, но то, что полшага в ее сторону сделано, - несомненно.

Перейти на страницу:

Похожие книги

«Если», 2003 № 08
«Если», 2003 № 08

ФАНТАСТИКАЕжемесячный журналСодержание:Геннадий Прашкевич. БЕЛЫЙ МАМОНТ, повестьЛитературный портрет*Владимир Борисов. «МНЕ ПОВЕЗЛО: Я ЗНАЮ ОЗАРЕНЬЕ…», статьяСвятослав Логинов. О ЧЁМ ПЛАЧУТ СЛИЗНИ, рассказДелия Шерман. РУБИН «ПАРВАТ», рассказ,ВЕРНИСАЖАлександр Павленко. РИСОВАННЫЕ ЛЕНТЫ МЁБИУСА, статьяБорис Руденко. ИЗМЕНЁННЫЙ, рассказНаталия Ипатова. ДОМ БЕЗ КОНДИЦИОНЕРА, рассказВИДЕОДРОМ*Тема--- Сергей Кудрявцев. ВЗГЛЯДЫ, КОТОРЫЕ УБИВАЮТ, статья*Рецензии*Рейтинг--- Вячеслав Яшин. 100 ГЕРОЕВ, статьяНил Геймен. ДЕЛО СОРОКА СЕМИ СОРОК, рассказГенри Лайон Олди. ЦЕНА ДЕНЕГ, повестьТом Холт. СПАСТИСЬ ОТ МЕДВЕДЕЙ, рассказМайкл Кэднэм. ОБИЛЬНАЯ ЖАБАМИ, рассказМария Галина. МУЗА В ЧУЖОЙ ЗЕМЛЕ, статьяЭкспертиза темыВладимир Михайлов, Андрей Валентинов, Николай СветлевКрупный план*Эдуард Геворкян. ЛЬВЫ ГАЯ КЕЯ (статья), рецензия на роман Г. Г. Кея «Львы Аль-РассанаРецензииКрупный планЛеонид Кудрявцев. ЗА СТОЛЕТИЕ ДО АРМАГЕДДОНА, рецензия на несуществующий роман Алексея Джерджау «Канонада Армагеддона»Владислав Гончаров. «ЧИТАЮ БЕЗ СЛОВАРЯ, НО С ТРУДОМ», статьяКир Булычёв. ПАДЧЕРИЦА ЭПОХИ (продолжение серии историко-литературных очерков)КурсорПерсоналииОбложка Игоря Тарачкова к повести Геннадия Прашкевича «Белый мамонт».Иллюстрации Игоря Тарачкова, Е. Капустянского, В. Овчинникова, Жана Жиро (Мебиуса), А. Филиппова, С. Голосова, А. Балдина, С. Шехова, А. Акишина

Александр Павленко , Геннадий Мартович Прашкевич , Журнал «Если» , Леонид Викторович Кудрявцев , Наталия Борисовна Ипатова

Фантастика / Фэнтези / Современная проза / Проза / Журналы, газеты / Научная Фантастика
«Если», 2002 № 02
«Если», 2002 № 02

ФАНТАСТИКАЕжемесячный журналСодержание:Ллойд Биггл. КТО В ЗАМКЕ КОРОЛЬ? повестьПитер Гамильтон, Грэм Джойс. БЕЛОЕ ВЕЩЕСТВО, рассказВидеодром*Адепты жанра--- Евгений Харитонов. КОСМИЧЕСКАЯ ОДИССЕЯ ПАВЛА КЛУШАНЦЕВА (статья)*Экранизация--- Вл. Гаков. ХРАНИТЕЛИ ОТПРАВЛЯЮТСЯ В ДОРОГУ (статья)*Рецензии*Хит сезона--- Дмитрий Байкалов. НЕГР ИЗ КАЛИФОРНИИ ПРИ ДВОРЕ КОРОЛЯ ЛЕО (статья)Пол Ди Филиппо. ПОЖИЗНЕННОЕ ЗАКЛЮЧЕНИЕ, рассказЧарлз Стросс. АНТИТЕЛА, рассказДэвид Лэнгфорд. COMP.BASILISK.FAQ (отрывок из статьи в журнале «Нейчур»)Джо Холдеман. СЛЕПАЯ ЛЮБОВЬ, рассказКристофер Маккитрик. ПОТЕРЯВШИЕСЯ СОБАКИ, рассказАльберт Каудри. «КРУКС», повестьВладимир Березин. КТО ИДЁТ ЗА «КЛИНСКИМ»? (статья)Крупный план*Александр Громов. ГУД БАЙ, АМЕРИКА! (статья)РецензииКрупный план*Глеб Елисеев. ТРИ ДАРА ЛЕСТЕРА ДЕЛЬ РЕЯ (статья)Альтернативная реальностьМаксим Форост. РАДУГА ПЕРВОГО ЗАВЕТА, рассказЭдуард Геворкян. МЕДАЛЬ ЗА ВЗЯТИЕ КАНОССЫ (статья)Евгений Харитонов. ЖУРНАЛЬНАЯ ЛИХОРАДКА (статья)КурсорПерсоналииОбложка И. Тарачкова к повести Альберта Каудри «Крукс».Иллюстрации: А. Балдин, А. Юрьева, С. Шехов, В. Овчинников, А. Филиппов, И. Тарачков

Альберт Каудри , Джо Холдеман , Дэвид Лэнгфорд , Кристофер Маккитрик , Максим Форост

Фантастика / Журналы, газеты / Научная Фантастика / Фэнтези