Страница 2: Архитектура Maxwell

Ниже мы детально рассмотрим новую архитектуру "Maxwell".

"Kepler" против "Maxwell"

Архитектура "Maxwell" претерпела улучшения во многих областях по сравнению с "Kepler", что позволяет NVIDIA заявлять об увеличении соотношения производительность на ватт в два раза. В случае "Kepler" были представлены кластеры SMX со 192 потоковыми процессорами (ядра CUDA), но они были пересмотрены. Также произошли и некоторые другие изменения. Причина проста: управляющая логика (Control Logic на схеме) для 192 потоковых процессоров оказалась бы уже слишком сложной. Так что в случае архитектуры "Maxwell" потоковый мультипроцессор (он назван SMM, Maxwell streaming multiprocessor), был разделён на четыре блока, каждый с 32 потоковыми процессорами. В итоге мы получаем 128 потоковых процессоров для блока SMM.

Менее сложная управляющая логика позволяет эффективно распределять задачи по ядрам CUDA. В результате производительность одиночных потоковых процессоров увеличилась до 35% по сравнению с архитектурой "Kepler". Конечно, здесь сказываются и другие улучшения, которые мы обсудим позже. Также NVIDIA на данный момент раскрывает не все детали новой архитектуры.

GPU-Blockdiagramm der GM107-GPU mit
Диаграмма GPU GM107 на архитектуре "Maxwell"

Диаграмма GPU GM107 на архитектуре "Maxwell" довольно похожа на GPU с архитектурой "Kepler". Интерфейс PCI Express 3.0, контроллер памяти, кэш L2, конвейеры растровых операций и движок GigaThread составляют модульный кластер Graphics Processing Cluster. В кластере GPC может присутствовать до пяти SMM. В полной конфигурации GPU GM107 используется пять потоковых мультипроцессоров SMM, которые обеспечивают в сумме 640 потоковых процессоров. Каждый их мультипроцессоров SMM в архитектуре Maxwell разделяется на четыре блока по 32 ядра CUDA. Если посчитать, то 4 x 32 x 5 как раз и дадут нам 640 потоковых процессоров. Каждый SMM оснащается восемью текстурными блоками. В результате в GPU GM107 мы получаем 40 текстурных блоков TMU. Также доступных 16 конвейеров растровых операций (ROP) и два 64-битных контроллера памяти.

Более высокую эффективность и производительность NVIDIA смогла получить благодаря нескольким решениям. Кэш L2 в архитектуре "Maxwell", скорее всего, был увеличен до 2.048 кбайт по сравнению с 256 кбайт в архитектуре "Kepler". Пропускная способность кэша осталась на уровне 512 байт на такт. Также была улучшена подготовка данных для вычисления на потоковых процессорах (диспетчеризация, балансировка и т.д.), что позволяет лучше загружать потоковые процессоры и выполнять в итоге больше работы. Добавим к этому и увеличение числа инструкций, выполняемых за такт.

SMM-Blockdiagramm
Диаграмма SMM

Кроме перераспределения потоковых процессоров базовый дизайн изменился мало. Каждый SMM оснащен движком PolyMorph 2.0. Он отвечает за выборку вершин, тесселяцию, настройку атрибутов, трансформацию поля зрения и потоковый вывод. После прохождения движка PolyMorph 2.0 и кластера SMM результаты перенаправляются на движок растеризации. На втором этапе тесселятор начинает расчеты позиций поверхностей, в зависимости от расстояния выбирается нужный уровень детализации. Скорректированные значения отсылаются на кластер SMM, где с ними работают доменные и геометрические шейдеры. Доменный шейдер рассчитывает финальную позицию каждого треугольника, учитывая данные Hull-шейдеров и тесселяторов. На данном этапе накладываются карты смещения. Геометрический шейдер затем сравнивает рассчитанные данные с действительно видимыми объектами и отсылает результаты обратно на движок тесселяции для окончательного расчета. На последнем этапе движок PolyMorph 2.0 выполняет трансформацию поля зрения и коррекцию перспективы. Наконец, рассчитанные данные выводятся через потоковый вывод, память освобождается для дальнейших расчетов.

