Сегодня 22 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

NVIDIA GF100 – полное описание архитектуры

⇣ Содержание

#Graphic Processing Cluster

 GF100s.png
Графический процессор GF100 построен на базе масштабируемой архитектуры, в основе которой лежит применение объединенных в кластеры GPC (Graphic Processing Cluster – кластеры обработки графики) потоковых мультипроцессоров (SM, Streaming Multiprocessor). Каждый такой кластер содержит четыре мультипроцессора, а также все необходимые блоки для обработки геометрических данных и текстурирования. Фактически, каждый GPC представляет собой самостоятельный ГП, не имеющий лишь собственной подсистемы памяти. GF100 состоит из четырех таких кластеров, совместно использующих шесть контроллеров памяти, шесть модулей ROP (по 8 блоков ROP в каждом) и L2-кеш. Очевидно, что младшие (а со временем, возможно, и старшие) модели ГП будут получены изменением количества «кубиков» этого «конструктора».
 gpc.png

#PolyMorph Engine

Использование теселляции фундаментальным образом изменило распределение нагрузки внутри графического процессора и вынудило инженеров NVIDIA несколько изменить компоновку вычислительных блоков и ввести новый тип блока – PolyMorph Engine. Каждый графический кластер (GPC) оснащен четырьмя такими блоками – по одному на каждый мультипроцессор (SM). Каждый PolyMorph Engine выполняет пять стадий: выбор вершин, тесселяция, преобразование координат, преобразование атрибутов, потоковый вывод.
 polymorph.png
На первом этапе вершины выбираются из глобального буфера, после этого вершина отправляется в мультипроцессор, где ее координаты преобразуются в координаты сцены и определяется уровень тесселяции (аналог уровня детализации, LOD). После этого вершина передается на второй этап – тесселяцию. На этом этапе полигон разбивается на несколько новых, более мелких, по карте смещения определяются их координаты. Полученные новые вершины вновь обрабатываются в мультипроцессоре и передаются через потоковый вывод в память для дальнейшей обработки.

#Raster Engine

После того, как геометрические данные обработаны в PolyMorph Engine они передаются для растеризации в Raster Engine. В этом блоке отфильтровываются невидимые примитивы (т.н. обратные поверхности), затем геометрические данные преобразуются в экранные точки, которые в свою очередь сортируются и фильтруются по Z-координате. Каждый кластер (GPC) оснащен одним блоком растеризации, обрабатывающим до 8 точек за такт, то есть суммарная производительность GF100 составляет 32 точки за такт – это в 8 раз больше, чем обеспечивал GT200.
 raster.png

#Streaming Multiprocessor третьего поколения

Каждый мультипроцессор состоит из 32 вычислительных блоков CUDA – четырехкратное преимущество в сравнении с предыдущими архитектурами. Как и прежде, ядра CUDA имеют скалярную архитектуру, что позволяет добиться максимальной загрузки, независимо от типа обрабатываемых данных – будь то операции с z-буфером или обработка текстур. Каждый процессор CUDA оснащен одним логическим блоком ALU и одним FPU.
 SMs.png
Кроме того, каждый мультипроцессор оснащен 16 Load/Store-блоками, позволяющими определить адреса данных в кеше или памяти для 16 потоков за каждый такт. Предусмотрены и четыре блока специальных функций (SFU, Special Function Unit), выполняющих такие операции как синус, косинус, квадратный корень. Каждый SFU выполняет одну операцию на поток за такт, так что ветвь (warp, 32 потока) выполняется за 8 тактов. Мультипроцессор организует потоки в ветви по 32 потока, для управления этими ветвями используется два планировщика ветвей – две ветви могут выполняться на одном мультипроцессоре одновременно. Планировщики GF100 передают по одной инструкции от каждой ветви группе из 16 ядер CUDA, 16 блоков LD/ST или четырех SFU. Кроме того, каждый SM оснащен четырьмя текстурными блоками – каждый из них отбирает до четырех текстурных семплов за такт, результат может быть сразу же отфильтрован – предусмотрена билинейная, трилинейная и анизотропная фильтрация. В отличие от GT200, в GF100 блоки текстурирования работают на частоте, большей частоты ядра. Текстурные блоки GF100 поддерживают форматы BC6H и BC7, реализованные в DX11 и позволяющие снизить загрузку подсистемы памяти при обработке HDR-текстур. Общая память и кеши Общая память – это быстрая, программируемая, расположенная в микросхеме память, позволяющая максимально оптимизировать обмен данными внутри потока. В GF100 помимо общей памяти используется также L1-кеш, собственный внутри каждого мультипроцессора (SM). L1-кеш работает в паре с общей памятью, в то время как общая память предназначена для алгоритмов с упорядоченным доступом к памяти, L1-кеш ускоряет те алгоритмы, где адреса данных не известны заранее.
 memory1.png
 memory2.png
