Авторизация  
den-ssdd

Новая архитектура NVIDIA Fermi

Рекомендуемые сообщения

На прошедшей в этом году выставке Consumer Electronics Show NVIDIA было что показать. Так, на открытой для всех желающих публичной пресс-конференции компания представила 3D Vision Surround и Tegra 2. Причем сделанные анонсы не были "бумажными" — этажом ниже названные продукты, включая систему с GF100 для 3D VS, были доступны в демонстрационной зоне. Но, как это часто бывает, самое интересное — GF 100 Fermi — обсуждалось за закрытыми дверями. Наконец-то выйдя на стадию полноценного производства этого столь необходимого компании видеопроцессора, NVIDIA была готова рассказать прессе о своем революционном GPU в подробностях. Причем под закрытие выставки журналистам даже продемонстрировали рабочие образцы в действии. И, пускай точной информации о многих характеристиках новинки предоставлено не было, NVIDIA четко дала понять — ожидание GF100 подходит к концу, и напрасным оно не было. 49a2e7436f59t.jpg

Блочная структура Fermi/GF100, анонсированного в сентябре 2009 года Перед тем, как перейти непосредственно к изучению имеющейся информации, следует обратить внимание читателей на некоторые моменты. Во время CES NVIDIA проводила специальные технические брифинги, которые были посвящены трем основным проблемам: особенностям архитектуры GF100 с учетом игровой/потребительской направленности продукта, обсуждению программ по взаимодействию компании с издателями и разработчиками (включая печально известную ситуацию с антиалиасингом в Batman: Arkham Asylum) и, наконец, демонстрации GF100 в действии в некоторых реальных приложениях.

320c85efb3d0t.jpg Но на данный момент многое остается загадкой. NVIDIA рассказала о самом GF100, но не о финальных продуктах. Из этого следует, что, хотя мы уже можем обсуждать сам чип, о характеристиках карт на его базе пока что можно делать лишь предварительные прогнозы. Все это станет известно уже в скором времени, но, похоже, что инженеры и маркетологи пока еще сами четко не определились с линейкой плат. Так что, следующие особенности пока под вопросом: * Физический размер кристалла

* Точные технические характеристики карт, построенных на базе GF100

* Тактовые частоты

* Энергопотребление (пока известно, что оно превзойдет GT200)

* Ценообразование

* Производительность Очевидно, что сочетание характеристик и цен финальных продуктов зависит от того, какими свойствами обладают производимые TSMC по 40 нм техпроцессу среднестатистические кристаллы GF100. Тактовые частоты, энергопотребление и тепловыделение, производительность, стоимость — все это увязано друг с другом. Найти верный баланс чрезвычайно трудно. Ведь можно создать очень быстрый чип с высокими тактовыми частотами, но его энергетические аппетиты будут столь высоки, что реальная эксплуатация будет невозможна. Ясно одно — NVIDIA совершенно точно собирается превзойти AMD Radeon HD 5870. Что касается производительности как таковой, на CES был продемонстрирован лишь один тест, а именно Ranch Small Demo в Far Cry 2. Бенчмарк проводился как на неназванной плате с GF100, так и на GTX 285. Карта на основе GF100 была быстрее (84 FPS против 50), но Ranch Small не является объективным инструментом для измерения скорости, так как каждый раз меняется количество объектов в кадре. К тому же, судя по нашим собственным исследованиям, Far Cry 2 является очень процессорозависимой игрой, где топовые карты зачастую показывают идентичную производительность, так что не стоит делать скоропостижных выводов по одной лишь этой информации; лучше дождаться полноценных тестов потенциальных GTX 480 и 470.

Хотя из-за нескончаемого потока слухов и новостей о Fermi кажется, что прошло больше времени, NVIDIA анонсировала свою новую архитектуру в сентябре 2009 года. Тогда компания сфокусировалась на не слишком интересных для простого пользователя вычислительных возможностях GPU, которому было суждено получить кодовое название GF100. На CES же все внимание было уделено структуре новинки применительно к "домашнему" использованию. Следящие за новостями читатели наверняка знают, что GF100 состоит из 512 SP, которые NVIDIA отныне называет CUDA Cores, как бы намекая на широкие возможности Fermi, не ограниченные лишь графическими расчетами. Самостоятельно работать они не в состоянии, и организованы в блоки по 32 ядра, которые называются Streaming Multiprocessor (SM). Те, в свою очередь, объединены четверками в Graphics Processing Cluster (GPC). Наконец, сам чип GF100 состоит из четырех таких вычислительных кластеров. Так и получается заявленное NVIDIA число в 512 ядер CUDA (32 x 4 x 4 = 512).

