Введение
Серия интегрированных графических процессоров Intel.
История
Линия GPU GMA заменяет более ранние Intel Extreme Graphics и Intel 740, последняя из которых представляла собой дискретную видеокарту в виде плат AGP и PCI, основанную на технологиях, разработанных компаниями Real3D и Lockheed Martin. Позже Intel интегрировала ядро i740 в северный мост Intel 810. Изначальная архитектура GMA поддерживала лишь ограниченное количество функций аппаратно и полагалась на центральный процессор для обработки как минимум части графического конвейера, что дополнительно снижало производительность. Однако с появлением 4-го поколения архитектуры GMA (GMA X3000) в 2006 году многие функции были реализованы аппаратно, что привело к увеличению производительности. Четвертое поколение GMA сочетает в себе фиксированные функции с потоковым массивом программируемых исполнительных блоков, обеспечивая преимущества как в графике, так и в видеопроизводительности. Многие преимущества новой архитектуры GMA обусловлены возможностью гибкого переключения между задачами, связанными с графикой и видео, в зависимости от потребностей. Хотя производительность GMA в прошлом часто критиковалась за недостаточную скорость для компьютерных игр, иногда получая уничижительное прозвище Intel "GMD" (Graphics Media Decelerator) и фактически считаясь первым в мире "замедлителем графики" со времен малопроизводительного S3 ViRGE, последнее поколение GMA должно снять многие опасения у обычных геймеров. Несмотря на сходство, основная серия интегрированных графических процессоров Intel GMA (IGP) не основана на технологии PowerVR, лицензированной Intel у Imagination Technologies. Intel использовала маломощные разработки PowerVR MBX в чипсетах, поддерживающих платформу XScale, а после продажи XScale в 2006 году лицензировала PowerVR SGX и использовала его в GMA 500 IGP для платформы Atom. С появлением Platform Controller Hub серия Graphics Media Accelerator была прекращена, и была создана серия Intel HD и Iris Graphics, основанная на центральных процессорах.
GMA 900
GMA 900 был первым графическим ядром, выпущенным под брендом Intel Graphics Media Accelerator, и был интегрирован в чипсеты Intel 910G, 915G и 915Gx. 3D-архитектура GMA 900 являлась значительным улучшением по сравнению с предыдущими графическими процессорами Extreme 3D. Это конструкция, способная обрабатывать 4 пикселя за такт, поддерживающая модель пиксельных шейдеров DirectX 9 2.0. Он работает на тактовой частоте от 160 до 333 МГц, в зависимости от конкретного чипсета. При частоте 333 МГц пиковая скорость заполнения пикселей составляет 1332 мегапикселя в секунду. Однако в архитектуре по-прежнему отсутствует аппаратная поддержка трансформации и освещения, а также аналогичные технологии вершинных шейдеров. Как и предыдущие интегрированные графические решения Intel, GMA 900 имеет аппаратную поддержку компенсации движения MPEG 2, преобразования цветовых пространств и наложения DirectDraw. Процессор использует отдельные генераторы тактовой частоты для графического и рендерингового ядер. Графический блок включает в себя RAMDAC с частотой 400 МГц, два последовательных порта DVO с пропускной способностью 25–200 Мпкс/с и два контроллера дисплея. В мобильных чипсетах предусмотрено до двух 18-битных LVDS-передатчиков с частотой 25–112 МГц.
GMA 950
GMA 950 был вторым графическим ядром, выпущенным под брендом Intel Graphics Media Accelerator, и интегрирован в чипсеты Intel 945G. Процессор включает в себя 256-битное ядро с тактовой частотой до 400 МГц, поддерживающее пропускную способность памяти до 10,6 ГБ/с при использовании системной оперативной памяти DDR2 667, до 224 МБ максимального объема видеопамяти через схему DVMT, скорость заполнения 1,6 GPixels/s и 1,6 GTexels/s, максимальное разрешение 2048x1536 для аналоговых и цифровых дисплеев, а также 2 порта SDVO для подключения плоских панелей и/или вывода TV Out через карты ADD2 или мультимедийные карты расширения. В отношении 3D-графики, GMA 950 поддерживает рендеринг до четырех пикселей за такт, аппаратное ускорение Microsoft DirectX 9.0 и Vertex Shader 3.0, а также OpenGL 1.4 с расширениями ARB в операционной системе Windows.
GMA 3100
Интегрированная графика, присутствующая в чипсетах Q33, Q35, G31 и G33. Она поддерживает Pixel Shader 2.0 с OpenGL 1.4, однако аппаратный вершинный шейдер не поддерживается.
GMA 3150
Найден в процессорах Intel Atom D4xx, D5xx, N4xx и N5xx (кодовое название Pineview). Как и GMA 3100 и GMA 3000, является очень близким аналогом GMA900/950, и полностью отличается от серии GMA X3000. Поддерживает до 384 МБ видеопамяти (при использовании драйвера Windows XP), DirectX 9.0c, Shader Model 2.0, OpenGL 1.4 под Microsoft Windows и OpenGL 2.1 под Linux.
GMA 3000
Чипсеты 946GZ, Q963 и Q965 используют графическое ядро GMA 3000. 3D-ядро GMA 3000 значительно отличается от X3000, несмотря на схожесть названий. Оно более тесно связано с графикой предыдущего поколения GMA 900 и GMA 950 и принадлежит к той же семейству "i915". Оно оснащено пиксельными шейдерами, поддерживающими только функции Shader Model 2.0b, а вершинные шейдеры по-прежнему эмулируются программно. Кроме того, аппаратное ускорение видео, такое как аппаратные вычисления iDCT, ProcAmp (независимая цветокоррекция видеопотока) и декодирование VC 1, не реализовано аппаратно. Среди чипсетов с GMA 3000 только Q965 сохраняет поддержку двух независимых дисплеев. Тактовая частота ядра заявлена как 400 МГц при скорости заполнения 1,6 Гпикселя/с в спецификациях, однако в техническом документе указана частота 667 МГц. Контроллер памяти теперь может адресовать максимум 256 МБ системной памяти, а скорость интегрированных последовательных портов DVO увеличена до 270 Мпикселей/с.
GMA X3000
GMA X3000 для настольных компьютеров был "существенно переработан" по сравнению с предыдущими версиями GMA и используется в контроллере северного моста Intel G965. GMA X3000 был представлен в июле 2006 года. Базовое аппаратное обеспечение для 3D-рендеринга GMA X3000 организовано как унифицированный шейдерный процессор, состоящий из 8 скалярных исполнительных устройств. Каждый конвейер может обрабатывать видео, вершины или текстурные операции. Центральный планировщик динамически распределяет потоки по ресурсам конвейера для максимизации пропускной способности (и снижения влияния отдельных остановок конвейера). Однако, из-за скалярной природы исполнительных устройств, они могут обрабатывать данные только по одному компоненту пикселя за раз. GMA X3000 поддерживает DirectX 9.0 с функциями Shader Model 3.0 для вершин и пикселей. Процессор состоит из различных тактовых доменов, что означает, что вся микросхема не работает на одной и той же тактовой частоте. Это создает определенные трудности при измерении пиковой пропускной способности его различных функций. Дополнительное замешательство вызывает то, что в техническом описании Intel G965 указана частота 667 МГц, а в спецификации Intel G965 – 400 МГц. Существуют различные правила, определяющие вычислительные возможности IGP, при работе обоих графических ядер на частоте 667 МГц. Основное различие между ними заключается в том, что GMA X3500 поддерживает Shader Model 4.0 и DirectX 10, в то время как более ранняя модель X3000 поддерживает Shader Model 3.0 и DirectX 9, а также Shader Model 4.0 и OpenGL 1.5. Под Linux поддерживается OpenGL 2.1.
GMA 4500MHD
GMA 4500MHD для ноутбуков был представлен 16 июля 2008 года. По своим характеристикам 4500MHD полностью идентичен настольной версии X4500HD. GMA 4500MHD используется в чипсетах GL40, GS40, GM45 и GS45.
GMA X4700MHD
GMA X4700MHD для ноутбуков был представлен в октябре 2008 года. Это последний продукт линейки Intel GMA. По сути, он является развитием серии 4500MHD и используется в чипсетах GM47, Montevina. Он оснащен 80 шейдерными блоками, 10 блоками текстурирования и 1 ROP. По сравнению с 4500MHD, его частота увеличена до 640 МГц.
Серия PowerVR GPU
Intel разработала новый набор графической архитектуры с низким энергопотреблением на основе PowerVR. Существующие драйверы Linux поддерживают лишь малую часть её функциональности.
GMA 500
Intel SCH (System Controller Hub; кодовое название Poulsbo) для процессоров серии Atom Z5xx оснащен графической системой GMA 500. Это ядро, PowerVR SGX 535, лицензированное у Imagination Technologies, было разработано не собственными силами Intel. Intel описывает его как "гибкую, программируемую архитектуру, поддерживающую шейдерные технологии, 2D, 3D и продвинутую 3D-графику, декодирование видео высокой четкости и обработку изображений. К его особенностям относятся тайлинг экрана, внутренняя обработка true color, антиалиасинг без потерь производительности, программируемый 3D-ускоритель шейдеров и 32-битные операции с плавающей точкой".
ГМА
Intel представила платформу Atom Z24xx (Medfield) как серию ультранизкоэнергопотребляющих процессоров для смартфонов. Хотя Intel заявляет, что в этот чип входит Intel Graphics Media Accelerator, они не указывают номер модели графического процессора. Известно, что этот графический процессор – PowerVR SGX540.
GMA 600
Пересмотренная версия предыдущего Intel SCH (System Controller Hub) для процессоров Atom Z6xx с кодовым названием Lincroft. По сути, это та же графическая система, что и GMA 500, но работающая на удвоенной частоте (с 200 МГц до 400 МГц).
GMA 3600
Эта интегрированная графическая система была выпущена для процессоров Intel Atom (Cedar Trail, 32 нм) и основана на PowerVR SGX545. В отличие от оригинального решения PowerVR, эта модель имеет тактовую частоту 400 МГц вместо 200 МГц. Она используется в процессорах Intel Atom N2600 и моделях Atom D2500. Она поддерживает версию DirectX 9.0c.
GMA 3650
Похожа на GMA 3600, но эта версия имеет тактовую частоту 640 МГц. PAVP можно настроить в BIOS. Поддерживаются различные режимы:
Отключено. PAVP Lite: резервирует буферную память для шифрования сжатых видеоданных. Paranoid PAVP (Параноидальный PAVP): резервирует память во время загрузки, которая не видна операционной системе. Это отключает Windows Aero в Windows Vista. Настройка по умолчанию в большинстве BIOS – PAVP Lite. В Intel HD Graphics, преемнике Intel GMA, существует аналогичная технология под названием Intel Insider.
Mac OS X
Mac OS X 10.4 Tiger поддерживает GMA 950, поскольку он использовался в предыдущих версиях MacBook, Mac mini и 17-дюймового iMac. Он использовался во всех Mac mini на базе Intel до Mac mini, выпущенного 3 марта 2009 года. Mac OS X 10.5 Leopard содержит драйверы для GMA X3100, которые были использованы в обновленной версии линейки MacBook. Поздние выпуски Mac OS X 10.4 также поддерживали GMA 900 благодаря его использованию в Apple Developer Transition Kit (2005), который применялся при переходе с PowerPC на Intel. Однако для включения Core Image и Quartz Extreme необходимо внести специальные изменения в файл kext. Хотя новая линейка MacBook больше не использует X3100, Mac OS X 10.5 поставлялась с драйверами, поддерживающими его, и для которых не требовались изменения в файле kext. Mac OS X 10.6 (Snow Leopard), включающая новое 64-битное ядро в дополнение к 32-битному, не содержит 64-битных драйверов X3100. Это означает, что, несмотря на наличие 64-битных процессоров и EFI в MacBooks с X3100, Mac OS X должна загружать 32-битное ядро для поддержки 32-битных драйверов X3100. Обновление 10.6.2 от 9 ноября поставлялось с 64-битными драйверами X3100. Позже Apple удалила 64-битные драйверы GMA X3100, в результате чего пострадавшие Mac были вынуждены вернуться к 32-битному ядру, несмотря на полную аппаратную и программную 64-битную совместимость. В OS X Lion 64-битные драйверы не предлагались. Впоследствии OS X Mountain Lion отказалась от загрузки 32-битного ядра. Сочетание этих двух изменений в коде графического драйвера привело к тому, что многие модели Mac не смогли обновиться до Mountain Lion, поскольку их графические процессоры нельзя заменить. В течение некоторого времени ноутбуки MacBook и MacBook Pro поставлялись с гораздо более мощным NVIDIA GeForce 9400M, а 15- и 17-дюймовые MacBook Pro – с дополнительным GeForce 9600GT, поддерживающим технологию переключения между графическими процессорами для экономии энергии. Чипсет NVIDIA GeForce 9400M, используемый в Apple MacBooks, не поддерживал композитный или S-Video выход.
FreeBSD
FreeBSD 8.0 поддерживает следующие графические чипсеты Intel: i810, i810 DC100, i810e, i815, i830M, 845G, 852GM, 855GM, 865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM, 945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43 и G41. На практике, чипсеты, включая 4500MHD, поддерживаются с использованием DRM и 3D в FreeBSD 9. В настоящее время ведется работа по интеграции GEM и KMS, что добавляет поддержку интегрированной графики серии i и улучшает поддержку более ранних чипсетов.
Линукс
В августе 2006 года Intel добавила поддержку драйверов X.Org/XFree86 с открытым исходным кодом для новейших серий 965, включающих ядро GMA (X)3000. Эти драйверы были разработаны для Intel компанией Tungsten Graphics. В мае 2007 года была выпущена версия 2.0 драйвера (xorg video intel), добавившая поддержку чипсета 965GM. Кроме того, драйвер 2.0 добавил поддержку нативной программной настройки видеорежимов для всех чипсетов, начиная с i830. Эта версия добавила поддержку автоматического определения и выбора видеорежима, горячего подключения мониторов, динамически расширяемых и объединенных рабочих столов, а также поворота экрана для каждого монитора. Эти функции встроены в выпуск X.Org 7.3 X server и в конечном итоге будут поддерживаться большинством видеодрайверов X.Org с открытым исходным кодом. Версия 2.1, выпущенная в июле 2007 года, добавила поддержку чипсетов G33, Q33 и Q35. Чипсет G35 также поддерживается драйвером Linux. Как это обычно бывает с драйверами X.Org в Linux, лицензия представляет собой комбинацию GPL (для частей ядра Linux) и MIT (для всех остальных частей). Драйверы в основном разрабатывались Intel и Tungsten Graphics (по контракту), поскольку документация на чипсеты долгое время оставалась недоступной для публичного доступа. В январе 2008 года Intel опубликовала полную документацию для разработчиков для своих, на тот момент, новейших чипсетов (965 и G35), что позволило привлечь больше внешних разработчиков. В апреле 2009 года Intel опубликовала документацию для своих новых графических чипсетов G45 (включая X4500). В мае 2009 года сотрудница Intel Эмма Анхолт заявила, что Intel "всё ещё работает над публикацией документации для чипсетов [8xx]".
Ускорение H.264 через VA-API
Поддержка Linux для аппаратного ускоренного воспроизведения H.264 реализована и функционирует для X4500HD и X4500MHD посредством VAAPI и ветки g45 h264.
Чипы PowerVR на базе Linux
GMA 500, GMA 600, GMA 3600, GMA 3650 – это чипы на основе PowerVR, несовместимые с архитектурой GPU Intel GenX. Драйверов FOSS с поддержкой Intel нет. Существующие драйверы FOSS (включенные в Linux 3.3 и более поздние версии) поддерживают только 2D-ускорение (не 3D-ускорение). Joli OS, операционная система на базе Linux, оптимизированная для нетбуков, имеет встроенный драйвер для GMA500. PixieLive, дистрибутив Linux, оптимизированный для нетбуков GMA500, может загружаться с USB-накопителя, SD-карты или жесткого диска. Intel выпускает официальные драйверы Linux через IEGD (Intel Embedded Graphic Driver), поддерживающие некоторые дистрибутивы Linux, предназначенные для встраиваемых систем. В ноябре 2009 года Linux Foundation опубликовала информацию о новом, переписанном драйвере Linux, который должен поддерживать этот чипсет и другие будущие чипсеты Intel. Компоненты Direct Rendering Manager и X.org будут распространяться как свободное программное обеспечение, но 3D-компонент (использующий Gallium3D) останется проприетарным.
Солярис
Oracle Solaris 11 обеспечивает поддержку 64-битных видеодрайверов для следующих графических чипсетов Intel: i810, i810 dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45, 4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale, Sandybridge Desktop (GT1), Sandybridge Desktop (GT2), Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1), Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+), Ivybridge Mobile (GT1), Ivybridge Mobile (GT2), Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server (GT1) и Ivybridge Server (GT2). Разработчики сообщества Solaris с открытым исходным кодом предоставляют дополнительную поддержку драйверов для графических чипсетов Intel HD Graphics 4000/2500 (также известных как Ivy Bridge), OpenGL 3.0/GLSL 1.30 и новой библиотеки libva/va api, обеспечивающей аппаратное ускорение декодирования видео для современных стандартов кодирования (MPEG 2, MPEG 4 ASP/H.263, MPEG 4 AVC/H.264 и VC 1/WMV3).
GMA 900 в Windows
GMA 900 теоретически способна работать с интерфейсом Aero в Windows Vista (и 7) и сертифицирована как совместимая с DirectX 9. Однако, ни один сертифицированный WHQL драйвер WDDM не был выпущен. Вероятно, это связано с отсутствием "аппаратного планировщика" в графическом процессоре. Intel GMA 900 также является первым интегрированным графическим процессором Intel, лишенным поддержки и драйверов для операционных систем Windows 9x (включая 98 и ME). Многие владельцы оборудования GMA900 полагали, что смогут запустить Aero на своих системах, поскольку ранние сборки Vista позволяли драйверам XDDM работать с Aero. Однако Intel утверждает, что финальные спецификации Microsoft для сертификации Aero/WDDM не допускали выпуска драйвера WDDM для GMA900 (из-за проблем с аппаратным планировщиком, как упоминалось выше), поэтому с выходом финальной версии Vista драйвер WDDM так и не был выпущен. Последнее удаление функциональности OpenGL из драйверов GMA для Windows Vista привело к тому, что многие рабочие станции на базе GMA оказались неспособны выполнять базовое 3D-аппаратное ускорение с использованием OpenGL и запускать многие приложения Vista Premium, такие как Windows DVD Maker. В Windows 8 эффекты Aero включены через драйвер совместимости VGA с использованием программной отрисовки. Для Windows 8 нет нативных драйверов GMA900, поскольку поддержка XDDM была удалена из этой операционной системы. На ноутбуках на базе GMA900 с Windows 7 пользователи могут столкнуться с серьезной ошибкой, связанной с тем, что встроенный метод управления подсветкой чипсета перестает изменять яркость, в результате чего она фиксируется на определенном значении после установки драйвера. Эта ошибка не возникала при первоначальном выпуске Windows 7 и обычно проявляется после установки обновлений Windows Update. Эта ошибка также наблюдается на ноутбуках на базе GMA3150.
GMA 950 в Windows
Этот IGP способен отображать интерфейс Aero для Windows Vista. Драйверы поставляются вместе с Windows Vista, начиная с выхода бета-версий в середине 2006 года. Он также поддерживает интерфейс Aero в Windows 7, поскольку Intel выпустила драйверы для Windows 7 в середине июня 2009 года. GMA 950 интегрирован во многие нетбуки на базе чипсета Intel 945GSE Express и способен отображать разрешение до 2048×1536 при частоте 75 Гц, используя до 224 МБ выделенной памяти. Большинство обзоров этого IGP были негативными, поскольку многие игры (например, Splinter Cell: Chaos Theory или Oblivion) требуют Pixel Shader 2.0 или выше, который поддерживается аппаратно, и Vertex Shader 2.0, который эмулируется программно. Другие игры, такие как Crysis, запускаются, но с частотой кадров ниже приемлемой.
GMA X3000/X3100 в Windows
T&L и Vertex Shaders 3.0 поддерживаются новейшими драйверами 15.6 Intel для Windows Vista, начиная с 2 сентября 2007 года. Поддержка XP для VS3 и T&L была добавлена 10 августа 2007 года. В марте 2007 года Intel объявила о доступности бета-драйверов в июне 2007 года. 1 июня 2007 года были выпущены драйверы "pre beta" (или Early Beta) для Windows XP (но не для Vista). Бета-драйверы для Vista и XP были выпущены 19 июня. Поскольку аппаратные T&L и шейдеры вершин включены в драйверах, отдельные приложения могут быть принудительно переключены на программный рендеринг, что в некоторых случаях повышает производительность и совместимость. Выбор осуществляется на основе тестирования Intel и задается в файле информации о драйвере. Intel выпустила драйверы финальной версии для 32-битных и 64-битных Windows Vista, обеспечивающие поддержку графики Aero. Intel представила DirectX 10 для графических процессоров X3100 и X3500 в драйверах Vista 15.9 в 2008 году, однако выпуск драйверов DX10 для X3000 остается под вопросом. WDDM 1.1 поддерживается X3100, но DXVA HD – нет. Поддержка OpenGL 2.0 доступна начиная с драйверов Vista 15.11 и XP 14.36. Windows 8 поставляется с драйвером для X3100.
Современные игры
Производительность и функциональность процессоров GMA ограничены, достигая в лучшем случае уровня недорогих дискретных видеокарт, а в худшем – очень старых видеокарт DirectX 6 (таких как RIVA TNT2). Поэтому их иногда даже называют "Graphics Media Decelerators", хотя реальная производительность также зависела от процессора, объема и скорости оперативной памяти. Например, связка Atom N450 и GMA 3150 по производительности сопоставима с 10-летней системой на базе RIVA TNT2 и Tualatin Pentium 3, а иногда графический процессор даже работал на пониженной частоте, что еще больше снижало и без того низкую производительность. Некоторые функции игр и других 3D-приложений могут быть не поддерживаться GMA, особенно более старыми моделями. Единая архитектура шейдеров GMA X3x00 обеспечивает более полную аппаратную функциональность, но эта линейка по-прежнему имеет проблемы с некоторыми играми и обладает значительно ограниченной производительностью. Intel опубликовала страницу с описанием "известных проблем и решений" для каждой версии. Для вопросов разработки программного обеспечения для Intel Graphics Media Accelerator существует Форум разработчиков интегрированной графики.
Обзор GMA X3000
В апреле 2007 года в обзоре, проведенном The Tech Report, было установлено, что производительность GMA X3000 сопоставима с Nvidia GeForce 6150. В ходе этого обзора GMA X3000 не удалось запустить такие компьютерные игры, как Battlefield 2 и Oblivion. Однако, в обзоре ExtremeTech было отмечено, что менее требовательные к графике игры, такие как The Sims 2 и Civilization IV, "выглядят хорошо" при использовании GMA X3000. Обзоры, проведенные The Tech Report, ExtremeTech и Anandtech, пришли к единому мнению, что интегрированное графическое решение AMD Radeon X1250 на базе чипсета AMD 690G является более предпочтительным, чем GMA X3000 на базе чипсета G965, особенно учитывая производительность в 3D-играх и цену.
Обзор GMA X3500
В обзоре, опубликованном Register Hardware в декабре 2007 года, GMA X3500 использовался для запуска Crysis и F.E.A.R. Extraction Point, где он смог отображать всего 4 и 14 кадров в секунду соответственно в каждой игре. В итоге обзор пришел к выводу, что в целом X3500 продемонстрировал лишь незначительное улучшение по сравнению с GMA X3000.