В GF100 каждый мультипроцессор оборудован 64 Кб памяти, которая может быть поделена на 48 Кб общей памяти и 16 Кб L1-кеша или наоборот. Кроме того, предусмотрен унифицированный L2-кеш объемом 768 Кб. Он обеспечивает максимально быстрый обмен данными между различными блоками ГП.
 memory3.png
Блоки ROP Блоки ROP в GF100 организованы партициями по восемь блоков в каждом. Каждый блок может вывести 32-бит целое значение за такт, либо FP16 за два такта, либо FP32 – за четыре. Благодаря улучшенным алгоритмам сжатия и увеличенному количеству ROP заметно ускорено сглаживание 4x и 8xMSAA – оно выполняется соответственно в 1,6 и 2,3 раза быстрее, чем GT200. Стоит отметить, что GF100 выполняет сглаживание 8xAA лишь на 9% медленнее, чем 4хАА. Кроме того, в GF100 реализован новый режим сглаживания – 32хCSAA (Coverage Sample Antialiasing).

#Дополнительные возможности

В заключение стоит сказать о эффектах следующего поколения – основанных не на традиционной попиксельной обработке, а на вычислениях с помощью архитектуры CUDA. Подобные вычисления позволяют реализовать гораздо более сложные алгоритмы визуализации, как хорошо уже знакомые нам физические эффекты PhysX, так и более продвинутые техники, например, трассировка лучей (Ray Tracing) и даже реализация искусственного интеллекта средствами ГП. Круг задач, которые позволяет решить GF100 гораздо шире, чем у обычного графического процессора, однако применение новых возможностей – безусловно, вопрос завтрашнего дня, так как в настоящее время разработчики игр еще не готовы использовать весь арсенал этого процессора. Впрочем, темой одного из докладов на прошедшей в Лас-Вегасе конференции как раз стало сотрудничество компании NVIDIA с разработчиками игр, так что есть все поводы надеяться, что уже в этом году появятся первые игры, способные максимально активно использовать возможности GF100.
 raytrace.png
Благодарим российское представительство компании NVIDIA за помощь в организации поездки на выставку CES'2010 и участие в NVIDIA GF100 Deep Dive
- Обсудить материал в конференции


 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Foxconn немного охладела к покупке Nissan, но вернётся к этой теме, если слияние с Honda не состоится 5 ч.
В следующем году выйдет умная колонка Apple HomePod с 7-дюймовым дисплеем и поддержкой ИИ 5 ч.
Продажи AirPods превысили выручку Nintendo, они могут стать третьим по прибыльности продуктом Apple 6 ч.
Прорывы в науке, сделанные ИИ в 2024 году: археологические находки, разговоры с кашалотами и сворачивание белков 14 ч.
Arm будет добиваться повторного разбирательства нарушений лицензий компанией Qualcomm 18 ч.
Поставки гарнитур VR/MR достигнут почти 10 млн в 2024 году, но Apple Vision Pro занимает лишь 5 % рынка 20 ч.
Первая частная космическая станция появится на два года раньше, но летать на неё будет нельзя 21 ч.
В США выпущены федеральные нормы для автомобилей без руля и педалей 21 ч.
Для невыпущенного суперчипа Tachyum Prodigy выпустили 1600-страничное руководство по оптимизации производительности 23 ч.
Qualcomm выиграла в судебном разбирательстве с Arm — нарушений лицензий не было 21-12 08:39