ARM Mali
ARM Mali — это семейство графических процессоров (GPU) и видеодекодеров, разрабатываемых британской компанией ARM Holdings (ныне входит в состав SoftBank Group). Архитектура Mali предназначена для интеграции в системы на кристалле (SoC) на базе процессоров ARM Cortex, используемых в мобильных устройствах (смартфонах, планшетах), встраиваемых системах, телевизионных приставках, автомобильных информационно-развлекательных системах и других устройствах с ограниченным энергопотреблением. Основными конкурентами Mali являются графические решения Imagination Technologies (PowerVR) и Qualcomm (Adreno).
История
Разработка графических процессоров под брендом Mali началась в середине 2000-х годов. Первым коммерчески доступным GPU семейства стал Mali-200, представленный в 2007 году. Он поддерживал OpenGL ES 1.1 и OpenVG 1.1, обеспечивая базовую 2D- и 3D-графику для мобильных телефонов.
В 2008 году вышла серия Mali-300, которая добавила поддержку OpenGL ES 2.0, что позволило реализовывать более сложные шейдерные эффекты. Эти GPU применялись в недорогих смартфонах и медиаплеерах.
Значительный прорыв произошёл в 2011 году с выходом Mali-400 MP. Этот GPU стал первым многоядерным решением ARM, поддерживающим до четырёх ядер. Он получил широкое распространение в SoC Samsung Exynos (например, Exynos 4210, 4412), используемых в смартфонах Samsung Galaxy S2, Galaxy S3 и Galaxy Note. Mali-400 MP обеспечивал производительность, достаточную для игр того времени, и стал одним из самых массовых мобильных GPU.
В 2012 году была представлена серия Mali-T600, построенная на новой архитектуре Midgard. Она поддерживала OpenGL ES 3.0, OpenCL 1.1 и DirectX 11 (на уровне Feature Level 9_3). GPU этой серии, такие как Mali-T604 и Mali-T628, применялись в SoC Exynos 5 Dual и Exynos 5 Octa.
Следующим этапом стало семейство Mali-T700/T800 (архитектура Midgard 2-го поколения), выпущенное в 2013-2014 годах. Эти GPU поддерживали OpenGL ES 3.1, OpenCL 1.2 и Renderscript. Они использовались в SoC MediaTek, HiSilicon Kirin и Exynos.
В 2015 году ARM представила архитектуру Bifrost, которая пришла на смену Midgard. Первым GPU на новой архитектуре стал Mali-G71. Он обеспечивал значительный прирост производительности и энергоэффективности, поддерживал Vulkan 1.0, OpenGL ES 3.2 и DirectX 12. Mali-G71 применялся в SoC HiSilicon Kirin 960 (Huawei Mate 9, P10) и Samsung Exynos 8895 (Galaxy S8).
В 2017 году вышла серия Mali-G72 (архитектура Bifrost 2-го поколения) с улучшенной производительностью машинного обучения. В 2018 году — Mali-G76 (Bifrost 3-го поколения), которая добавила поддержку Vulkan 1.1 и улучшила производительность в играх.
С 2019 года ARM перешла на архитектуру Valhall. Первым GPU на ней стал Mali-G77, за которым последовали Mali-G78 (2020), Mali-G610/G710 (2021), Mali-G615/G715 (2022) и Mali-G720 (2023). Архитектура Valhall ориентирована на высокую производительность в играх, поддержку трассировки лучей (начиная с Mali-G710) и задачи искусственного интеллекта.
Архитектура
Графические процессоры Mali имеют модульную архитектуру, которая масштабируется за счёт добавления ядер. Основные компоненты:
- Ядра шейдеров (Shader Core) — выполняют вершинные, фрагментные и вычислительные шейдеры. В архитектуре Bifrost и Valhall ядра объединены в кластеры (Execution Engine), каждый из которых содержит несколько исполнительных блоков.
- Блок растеризации (Rasterizer) — преобразует геометрические данные в пиксели.
- Блок текстурирования (Texture Unit) — отвечает за выборку и фильтрацию текстур.
- Кэш-память — включает L1-кэш для каждого ядра и общий L2-кэш для всего GPU.
- Контроллер памяти — обеспечивает доступ к системной памяти (DRAM) через шину AMBA.
Особенностью архитектуры Mali является использование унифицированных шейдерных процессоров, которые могут выполнять как вершинные, так и фрагментные шейдеры, что повышает гибкость загрузки.
Классификация
Семейство Mali делится на несколько серий в зависимости от архитектуры и целевого рынка:
По архитектуре
- Utgard (Mali-200, Mali-300, Mali-400, Mali-450, Mali-470) — устаревшая архитектура, поддерживает OpenGL ES 2.0 и OpenVG. Использовалась в бюджетных устройствах до 2015 года.
- Midgard (Mali-T600, T700, T800) — поддерживает OpenGL ES 3.0/3.1, OpenCL 1.1/1.2, DirectX 11. Применялась в смартфонах среднего и высокого сегмента 2012-2016 годов.
- Bifrost (Mali-G31, G51, G52, G71, G72, G76) — поддерживает Vulkan 1.0/1.1, OpenGL ES 3.2, DirectX 12. Используется в устройствах с 2016 года по настоящее время.
- Valhall (Mali-G57, G68, G77, G78, G610, G710, G615, G715, G720) — современная архитектура, поддерживает Vulkan 1.1/1.2, трассировку лучей (начиная с G710), машинное обучение. Применяется в SoC HiSilicon Kirin, Samsung Exynos, MediaTek Dimensity.
По производительности
ARM выделяет три основные линейки:
- Mali-G серия — высокопроизводительные GPU для флагманских смартфонов и планшетов. Примеры: Mali-G78, Mali-G710.
- Mali-G серия (средний сегмент) — GPU для устройств среднего класса. Примеры: Mali-G52, Mali-G57.
- Mali-серия (бюджетный сегмент) — GPU для недорогих устройств. Примеры: Mali-400, Mali-450, Mali-G31.
Применение
GPU Mali широко используются в SoC различных производителей:
- Samsung Exynos — Mali-G71, G72, G76, G77, G78, G710. Например, Exynos 2100 использует Mali-G78 MP14.
- HiSilicon Kirin — Mali-G71, G72, G76, G77. Например, Kirin 990 5G использует Mali-G76 MP16.
- MediaTek Dimensity — Mali-G57, G68, G77, G78, G610, G710. Например, Dimensity 9200 использует Mali-G715.
- Rockchip — Mali-400, Mali-T760, Mali-G52. Используются в бюджетных планшетах и ТВ-приставках.
- Allwinner — Mali-400, Mali-G31. Применяются в недорогих медиаплеерах.
Также GPU Mali встречаются в автомобильных системах (например, Qualcomm Snapdragon Automotive, но чаще — в SoC от Renesas и NXP), смарт-телевизорах (на базе SoC MediaTek) и устройствах Интернета вещей.
Производительность и конкуренция
Производительность GPU Mali оценивается по нескольким критериям:
- Графическая производительность — измеряется в FPS (кадрах в секунду) в бенчмарках (GFXBench, 3DMark). Флагманские GPU Mali (например, G78 MP24) сопоставимы с Qualcomm Adreno 660/670 и Apple A14 Bionic GPU.
- Энергоэффективность — измеряется в FPS на ватт. Mali традиционно считается более энергоэффективным, чем Adreno, но уступает Apple GPU.
- Вычислительная производительность — для задач машинного обучения и компьютерного зрения. Mali поддерживает OpenCL и Vulkan Compute, что позволяет использовать его для нейросетевых вычислений.
Основные конкуренты:
- Qualcomm Adreno — доминирует в сегменте Android-смартфонов. Преимущества: лучшая поддержка драйверов и оптимизация в играх.
- Imagination PowerVR — используется в SoC Apple (до 2017 года) и некоторых MediaTek. Отличается высокой производительностью на ватт.
- AMD RDNA — используется в консолях и некоторых SoC Samsung Exynos (начиная с Exynos 2200). Обеспечивает высокую производительность, но требует больше энергии.
Поддержка программного обеспечения
GPU Mali поддерживают следующие графические API:
- OpenGL ES 2.0, 3.0, 3.1, 3.2 — основной API для мобильных игр.
- Vulkan 1.0, 1.1, 1.2 — современный низкоуровневый API, обеспечивающий высокую производительность.
- OpenCL 1.1, 1.2, 2.0 — для вычислительных задач.
- DirectX 11, 12 — для Windows-совместимых устройств (например, в планшетах на Windows RT).
- Renderscript — для Android-приложений.
Драйверы для GPU Mali разрабатываются ARM и интегрируются в операционные системы (Android, Linux, Windows). Для Android используется графический стек Gralloc и HWComposer. Для Linux — открытый драйвер Panfrost (часть проекта Mesa), который обеспечивает поддержку Mali-G серии.
Критика
Основные недостатки GPU Mali:
- Драйверы — исторически драйверы ARM для Android считались менее оптимизированными, чем у Qualcomm. Это приводило к снижению производительности в играх и появлению графических артефактов.
- Производительность в играх — в некоторых тестах Mali уступает Adreno при одинаковой пиковой производительности из-за худшей оптимизации драйверов.
- Отсутствие поддержки трассировки лучей в старых моделях — до Mali-G710 трассировка лучей не поддерживалась, что ограничивало возможности для современных игр.
- Закрытый код — ARM не публикует полные спецификации и драйверы, что затрудняет разработку открытых драйверов (Panfrost поддерживает не все модели).
Интересные факты
- Название «Mali» происходит от имени древнего государства Мали в Западной Африке.
- Первый GPU Mali (Mali-55) был разработан в 2005 году, но не нашёл коммерческого применения.
- Самый производительный GPU Mali на 2023 год — Mali-G720, используемый в SoC MediaTek Dimensity 9300.
- GPU Mali используются не только в мобильных устройствах, но и в некоторых микроконтроллерах (например, STM32MP1).
Источники
- ARM Holdings. «Mali GPU Architecture Overview». ARM Developer Documentation.
- AnandTech. «ARM’s Mali GPU Family: From Midgard to Valhall». 2019-2022.
- Wikipedia. «Mali (GPU)». (Статья на английском языке).
- Phoronix. «Panfrost: Open-Source Mali GPU Driver for Linux». 2020-2023.
- Notebookcheck. «Benchmarks of Mali-G78, G710, G720». 2021-2023.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →