Архитектура графического процессора Intel, отличия от NVIDIA и AMD

Архитектура графического процессора Intel, отличия от NVIDIA и AMD

Мы не часто связываем Intel с графическими процессорами или графическими чипами, потому что Intel до сих пор оставалась в отстающем сегменте. В него включены графические процессоры, интегрированные в процессор, и графические процессоры начального уровня, в которых не требуется высокая мощность. Это означает, что для многих он не так интересен, как NVIDIA и AMD Графические процессоры, однако графическая архитектура Intel также имеет интересные моменты, которые мы собираемся определить ниже.

Когда дело доходит до графических процессоров, Intel всегда была третьей в споре, в конце концов, это не их основной бизнес, и речь идет о чем-то большем, чем то, что они делают, а именно о процессорах. Хотя в последние годы они увеличили ресурсы и запустили серию игровых графических процессоров. Однако его архитектура имеет ряд отличительных черт по сравнению с конкурентами.

Execution Unit - основа графических процессоров Intel

Intel ЕС вьеха

Чтобы понять разницу в организации или архитектуре графических процессоров Intel по сравнению с остальными, мы должны понимать, что при использовании NVIDIA или AMD GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР шейдерный блок - это минимальный блок, в случае Intel - это исполнительный блок. из чего именно он состоит? Каждый Execution Unit - это процессор, предназначенный для параллелизма на уровне потока выполнения или полного TLP. Следовательно, у него есть блок управления, записи и соответствующие блоки исполнения. Это два модуля SIMD из 4 32-битных ALU с плавающей запятой и еще 4 целых чисел, которые переключаются и поддерживают SIMD через регистр.

Благодаря SIMD на регистре, разделяя ALU и связанные с ними регистры, они могут работать с удвоенным количеством операндов за такт для каждого точного деления. Таким образом, они могут выполнять в два раза больше 16-битных операций с плавающей запятой, чем 32-битные, но в четыре раза больше, если они 8-битные. Что касается функциональности исполнительных модулей, они отвечают за выполнение шейдерных программ, в конце концов, они эквивалентны модулям SIMD графических процессоров Intel и AMD, и поэтому их задача такая же.

Блоки исполнения Intel Xe

В Intel Xe команда Raja Koduri внесла важное изменение в блок управления, поскольку теперь два блока исполнения используют один блок управления. Изменение, которое очень напоминает то, что AMD внесла в свою архитектуру RDNA, где два вычислительных блока сгруппированы в одну рабочую группу. То, что не должно нас удивлять утечкой мозгов от AMD к Intel. Это изменение означало, что был обновлен блок управления, что, безусловно, представляет собой полное изменение внутренней ISA графических процессоров Intel на гораздо более эффективный.

Sub-Slice, шейдерный блок

Горячие чипы Intel для архитектуры Xe (8)

Эквивалент шейдерных блоков, которые есть у графических процессоров NVIDIA и AMD, мы уже видели, что это не блоки выполнения, а скорее суб-фрагменты. Внутри них вы найдете сгруппированные единицы исполнения. Поскольку каждый Execution Unit является подмножеством подсреза, а Slice - надмножеством подсреза, мы увидим последний позже. В каждом подсрезе находится 16 исполнительных блоков, что в сумме преобразуется в 64 FP32 ALU и 64 целочисленных ALU. Цифра, которая делает эти блоки эквивалентными по необработанной вычислительной мощности их эквивалентам AMD, Compute Units.

Что касается остальных элементов, которые мы можем найти внутри подслоя, они являются классикой устройства этого типа, хотя Intel использует другую номенклатуру, чем обычно. Как обстоит дело с так называемым 3D Sampler, который до сих пор является классическим устройством для обработки и фильтрации текстур, просто Intel дала другое имя этому классическому модулю фиксированной функции, который присутствует во всех процессорах 3D-графики с момента его создания.

Горячие чипы Intel для архитектуры Xe (10)

Однако Media Sampler - гораздо более интересный элемент, поскольку он уникален для графических процессоров Intel и состоит из ряда фиксированных функциональных блоков, а именно:

  • Video Motion Engine обеспечивает оценку движения пикселей, что является ключевым моментом для видеокодеров.
  • Adaptive Video Scalar - это модуль, который выполняет фильтры сглаживания изображения.
  • De-Noise / De-Interlace - это модуль, отвечающий за снижение шума в изображении, с одной стороны, и, с другой стороны, за преобразование видео в чересстрочном режиме в прогрессивный режим.

Начиная с Intel Xe, Media Sampler был исключен из подслоя и стал самостоятельным устройством. Что по-прежнему отличается от разработок NVIDIA и AMD.

Slice, еще одна распространенная деталь в графических процессорах

Горячие чипы Intel для архитектуры Xe (7)

Slice в архитектуре Intel GPU является эквивалентом Shader Engine или GPC в случае NVIDIA. Различные названия для организации единиц друг от друга. Внутри находятся подсистемы и ряд фиксированных функциональных блоков, которые являются общими для графических процессоров других компаний.

Хотя опять же номенклатура может сбивать с толку, например, в остальных архитектурах растровый блок обычно унифицирован и тот, который генерирует буфер глубины, оба элемента встречаются в растровой фазе в общем блоке в случае NVIDIA и AMD, но Intel делает это отдельно.

То же самое касается Pixel Dispatch и Pixel Back-End. Функции блоков ROP, которые здесь выполняют два разных элемента. Ведь в обоих случаях задача одна и та же.

Иерархия кэша Intel GPU

Intel кэширует графический процессор

Одна из отличительных черт общей архитектуры графических процессоров Intel по сравнению с AMD и NVIDIA заключается именно в том, как организована иерархия кеша. В случае AMD мы обнаруживаем, что RX 6000 имеет четырехуровневую иерархию, если мы посчитаем недавно включенные Бесконечный кэш. В случае NVIDIA иерархия кешей отличается от иерархии кешей Intel и AMD, но мы хотим сосредоточить внимание на этой статье не о конкуренции с Intel, поскольку она им не посвящена.

Схема в этом разделе показывает внутреннюю связь внутри графического процессора как на уровне подслоя, так и на уровне фрагмента. В случае подслоя у нас есть классический кеш данных и общая локальная память. Но в отличие от графических процессоров NVIDIA и AMD, Intel традиционно добавляла дополнительный кэш второго уровня, к которому могут обращаться как 2D Sampler, так и Media Sampler. Это делает кеш-память L3 графического процессора кеш-памятью графического процессора верхнего уровня.

Архитектура графического процессора Intel Xe

Различие между кешем L1 для данных и, следовательно, для исполнительных модулей и L2 для текстур изменилось в Intel Xe, где оба были объединены в один кеш L1 данных и текстур. Так что теперь у них полностью стандартная конфигурация по сравнению с конкурирующими графическими процессорами.

Другое изменение касается кеш-памяти L3 или последнего уровня. Современные графические процессоры поддерживают так называемое тайловое кэширование, которое заключается в том, что они растрируют по тайлам, но делают это в кэше последнего уровня, и существует опасность того, что данные попадут в память, где затраты энергии на их восстановление резко возрастут, поэтому Они увеличили его с 3 МБ до 16 МБ.