dd474ba19db0t.jpg Когда NVIDIA впервые приоткрыла завесу над GF100, мы не знали ничего о ROP, текстурных блоках и прочих необходимых GPU функциональных модулях. Сегодня эта информация стала доступна. Тогда как GF100 во многом напоминает GT200, если рассматривать данный GPU в качестве вычислительного многоядерного процессора, в игровом плане новинка далеко ушла от предыдущего поколения унифицированной шейдерной архитектуры NVIDIA. Наибольшее отличие состоит в том, что привычные по чипу GT200 (и его предкам начиная с G80) блоки фиксированных по функциональности модулей графического конвейера были полностью перестроены. По сути, переход от GT200 к GF100 напоминает выпуск Intel CPU Core i7 после Core 2 Duo. Базовые компоненты, входящие в состав чипа, претерпели сравнительно небольшие изменения, тем не менее, их новая структура и связки (плюс важнейшие новые модули) были созданы "с нуля", для того чтобы обеспечить гибкость и масштабируемость. Взгляните на подробную блок-схему новой разработки NV: 450a347bb83bt.jpg Хорошо видно, что единственным блоком, который остался в чипе обособленным, является GigaThread Engine — такого маркетинговое название распределителя и планировщика заданий GF100. Безусловно, речь идет именно о вычислительных модулях; забывать про контроллеры памяти и Host Interface, через который чип получает входные данные для обработки, нельзя. Тем не менее, ни ROP, ни того же аппаратного тесселятора в классическом понимании, в Fermi нет. Для того чтобы понять, куда исчезли привычные для нас модули, необходимо рассмотреть новые блоки, пришедшие им на смену: PolyMorph Engine и Raster Engine.

Начнем с нового растрового движка. Хотя по алгоритму работы, Raster Engine стоит в цепи после PolyMorph Engine, он проще по устройству и менее интересен. По сути, он является комбинацией всех, каким бы то ни было образом связанных с операциями растеризации блоков, которые ранее составляли соответствующий фиксированный этап конвейера рендеринга. Он устанавливает грани, непосредственно производит растеризацию (при необходимости — с учетом сглаживания), отбрасывает невидимые поверхности. У каждого GPC имеется в наличии свой собственный Raster Engine. О структуре RE NVIDIA рассказывала мало. Похоже, что качественные возможности этих модулей не слишком изменились по сравнению с GT200, за исключением формы группировки: теперь в чипе 4 RE по количеству GPC вместо одного большого блока. Каждый такой растровый движок способен обрабатывать до 8 пикселей за такт, то есть максимальная теоретическая производительность ROP GF100 оставляет 32 пикселя за такт. ps1268388774.png Второй, куда более значимый и сложный из двух новых блоков носит название полиморфного движка. PolyMorph Engine целиком и полностью отвечает за геометрию в GF100, включая выборку вершин, тесселяцию, трансформацию в двухмерные координаты, установку атрибутов и потоковый вывод. Именно здесь располагается тесселятор, столь важный элемент DirectX 11, и, по сути, главная причина, по которой NVIDIA "перетряхнула" весь конвейер. В отличие от RE, PE раздроблен более мелко: полиморфный движок имеется у каждого SM, таким образом, в GF100 соседствует 16 PolyMorph Engine. Хотя описанная структура геометрических движков могла показаться вам простой, не стоит недооценивать это нововведение. NVIDIA не просто перенесла старые геометрические блоки на новое место, продублировав их 16 раз. Ранее, как и в случае с Raster Engine, построение геометрии было отдельной фиксированной стадией рендеринга. Теперь же, с разделением и реструктуризацией геометрия рассчитывается совершенно по-новому. Компания сама создала для себя здесь огромный объем работ высокой сложности. Возникает логичный вопрос: зачем все это надо было делать? Оказывается, для параллелизма и внеочередного исполнения. Принципиальный ответ на вопрос, зачем потребовалось так усиливать геометрическую производительность чипа и укреплять возможности по установке треугольников и их последующей растеризации, находится в самой истории аппаратных графических 3D-ускорителей. Дело в том, что на разных этапах развития игростроя на первый план поочередно выходили различные аспекты построения картинки. Скорость текстурирования, возможность обработки как можно большего числа треугольников в сцене, попиксельные шейдерные эффекты, наконец. В конце концов, перевес в математической производительности, по-видимому, оказался чрезмерным, и было решено улучшать геометрические возможности, на которые долгое время не обращали особого внимания. NV приводит данные, согласно которым производительность GT200 (GeForce GTX 280) по шейдерным вычислительным превосходит NV30 (GeForce FX 5800) более чем в 150 раз. В тоже время, разница в геометрической скорости — лишь трехкратная! Включив аппаратную поддержку тесселяции в DirectX 11, Microsoft очень сильно повлияла на развитие игровых технологий и проектирование GPU. Конечно, не стоит думать, что это инициатива исключительно одной корпорации, но факт остается фактом — достигнув высот в пиксельной обработке графики, индустрия сфокусировалась на геометрическом качестве моделей. Безусловно, единым порывом решить проблему относительно малого (по сравнению с той же трехмерной кинематографической анимацией) числа обрабатываемых треугольников невозможно. Ведь к имеющимся сегодня математическим возможностям шли не один год и не одно поколение архитектур и чипов. Но, сделать большой скачок, пойдя не простым путем линейного наращивания исполнительных блоков, а внедрив качественно-новую технологию, можно. Это в свое время еще в Xenos пыталась сделать ATI (однако тесселяция не получила особого распространения на Xbox 360), теперь же тесселятор является обязательным DX11 условием. На него делается ставка в ключе повышения уровня проработки 3D-моделей. В паре с возможностью наложения карт смещения, тесселяция поистине творит чудеса. Технология обладает большим количеством достоинств, таких как поддержка динамической геометрии, или низкие требования к пропускной способности шин благодаря малым размерам исходных данных. 89b8becac98at.jpg Запаздывая с анонсом своего нового чипа, и будучи связанной жесткими требованиями DX11, NVIDIA не оставалось ничего другого, кроме как заложить в дизайн Fermi уникальные возможности, которые обеспечили бы не только текущую победу над конкурентом, но и перспективное развитие в будущем. Ведь выпуская серию GTX 400 с таким опозданием, NVIDIA необходимо перехватить инициативу не только в краткосрочном периоде. К тому же и момент довольно удачный — экстенсивно получить из Evergreen вдвое мощную карту AMD уже не сможет, а на разработку новой архитектуры нужны ресурсы, и, в первую очередь, время. Как NVIDIA решила использовать шанс? Сделав ставку именно на основные требования DirectX 11. eae199c5ec8et.jpge380810f9001t.jpg

Техническая демонстрация возможностей тесселяции