Каждая пара блоков из 32 потоковых процессоров в SMM опирается на текстурный кэш L1. Также у блока SMM из 128 потоковых процессоров есть общая память объёмом 64 кбайт. На SMM приходится восемь текстурных блоков (TMU). Каждый блок из 32 потоковых процессоров оснащен буфером инструкций и warp-планировщиком. Два блока диспетчеризации работают с 16 384 32-битными регистрами каждый. Если посмотреть на архитектуру "Kepler", то 192 потоковых процессора работали с четырьмя warp-планировщиками и восемью блоками диспетчеризации, всего было доступно 65 536 32-битных регистров. Теоретически на каждый потоковый процессор в архитектуре "Maxwell" приходятся 512 регистров, у "Kepler" их количество составляло около 341. Эта мера тоже способствовала приросту производительности потоковых процессоров до 35%. Также несколько изменилось соотношение между потоковыми процессорами и так называемыми специальными функциональными блоками (Special Function Units, SFU). В архитектуре "Kepler" соотношение составляло 6/1, в " Maxwell" оно снизилось до 4/1. То же самое касается и соотношения потоковых процессоров и блоков чтения/записи (Load/Store, LD/ST). Специальные блоки вычислений с двойной точностью на диаграмме не показаны. Но, если верить NVIDIA, соотношение одиночной и двойной точности составляет 1/24, как и в чипах "Kepler" первого поколения (GK104).

Сравнение архитектуры "Kepler" и "Maxwell"
GPU GK107 GM107
Максимальное количество потоковых процессоров 384 640
Базовая частота 1.058 МГц 1.020 МГц
Частота Boost - 1.085 МГц
GFLOPs 812,5 1305,6
Текстурные блоки 32 40
Скорость заполнения текселей 33,9 Гтексель/с 40,8 Гтексель/с
Тактовая частота 1.250 МГц 1.350 МГц
Пропускная способность памяти 80 Гбайт/с 86,4 Гбайт/с
Конвейеры растровых операций (ROPs) 16 16
Объём кэша L2 256 кбайт 2.048 кбайт
Количество транзисторов 1,3 млрд. 1,87 млрд.
Площадь кристалла 118 мм2 148 мм2
Техпроцесс 28 нм 28 нм
TDP 64 Вт 60 Вт

Прямое сравнение чипов GK107 ("Kepler") и GM107 ("Maxwell") наглядно демонстрирует изменения в архитектуре. Площадь чипа увеличилась со 118 мм² до 148 мм², то есть на 25 процентов. В то же время и число транзисторов возросло с 1,3 до 1,87 млрд., то есть на 49 процентов. Всё это позволило уместить на 66 процентов больше потоковых процессоров в новом дизайне. Кроме небольших изменений во внутренней структуре и логике управления именно увеличение числа потоковых процессоров привело к заметному росту производительности - но пока только на бумаге. Обратите внимание на почти идентичное теоретическое максимальное энергопотребление видеокарты.

NVENC

Одно из серьёзных изменений в архитектуре "Kepler" заключалось в добавлении отдельного блока, выполняющего кодирование и декодирование видео H.264. Именно он позволил реализовать функцию записи игры ShadowPlay на видеокартах GeForce GTX 600 и 700. С архитектурой "Maxwell" NVIDIA обновила блок NVENC и улучшила его производительность. Новый блок способен воспроизводить поток H.264 со скоростью 6-8x быстрее реального времени. В графических процессорах "Kepler" скорость составляла 4x. Локальный кэш видео и более эффективное использование памяти позволяет снизить энергопотребление при воспроизведении видео. Новый режим "GC5" Power State в графических процессорах "Maxwell" также позволяет уменьшить энергопотребление в сценариях с небольшой нагрузкой.

Unified Memory

Первые настольные видеокарты в виде GeForce GTX 750 Ti и GeForce GTX 750 по-прежнему не используют унифицированную память, хотя NVIDIA представила её год назад вместе с объявлением архитектуры "Maxwell". Дополнительную информацию о судьбе этой технологии вы можете почерпнуть из нашей новости.