Статьи

Графические процессоры ARM Mali: большой путь малыша из Средиземья

Евгений Лебеденко / 09.06.2012 / 11:56

В последнее время жаловаться на судьбу компании ARM не приходится. Смартфонно-планшетная революция, о необходимости которой так долго мечтали потребители и производители гаджетов, совершилась. И решения ARM сыграли в ее победе далеко не последнюю роль. Чрезвычайно энергоэффективные, но при этом достаточно производительные вычислительные платформы, предлагаемые инженерами ARM, позволили ключевым чипмейкерам разработать системы на чипе (SoC), являющиеся основой сотен миллионов мобильных устройств и встраиваемых решений.

В этом смысле — с точки зрения эффективности бизнеса — ARM со своими RISC-процессорами попала в высший эшелон производителей решений для кремниевого «железа», став рядом с такими гигантами, как Intel и AMD.

Но взобраться на вершину — вовсе не означает закрепиться на ней навечно. Рынок — штука очень переменчивая, и та же компания Intel не сидит на месте, наблюдая за успехами ARM в отрасли мобильных устройств. Проходящая ныне в Тайбэе выставка Computex иллюстрирует активный ответ Intel миру мобильных решений. Ультрабуки на основе 22-нанометровой технологии Ivy Bridge, с трехмерными (Tri-Gate) транзисторами демонстрируют впечатляющую производительность и энергоэффективность. И при этом их формфакторы стирают рамки между привычными нам ноутбуками и трендом последних лет — планшетами. А интегрированная в процессорный чип графическая подсистема Intel HD Graphics (4000 для продвинутых решений и 2500 для бюджетных девайсов) вплотную приближает графические возможности мобильных устройств к производительности их настольных собратьев с дискретной графикой.

Впрочем, в области графических подсистем у ARM также имеется вполне достойный ответ CISC-чипмейкерам. Ее решение интегрированной графической подсистемы, технология Mali, буквально за несколько лет выросло из «гадкого утенка» в высокопроизводительное GPGPU-решение, составляющее конкуренцию не только рынку интегрированной  графики Intel и AMD, но и продукции таких матерых игроков мобильного GPU-рынка, как, к примеру, Imagination Technologies.

Достаточно вспомнить, что бестселлер рынка смартфонов, Samsung Galaxy S II, да и его преемник Galaxy S III, используют графический процессор Mali-400 MP.  А старший брат, графический процессор Mali-T658, представленный ARM в ноябре прошлого года, предлагает просто невероятный для мобильных устройств пользовательский опыт.                                          

Как же устроены GPU Mali? В чем преимущества их совместного использования с процессорными решениями ARM? Каковы их перспективы? Попробуем ответить на эти вопросы.

Норвежские родители и хорватское имя малыша из Средиземья

История появления GPU Mali уникальна сама по себе. Начать стоит с того, что корни у технологии Mali — норвежские, а вот имя — хорватское (Mali на хорватском означает, конечно же, «малыш»).

В 1999 году студент норвежского Университета науки и технологии в Трондхейме Эдвард Соргард (Edvard Sorgard) задумался о своей будущей карьере. С детства очарованный возможностями компьютерной графики, которые ему демонстрировал подаренный родителями Commodore-64, Эдвард изо всех сил мечтал разработать самый лучший в мире графический чип.

В своих честолюбивых мечтах он был вовсе не одинок. В 2001 году Эдвард Соргард с несколькими однокурсниками создает компанию Falanx. Бизнес-план у Falanx был прост — разработать архитектуру графического процессора для рынка персональных компьютеров, которую потом лицензировать разработчикам чипов. То есть стать fabless-производителем, по типу компании ARM.

Сложностей в реализации этого бизнес-плана было море, начиная с недоверия потенциальных инвесторов, «проколовшихся» с мыльным пузырем доткомов, небольшим предпринимательским опытом вчерашних студентов и астрономической суммой, которая требовалась для успешного старта проекта. Однако все они компенсировались интересной идеей архитектуры интегрированного GPU и энтузиазмом команды разработчиков.

От идеи до ее реализации в референс-дизайн на бумаге прошло четыре долгих и трудных года.

В 2005-м случилось статистически невероятное событие. Команда разработчиков во главе с Эдвардом Соргардом начала поиски потенциального покупателя их решения. В это же время руководство компании ARM поручило Джему Девису (Jem Davies), вице-президенту по мультимедиа-технологиям, найти стартап, разрабатывающий графические процессоры, с помощью которого ARM смогла бы достойно ворваться на рынок GPU.

Команда Falanx смогла убедить Джема в своей способности реализовать разработанную ими GPU-архитектуру Udgard (в норвежской мифологии — место обитания богов) и довести до ума уникальные решения будущей архитектуры Midgard (Средиземье — место, где боги и люди живут бок о бок). Так, Falanx влилась в ARM, став ее норвежским подразделением, отвечающим за графику. Спустя год команда Эдварда Соргарда выдала на гора первую физическую реализацию архитектуры Udgard — графический процессор Mali-200.

Архитектура Udgard. От Mali-200 к многоядерному Mali-400 MP

Реализация GPU Mali-200 в кремнии и его тесная интеграция с бестселлером рынка того времени процессором ARM1176JZFS позволила компании ARM прочно закрепиться на рынке устройств с графическими дисплеями — мобильных телефонов, медиаплееров, навигаторов, фоторамок, терминалов встраиваемых систем.

Реализованный по 65-нанометровой технологии, чип Mali-200 площадью 4,1 мм2  обладал всего двумя графическими процессорными модулями — блоком вершинных шейдеров (vertex processor) и фрагментным процессором (fragment processor), работавшими на частоте 275 МГц. Их производительность (16 миллионов полигонов в секунду в 3D и 275 миллионов пикселей в секунду в 2D) не впечатляла.

Первой ласточкой архитектуры Udgard стал «малыш» Mali-200.

Однако у архитектуры Udgard, на базе которой и был создан Mali-200, был припрятан козырь в рукаве. Им стали собственный модуль управления памятью (MMU — Memory Management Unit) и модуль интеграции с интерфейсом AMBA 3 — шиной, обеспечивающей взаимодействие процессорного ядра ARM с другими компонентами SoC. Благодаря этому козырю графические ядра Mali-200 получали доступ ко всей оперативной памяти чипа. Поддержка же спецификации шины AMBA обеспечивала доступ к графическим возможностям Mali-200 массе совместимой с этим стандартом периферии. Вместе с «железными» решениями команда Mali обеспечила разработчиков множеством API-функций, средствами программирования и кучей примеров кода графических приложений (Mali Software). Благодаря этому Mali-200 был совместим со стандартом 2D векторной графики OpenVG 1.1, стандартами 2D/3D графики OpenGL ES 1.1 и 2.0 (причем с последним он работал на Full HD-разрешении), а также с другими открытыми спецификациями Khronos Group.

О шустрости Mali-200 можно судить по многочисленным реализациям графического интерфейса пользователя — например таком, от компании DigitalAria.

Останавливаться на достигнутом команда Mali не планировала. Следующим ее шагом, ставшим промежуточным Udgard-решением, был GPU Mali-300. Чип стал, как говорится, работой над ошибками предшественника. В логику его работы была включена небольшая (8 килобайт), зато оптимизированная для графических данных кэш-память второго уровня, а также поддержка новинок ARM семейства Cortex — процессоров Cortex-A8 и Cortex-A9. Выросла и производительность двух графических процессоров Mali-300, получив двукратный прирост на базовой частоте 275 МГц и трехкратный на новой для чипов Mali частоте 400 МГц.

Главный же бестселлер архитектуры Udgard, GPU Mali-400 MP, появился на свет после тесного сотрудничества команды Эдварда Соргарда с архитекторами технологии MPCore, привносящей в продукты ARM многоядерность и симметричную многопроцессорность.

Архитектурно Mali-400 MP не отличался от своего предшественника. Разве что технология производства стала 45-нанометровой (позже 32-нанометровой) и объем кэш-памяти второго уровня увеличился до 256 килобайт.

Графический процессор Mali-400 MP стал первым ARM GPU на базе многоядерной архитектуры MPCore.

Это увеличение было необходимо, поскольку в новом чипе фрагментных процессоров стало в четыре раза больше. Фактически Mali-400 MP стал первым GPU от ARM, обеспечивающим масштабирование производительности. В пиковом режиме со всеми четырьмя ядрами, работающими на частоте 400 МГц, чип обеспечивал обработку 1,6 миллиарда пикселей в секунду! А традиционная для Udgard тесная интеграция с процессорными ядрами ARM и периферией, а также управляемый доступ к памяти системы обеспечили Mali-400 MP высочайшую популярность.

Графическое решение на его основе было лицензировано компанией Samsung в ее SoC Exynos, четвертая версия которой стала основой практически всей линейки устройств Galaxy. Кроме Samsung, Mali-400 MP лицензировали производители чипов для развивающегося рынка планшетов — компании RockChip, TeleChips, AllWinner Technology.

Благодаря тесной интеграции графического и вычислительного ядер решения Mali приобрели широчайшую популярность у производителей.

Победное шествие архитектуры Udgard между тем было всего лишь прелюдией к апофеозу команды Mali — архитектуре Midgard, базовые решения которой Эдвард  Соргард сотоварищи разработал еще в Falanx.

Архитектура Midgard. Графическое Средиземье ARM                

Оглянемся по сторонам. Мир современных цифровых устройств помешан на высоком разрешении. Формат Full HD по нынешним временам уже анахронизм. Даешь разрешение 4k (Quad Full HD — 4096x2160 пикселей) и даже безымянное пока 5k (5120x2700 пикселей). Даешь Retina-дисплеи с невероятной плотностью пикселей на дюйм поверхности. Потребитель быстро привыкает к хорошему.

Однако не стоит забывать, что обслуживать подобную 4-5k роскошь должен GPU с соответствующей ей производительностью. Умудряющийся при таком разрешении ворочать все более детальную 3D-графику с приличной частотой кадров. Простые подсчеты всех этих пикселей, разрядности глубины цвета и частоты кадров показывают, что нынешние GPU, в том числе и мобильные, должны как минимум в 50 раз превосходить по производительности своих предшественников. Наряду с этой гонкой производительности разработчики девайсов хотят видеть масштабируемое GPU-решение, не требующее существенной переориентации при его использовании — например, в мобильниках с расширенной функциональностью, продвинутых смартфонах, планшетах или автомобильной электронике.

Команда ARM Mali давно была готова к такому прорыву в области графических систем. Ее архитектура Midgard сможет обеспечить SoC следующего поколения масштабируемой высокопроизводительной графической подсистемой. Более того, первые ласточки Midgard уже реализованы и работают в конкретных устройствах.

Графический чип Mali-T604, анонсированный осенью 2010 года, во многом стал для ARM первенцем. Во-первых, он явился первым GPGPU-процессором ARM, способным обрабатывать не только 2D/3D-графику, но и выполнять вычисления общего назначения, разгружая ядра центрального процессора.

Чип Mali-T604 является GPGPU-решением, управляющимся и с 2D/3D-графикой, и с обычными вычислительными задачами.

Четыре шейдерных ядра Mali-T604, объединяющие в себе vertex- и fragment-процессоры, управляются модулем межъядерного распределения задач, отвечающего за балансировку загрузки процессоров, что в целом сказывается на энергоэффективности чипа. Традиционный для Mali модуль управления памятью обзавелся возможностью работы с 40-разрядным (в потенциале —  64-разрядным) виртуальным адресным пространством, поддержка которого реализована в процессорной архитектуре Cortex-A15. Это еще больше расширяет возможности GPU по манипулированию графическими, а теперь и обычными данными.

Отличительная особенность нового поколения чипов Mali, являющегося фишкой архитектуры Midgard, — реализация в модуле кэш-памяти традиционного для ARM-чипов модуля-ищейки SCU (Snoop Control Unit), обеспечивающего эффективный поиск данных в кэшах графических и обычных ядер SoC, а также реализацию технологии CoreLink CCI-400 (Cache Coherent Interconnect), поддерживаемую новой 128-битной шиной AMBA 4.

Поддержка новыми GPU Mali спецификации CCI-400 является основой их тесной интеграции с процессорными ядрами Cortex  контроллерами периферии.

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

Но главным нововведением архитектуры Midgard является уникальная конвейерная технология Tri-Pipe. Программы, выполняющиеся на чипах Mali шестисотой серии, получают возможность одновременного использования трех различных типов конвейеров, которые обеспечивают эффективные вычисления общего назначения, не ущемляя при этом традиционные для компьютерной графики задачи.

Конвейерная архитектура Tri-Pipe является настоящей изюминкой GPU Mali шестисотой серии.

Арифметический конвейер обеспечивает поддержку всех целочисленных операций, а также операций с плавающей точкой FP16, FP32 и даже FP64 двойной точности, соответствующих стандарту IEEE-754-2008.

Конвейер текстур реализует поддержку современных технологий сжатия и обработки текстур, а конвейер ввода-вывода ответственен за увеличение пропускной способности при передаче/приеме программой данных при одновременном балансе энергоэффективности.

Четыре шейдерных процессора Mali-T604 поддерживают целых два арифметических конвейера, пятикратно увеличивая тем самым производительность этого чипа в сравнении с бывшим фаворитом Mali-400 MP.

Впервые в «железе» Mali-T604 был реализован по 32-нанометровой технологии в SoC Samsung Exynos 5250, где он работает в паре с двухъядерным Cortex-A15. Этот чип был установлен корейским производителем в планшет Galaxy Note 10.1, который в плане графики стал вровень с такими лидерами, как The new iPad и планшетами на базе NVIDIA Tegra 3.

Однако T604 — всего лишь младшенький в семействе ARM GPU с архитектурой Midgard. Анонсированный 10 ноября 2011 года GPU Mali-T658 является настоящим разрывателем шаблонов на рынке мобильных графических систем. В сравнении с Mali-T604 в T658 все удвоено. Чип содержит восемь шейдерных ядер, каждое из которых работает с четырьмя арифметическими конвейерами. Полная поддержка 64-разрядного адресного пространства памяти, а также операций с плавающей точкой FP64 двойной точности выводят этот GPGPU-процессор на уровень интегрированных решений для настольных систем, оставляя его при этом в стане мобильных устройств. Процессор с легкостью поддерживает API как графических стандартов — OpenGL ES 1.1, 2.0, OpenVG 1.1, Microsoft DirectX 11, так и стандартов GPGPU-вычислений — OpenCL 1.1, Google Renderscript и Microsoft DirectCompute. Графическая производительность нового чипа в десять раз превосходит возможности Mali-400 MP. Пободаться с ним на рынке GPU для мобильных решений способны лишь анонсированные в январе нынешнего года чипы PowerVR Series 6 от Imagination Technologies, разработанные на базе архитектуры Rogue. Стоит напомнить, что продукты PowerVR не обладают такой глубокой интеграцией с ARM-ядрами Cortex, как GPU Mali, что требует от разработчиков SoC дополнительных ресурсов и затрат на подобную интеграцию.

Кажется, спустя десять лет мечта норвежского студента о лучшем в мире графическом процессоре все-таки свершилась. Сегодня ARM GPU семейства Mali способны покрыть возможности рынка и для бюджетных решений, и для высокопроизводительных мобильных графических станций, коими являются современные суперфоны и планшеты.

Графические решения Mali способны удовлетворить и бюджетные решения, и высокопроизводительные системы.

Mali уверенно отвоевывает себе достойную нишу среди таких серьезных в плане GPU-решений конкурентов, как Intel, AMD, NVIDIA и Imagination Technologies. И переселяет потребителей, нас с вами, в Средиземье, где реальность бок о бок соседствует с чудесами.

blog comments powered by Disqus
Обратная связь
Имя
E-mail
Сообщение:

Отправить