Безусловно, внедрение поддержки GDDR5, усовершенствование алгоритмов сглаживания, развитие самих SP, иная группировка модулей — все это важно, но, не побоимся этого слова, революционное изменение структуры конвейера рендеринга с внедрением внеочередного исполнения команд для этапов построение геометрии, пожалуй, наиболее интересное новшество Fermi. Кстати, данный факт говорит о том, что, несмотря на все возможности GF100 по GPGPU вычислениям, NVIDIA пока позиционирует свои решения именно как графические карты. Следует понимать, что на данном этапе каждый PolyMorph Engine в отдельности является довольно простым модулем с очередным исполнением. Тем не менее, так как самих блоков в чипе целых 16, возникает необходимость постоянно отслеживать их состояние и загруженность, так же как это делается в современных CPU. Ведь нельзя допускать, чтобы какой-либо из PME "убегал" вперед, а другие, напротив, простаивали без работы. В таком случае может не сохраняться целостность результатов. Для того чтобы препятствовать появлению коллизий при такой структуре полиморфных движков, все они обладают общим выделенным каналом связи для синхронизации. Очень трудно заставить работать корректно и эффективно такой массив параллельных вычислительных модулей. Нельзя недооценивать всю сложность такого подхода. Перед инженерами NVIDIA стояла трудная задача, и компания гордится, что ее удалось решить. Однако, вместе со всеми положительными эффектами от увеличившейся скорости работы чипа и возможностями для будущего увеличения геометрической производительности, у введения PolyMorph Engine есть и обратная сторона. Хотя представители компании не говорили об этом открыто, похоже, что именно сложностями с PME обусловлена задержка анонса. С одной стороны, калифорнийская корпорация подготовила почву для дальнейшего роста, и создала уже сейчас крайне мощное решение на базе архитектуры Fermi. Остается лишь один вопрос — насколько эффективным окажется данное вложение ресурсов на сегодня? Сделав ставку на улучшение геометрической составляющей GPU и полную перебалансировку конвейера, NVIDIA создала действительно новую архитектуру. Более чем удвоенное количество усовершенствованных SP определяет лидерство GF100 среди одночиповых решений (даже с учетом возможности низких частот работы). Но упущенного времени компании уже не вернуть. В тоже время DX11 вместе с продвинутым аппаратным тесселятором являются технологиями будущего, которые без соответствующей программной поддержки будут попросту простаивать. А на данный момент игровых приложений, написанных под 11 версию API Microsoft, можно сказать, нет. Появятся ли они до того момента, как конкуренция между графическими гигантами пойдет на новый виток, и оправдает ли себя задержка GF100 из-за кардинального редизайна ключевых модулей графического конвейера, покажет лишь время. Возвращаясь к фактическим данным GF100, стоит отметить, что, так как теперь полиморфный и растровые движки находятся в кластерах, разные версии Fermi будут отличаться более существенно. Ведь в любом из предыдущих чипов, скажем, G92 или RV770/870, конвейер рендеринга оставался фиксированным, тогда как в GTX 400 его общая скорость работы будет зависеть от количества активированных блоков в чипе. ps1268388797.png Помимо всех прочих модулей, в наличии у SM 4 текстурных блока. Они также поменяли место своего расположения. Ведь в GT200 текстурные модули располагались на уровне TPC. Каждый блок отныне способен рассчитывать 1 текстурный адрес и выбирать до 4 семплов за такт, это существенно больше, чем возможности GT200. Также, в соответствии с требованиями DirectX 11, TMU обучили работать с новыми форматами сжатых текстур. Хотя на 4 текстурных модуля, как и раньше, приходится 12 Кб кэша, выделено дополнительные 64 Кб L1 LD/ST, конфигурируемые в соотношении 16 Кб/48 Кб, либо наоборот, в зависимости от задачи. Кроме того, вместо кэшей ROP, текстурного L2 и прочих начиповых буферов, присутствует 768 Кб полнофункционального разделяемого кэша второго уровня, к которому есть доступ у всех модулей чипа. Наконец, претерпели изменения и сами ROP. Нетрудно догадаться, что и их реорганизовали. Теперь доступно целых 48 модулей, в 6 связках по 8 блоков. Каждую из этих связок обслуживает один 64-битный контроллер памяти. Каждый ROP может за такт обрабатывать 1 пиксель 32-битной точности, 1 FP16 за два такта, или же 1 FP32 за 4 такта. То есть, максимальная производительность ROP составляет 48 пикселей за такт. Эти модули должны обладать впечатляющей эффективностью, так как имеют доступ к массивному по меркам GPU L2. Стоит отметить, что, хотя общая разрядность шины памяти уменьшилась по сравнению с GT200, где было 8 контроллеров, пропускная способность памяти за счет использования недоступной ранее прогрессивной GDDR5 только возрастет, и сужение шины сполна компенсируется высокими эффективными тактовыми частотами. К тому же, положительным эффектом от такого упрощения может стать и снизившаяся сложность дизайна печатной платы для GF100. Интересно, что частоты теперь считаются не от базового ядра, множителями, а от шейдерного домена, делителями. Лишь ROP и L2 являются независимыми. Текстурные модули, новые полиморфные и растровые движки работают на половинной частоте ядер CUDA (GPC Clock в терминологии NVIDIA), тогда как сами SP и кэш L1 функционируют на полной частоте. Совершенно точно, что для разгона GF100 потребуются совершенно иная методика, нежели привычная еще со времен 8800GTX. www.nix.ru

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация