Armv8 что это – Cortex A53: мобильные процессоры серии ARM

ARM: 8-ядерные мобильные процессоры – это рекламный ход

Вероятно, последним человеком, от которого можно было бы слышать о несуразности 8-ядерных мобильных процессоров был бы человек, работающий в компании ARM Holdings, которая занимается лицензированием мобильных чипов. Однако, как пишет Cybersecurity, это именно то, что заявил директор по мобильным решениям ARM Джейс Брюс на ARM Tech Day.

«Использовать восемь ядер на смартфоне сейчас невероятно трудно. Правда заключается в том, что использовать все восемь ядер сейчас можно только для тестирования», – говорит он. «Думаю, что выпуск 8-ядерных процессоров во многом связан с маркетингом. Речь тут идет не об архитектуре чипа, а о его «маркетингтуре». Многие любят число восемь. К примеру, в Китае оно считается счастливым. То есть у нас есть счастливое число ядер», – говорит он.

Именно такую конфигурацию использует платформа ARM big.LITTLE, где четыре мощных процессорных ядра работают в паре с четырьмя маломощными. Первые четыре отвечают за процессинг интенсивных приложений, таких как игры, а остальные четыре — за обработку технических данных операционной системы и процессинг сотовой связи. Тандем создан на базе ядер Cortex A15 и Cortex A7. Такая система работает на базе SoC-систем Samsung Exynos 5 Octa в ряде версий Samsung Galaxy S4, S5 и Note 3.

Брюс говорит, что повседневное использование смартфона — это веб-браузинг с одновременным прослушиванием MP3. «Большая часть работ может быть выполнена только лишь одними малыми ядрами… В целом, около 75% времени все ядра или спят или просто ждут прерываний, около 20% времени лишь одно из ядер находится в активном состоянии», – говорит он.

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

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

По его словам, сейчас в смартфонах практически нет приложений, которые бы имели больше четырех потоков данных одновременно. «Для большинства смартфонов шесть ядер — более чем достаточно», – отметил он.

Следите за новостями Apple в нашем Telegram-канале, а также в приложении MacDigger на iOS.

Присоединяйтесь к нам в Twitter, ВКонтакте, Facebook, Google+ или через RSS, чтобы быть в курсе последних новостей из мира Apple, Microsoft и Google.

Поделись этой статьей с друзьями

www.macdigger.ru

ARM64 и Ты / Хабр

Несколько запоздалый перевод заинтересовавшего меня блогпоста о том, что в действительности дает 64-битность процессора в iPhone без маркетинговой шелухи. Если текст покажется вам слишком очевидным, пропустите часть «Базовые преимущества и недостатки».

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


Давайте для начала рассмотрим что, собственно, 64-битность означает. С этим термином связанно много путаницы, в основном из-за того, что нет единого устоявшегося определения. Однако, существует
общее понимание
этого термина. «Битность» обычно означает либо размер числового регистра, или размер указателя. К счастью, для большинства современных процессоров, их размер совпадает. Таким образом, 64-битность означает что процессор обладает 64-битными числовыми регистрами и 64-битными указателями.

Важно также отметить, что 64-битность не означает, т.к. и здесь есть много недопонимания. Итак, 64-битность не определяет:

  1. Размер адресуемой памяти. Количество бит, реально задействованных в указателе не связано с битностью процессора. Процессоры ARM использует от 26 до 40 бит, и это число может изменяться в отрыве от битности процессора.
  2. Ширину шины данных. Объем данных, запрашиваемых из RAM или кэша также не связано с битностью. Отдельные процессорные инструкции могут запрашивать произвольные объемы данных, но объем реально единовременно запрашиваемых данных может отличаться, либо разбивая запросы на части, или запрашивая больше чем необходимо. Уже в iPhone 5 размер запрашиваемого блока данных составляет 64 бита, а у PC доходит до 192 бит.
  3. Все что связано с вычислениями с плавающей запятой. Регистры FPU не связаны с архитектурой и процессоры ARM использовали 64-битные регистры задолго до ARM64.

Если вы будете сравнивать идентичные процессоры 32 и 64 битные CPU, вы не найдете больших различий, так что значительность перехода Apple на 64-битные ARM несколько преувеличена. Это важный шаг, но важный, в основном, из-за особенностей ARM и особенностью использования процессора компанией Apple. Тем не менее, некоторые различия имеются. Самым очевидным является 64-битные числовые регистры более эффективно работают с 64-битными числами. Вы можете работать с 64-битными числами и на 32-битном процессоре, но это обычно приводит к работе с двумя 32-битными частями, что работает ощутимо медленнее. 64-битные процессоры, обычно, выполняют операции над 64-битными числами также быстро как и над 32-битными, так что код активно использующий вычисления с 64-битными числами будет работать значительно быстрее.

Не смотря на то, что 64-битность не связана напрямую с объемом адресуемой памяти, она значительно облегчает использование большого объема RAM в рамках одной программы. Программа, запущенная на 32-битном процессоре может адресовать не больше 4GB адресного пространства. Часть памяти выделена под операционную систему и стандартные библиотеки, что оставляет 1-3GB на саму программу. Если у 32-битной системы больше 4GB RAM, то использование всего этого адресного пространства для программы значительно усложняется. Вам придется заняться махинациями вроде последовательного отображение разных частей RAM на часть виртуального адресного пространства или разбивание одной программы на несколько процессов.

Подобные трюки крайне трудозатраны и могут сильно замедлить систему, так что мало кто из программистов реально их использует. На практике, на 32-битных процессорах каждая программа используют до 1-3GB RAM, а вся ценность в обладании большего объема физической оперативной памяти заключается в возможности больше запускать программ одновременно и возможность кеширования больше данных с диска.

Увеличение объема адресного пространства полезно и для систем с небольшим объемом оперативной памяти — memory-mapped файлы, размеры которых могут быть  и больше доступной оперативной памяти, т.к. операционная система реально загружает только те части файла, к которым производились обращения и, кроме того, умеет «вытеснять» загруженные данные обратно в файл, освобождая оперативную память. На 32-битных системах нельзя отобразить файлы размером больше 1-3GB. На 64-битных системах, адресное пространство значительно больше, так что такой проблемы нет.

Увеличение размера указателя может быть и ощутимым минусом: таже программа будет использовать больше памяти (возможно, сильно больше) будучи запущенной на 64 битном процессоре. Увеличение используемой памяти также «забивает» кэш, что снижает производительность.

В двух словах: 64-битность может увеличить производительность некоторых частей кода и упрощает некоторые техники, вроде memory-mapped файлов. Однако, производительность может и пострадать из-за увеличения используемой памяти.


64-битный процессор в iPhone 5S не просто ARM с увеличенным размером регистров, есть и существенные изменения.

Во-первых, отмечу название: официального название от ARM — «AArch64», однако это — глупое название, печатать которое меня раздражает. Apple называет архитектуру ARM64 и я буду называть также.

ARM64 увеличил вдвое число целочисленных регистров. 32-битный ARM предоставляет 16 целочисленных регистров, из которых один — счетчик команд (program counter), еще два используются для указателя на стэк и регистра связи (link register) и 13 регистров общего назначения. В ARM64 32 целочисленных регистра, с выделенным нулевым регистром, регистром связи и регистром указателя кадра (frame pointer register). Еще один регистр зарезервирован платформой, что оставляет 28 регистров общего назначения.

ARM64 также увеличивает число регистров для чисел с плавающей запятой. Регистры в 32-битных ARM несколько странные, так что сложно сравнивать. У 32-битного ARM 32 32-битных регистров с плавающей запятой, которые могут быть представлены как 16 перекрывающихся 64-битных регистров. Кроме того, есть еще 16 независимых 64-битных регистров. ARM64 упрощает это до 32 неперекрывающихся 128-битных регистров, которые могут быть использован для данных меньшего размера.

Число регистров может значительно влиять на производительность. Память значительно медленнее процессора, и чтение/запись памяти занимает значительно больше времени, чем выполнение инструкций процессора. Процессор пытается исправить это при помощи кэшей, но даже самый быстрый кэш значительно медленнее регистров процессора. Больше регистров — больше данных могут храниться внутри процессора. Насколько это влияет на производительность зависит от конкретного кода и эффективности компилятора, который оптимизирует использование регистров. Когда архитектура Intel перешла от 32 к 64 битам, число регистров увеличилось с 8 до 16, и это было значительное изменение производительности. У ARM уже было больше регистров чем у 32-битной архитектуры Intel, так что увеличение регистров хоть  и меньше повлияет на производительность, но это изменение все еще будет заметно.

ARM64 также привнес существенные изменения помимо увеличения числа регистров.

Большинство 32-битных инструкций ARM могут выполняться/не выполняться в зависимости от состояние регистра-условия. Это позволяет транслировать условные выражения (if-statements) без использования ветвления. Предполагалось, что это увеличит  производительность, однако, судя по тому, что в ARM64 от этой возможности отказались, она порождала больше проблем, чем давала пользы.

В ARM64 набор SIMD (одна-инструкция-много-данных) NEON полностью поддерживает стандарт IEEE754 для чисел с плавающей запятой с двойной точностью, в то время как 32-битная версия NEON поддерживала только одинарную точность и не в точности следовала стандарту для некоторых битов.

В ARM64 добавили специализированные инструкции для AES шифрования и SHA-1 & SHA-256 хешей. Не слишком полезное в общем, однако существенный бонус если вы занимаетесь именно этими вопросами.

В целом, самым важным отличаем является увеличение числа регистров общего назначения и полная поддержка IEEE754-совметимой арифметики на числах с двойной точностью в NEON. Это может дать ощутимый прирост в производительности в большом числе мест.


Важно отметить, что A7 включает в себя 32-битный режим совместимости, который позволяет запускать 32-битные приложения без каких либо изменений. Это означает, что iPhone 5S может исполнять любые старые приложения без какого-то влияния на производительность.


Apple использует преимущества новой архитектуры в своих библиотеках. Так как им нет надобности беспокоиться о бинарной обратной совместимости при таких изменениях, это отличное время чтобы внести изменения которые в противном случае «поломали» уже существующие приложения.

В Max OS X 10.7 Apple ввела меченные указатели (tagged pointers). Меченные указатели позволяют хранить некоторые классы с небольшим количеством данных в экземпляре напрямую в указателе. Это позволяет избежать выделений памяти в некоторых случаях, например NSNumber и может дать существенный прирост производительности. Меченные указатели поддерживаются только на 64-битной платформе, частично из-за вопроса производительности, а частично из-за того что в 32-битном указателе не так много остается места под «метки». Видимо по-этому, у iOS не было поддержки меченных указателей. Таким образом, в ARM64 в рантайме Objective-C включена поддержка меченных указателей, что дает те же преимущества, что в Mac.

Не смотря на то, что размер указателя составляет 64 бита, не все эти биты на самом деле используются. В Mac OS X на x86-64 используется только 47 битов. В iOS на ARM64 используется еще меньше — только 33 бита. Если маскировать эти биты каждый раз перед использованием то можно использовать остальные биты чтобы хранить дополнительные данные. Это позволило внести одно из самых значительных изменений в рантайм Objective-C за всю его историю.


Большая часть информации в этой секции почерпана из статьи Грега Паркера. Во первых, для освежения памяти: объекты в Objective-C представляют выделенные блоки памяти. Первый часть, размером с указатель, это isa. Обычно, isa это указатель на класс объекта. Чтобы узнать больше о том, как объекты хранятся  в памяти, читайте мою другую статью.

Использовать весь размер указателя на указатель isa несколько расточительно, особенно на 64-битной платформе, которая не использует все 64-бита. ARM64 на iOS реально использует 33 бита, оставляя 31 бит для других вещей. Классы в памяти выровнены по границе 8 байт, так что последние 3 бита можно отбросить, что дает 34 бита из isa доступные для хранения дополнительной информации. И Apple-овский рантайм в ARM64 использует это для повышения производительности.

Наверно, самой важной оптимизацией стало встраивание (inline) счетчика ссылок. Практически все объекты в Objective-C обладают счетчиком ссылок (за исключение неизменяемых объектов, таких как литералы NSString) и операции retain/release, которые меняют этот счетчик случаются очень часто. Это особенно критично для ARC, который вставляет вызовы retain/release чаще, чем бы это делал программист. Таким образом, высокая производительность retain/release методов крайне важна.

Обычно, счетчик ссылок не хранится в самом объекте. Можно было бы хранить счетчик ссылок в самом объекте, но это заняло бы слишком много места. Это не так важно сейчас, но тогда, давно, это было весьма существенно. Из-за этого, счетчик ссылок хранится во внешней хеш-таблице. Каждый раз при вызове retain, производятся следующие действия:

  1. Получить глобальную хеш-таблицу счетчиков указателей
  2. Заблокировать хеш-таблицу, чтобы операция была потокобезопасной
  3. Найти в хеш-таблице счетчик для заданного объекта
  4. Увеличить счетчик на один и сохранить его обратно в таблицу
  5. Отпустить блокировку хеш-таблицы

Достаточно медленно! Реализация хеш-таблицы счетчиков сделана очень эффективной, для хеш-таблицы, но это все еще значительно медленнее прямого доступа к памяти. В ARM64, 19 бит указателя isa используются для хранения счетчика ссылок. Это означает, что вызов retain упрощается до:
  1. Произвести атомарное увеличение части isa-поля

И все! Это должно быть гораздо, гораздо быстрее.

На самом деле все несколько сложнее из-за разных краевых случаев, которые тоже надо обработать. По-настоящему последовательность действий приблизительно такая:

  1. Последний бит в isa говорит, используются ли дополнительные биты в isa для хранения счетчика ссылок. Если нет, используется старый алгоритм с хеш-таблицами.
  2. Если объект уже удаляется, ничего не выполняется
  3. Если счетчик переполняется (что случается редко, но вполне возможно при 19 битах), используется старый алгоритм с хеш-таблицей
  4. Произвести атомарное изменение isa на новое значение

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

Использование оставшихся неиспользованных под счётчик ссылок биты в isa позволило ускорить деаллокацию объектов. Теоретически, нужно совершить кучу действий когда объект в Objective-C удаляется и возможность пропустить ненужные может значительно увеличить производительность.  Эти шаги:

  1. Если у объекта не было ассоциированных объектов, установленных используя objc_setAssociatedObject, их не надо удалять.
  2. Если объект не обладает C++-деструктором (который вызывается при dealloc), его тоже не нужно вызывать.
  3. Если на объект ни разу не ссылались слабым (__weak) указателем, то эти указатели не надо обнулять.

Раньше, все эти флаги хранились в классах. Например, если хоть один экземпляр класса когда-либо хранил ассоциированные объект, то все экземпляры этого класса удаляли ассоциированные объект при деаллокации. Отслеживание этих флагов для каждого экземпляра в отдельности позволило вызывать соответствующие методы только для тех экземпляров, для которых это действительно было нужно.

Суммарно, это существенный выигрыш. Мои бенчмарки показали, что создание и удаление простого объекта  занимает 380нс на 5S в  32-битном режиме, в то время как в 64-битном только 200нс. Если хоть один экземпляр когда-либо имел слабую ссылку на себя, то в 32-битном режим время удаления для всех увеличивалось до 480нс, в то время как в 64-битном режиме время осталось в районе 200нс для всех экземпляров, на которых слабых ссылок не было.

Короче говоря, улучшения в рантайме таковы, что в 64-битном режиме время аллокации занимают 40-50% от времени аллокации в 32-битном режиме. Если ваше приложение создает и удаляет много объектов, это может оказаться существенным.


64-битность A7 не просто маркетинговая уловка, но это и не поражающий воображение прорыв который позволит создавать новый класс приложений. Истина, как всегда, лежит посередине.

Один только факт перехода на 64 бита дает немного. Это в некоторых случая ускоряет приложения, несколько увеличивает объем используемой памяти большинство программ. В общем, большой разницы нет.

Архитектура ARM изменилась не только в 64-битности. Увеличенное число регистров и пересмотренный, модернизированный набор инструкций дает неплохой прирост производительности по сравнению с 32-битным ARM.

Apple использовала переход на новую архитектуру для улучшения в рантайме. Основное изменение — встраиваемый (inlined) счетчик ссылок, который позволяет избежать дорогого поиска по хеш-таблице. Так операции retain/release очень часты в Objective-C, это существенный выигрыш. Удаление ресурсов в зависимости от флагов делает удаление объектов почти вдвое быстрее. Меченные (tagged) указатели также добавляют производительность и уменьшают потребление памяти.

ARM64 — приятное добавление от Apple. Мы все знали, что это рано или поздно случится, но мало кто ожидал что так скоро. Но оно есть, и это отлично.

habr.com

Как узнать тип процессора, который используется в вашем Android устройстве

Недавно мы рассказывали вам о том, как узнать DPI дисплея вашего Android устройства, которое необходимо знать для выбора правильного APK файла приложения, которое вы хотите установить на него вручную.

Однако, при этом зачастую нужно знать еще и тип процессора: ARM, ARM64 или x86, который используется в вашем смартфоне или планшете, и как оказалось, многие владельцы Android устройств не имеют никакого представления об этом. Поэтому сегодня речь пойдет о том, как можно получить эти сведения.

 

Самым простым способом узнать тип процессора на базе которого выполнен ваш смартфон, планшет или другое Android устройство будет установить на него приложение Droid Hardware Info.

 

Это приложение доступно для скачивания с этой страницы Google Play Маркет совершенно бесплатно и после его запуска вы увидите на экране смартфона следующую информацию (слева — данные о смартфоне Nexus 5, справа — информация о Nexus 6):

В самой первой строке с наименованием «CPU architecture» вы увидите одно из значений: ARMv7, AArch64 или x86, а в строке «Insructions Set»: armeabi, arm64 или x86abi.

Соответствие этих значений типу вашего процессора приведено ниже:

 

ARM: ARMv7 или armeabi

ARM64: AArch64 или arm64

x86: x86 или x86abi

 

Есть еще один достаточно простой способ узнать тип процессора вашего смартфона, планшета или другого устройства, который знаком пользователям Linux

 

Для этого вам нужно установить на свое устройство из Google Play Маркет приложение Terminal Emulator, запустить его и выполнить следующую команду: 

 

cat /proc/cpuinfo

 

На экране при этом отобразится информация о процессоре в следующей форме:

Как вы уже, наверняка поняли, нам нужна информация из самой первой строки «Processor:»

 


Похожие материалы:

Функция Quick Ball из MIUI на любом Android устройстве 

Как скачать Apk файл из Google Play Маркета с помощью APK Downloader

Скачать APK файлы приложений из Google Play Маркет можно с помощью расширения Toolbox for Google Play Store для браузера Chrome 

Raccoon. Приложение для скачивания APK файлов из Google Play Маркет обновилось, получив обновленный интерфейс и новые возможности 

www.4tablet-pc.net

Является ли armv7l 32 или 64 бит?

ARMv8 — 64-разрядный. С 32-разрядной совместимостью.

Архитектура ARMv8 представляет 64-битную поддержку архитектуры ARM с акцентом на энергоэффективную реализацию, поддерживая совместимость с существующим 32-разрядным программным обеспечением. Приняв чистый подход, процессоры ARMv8-A расширяют диапазон производительности, сохраняя при этом низкие энергопотребляющие характеристики процессоров ARM, которые будут использовать самые инновационные и эффективные устройства завтрашнего дня. ARM имеет 3 разных уровня продуктов, поддерживающих архитектуру ARMv8-A: высокая производительность, высокая эффективность и сверхвысокая эффективность.

Архитектура ARMv8 представляет 64-битную поддержку архитектуры ARM с акцентом на энергоэффективную реализацию, сохраняя при этом совместимость с существующим 32-разрядным программным обеспечением. Приняв чистый подход, процессоры ARMv8-A расширяют диапазон производительности, сохраняя при этом низкие энергопотребляющие характеристики процессоров ARM, которые будут использовать самые инновационные и эффективные устройства завтрашнего дня. ARM имеет 3 разных уровня продуктов, поддерживающих архитектуру ARMv8-A: высокая производительность, высокая эффективность и сверхвысокая эффективность.

64-разрядные регистры общего назначения, SP (указатель стека) и ПК (программный счетчик) 64-разрядные обработка данных и расширенная виртуальная адресация. Два основных состояния выполнения: AArch64. Состояние 64-битного исполнения, включая модель исключения, память-модель, модель программистов и набор инструкций для этого состояния. AArch42. 32-разрядное состояние выполнения, включая модель исключения, память модель, модель программистов и поддержка набора инструкций для этого состояния

ARMv8-A вводит поддержку архитектуры 64-битной архитектуры ARM и включает в себя:

ответ дан Rinzwind 24 July 2018 в 16:44 поделиться

askubuntu.ru

Мобильные процессоры ARM

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

ARM Limited

Компания ARM, фактически, является монополистом в своей области, и подавляющее большинство современных смартфонов и планшетов на различных мобильных операционных системах используют процессоры именно на архитектуре ARM. Производители чипов лицензируют у ARM отдельные ядра, наборы инструкций и сопутствующие технологии, причём стоимость лицензий значительно разнится в зависимости от типа процессорных ядер (это могут быть как маломощные бюджетные решения, так и ультрасовременные четырёхъядерные и даже восьмиядерные чипы) и дополнительных компонентов. Годовой отчёт о прибыли ARM Limited за 2006 год показал выручку в 161 миллион долларов за лицензирование около 2,5 миллиардов процессоров (в 2011 году этот показатель составил уже 7,9 млрд), что означает примерно 0,067 долларов за один чип. Впрочем, по озвученной выше причине, это очень усреднённый показатель из-за разницы в ценах на различные лицензии, и с тех пор прибыль компании должна была вырасти многократно.

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

Ядра Cortex

ARM разрабатывает несколько семейств ядер, которые используются для различных задач. К примеру, процессоры, основанные на Cortex-Mx и Cortex-Rx (где “х” — цифра или число, обозначающее точный номер ядра) используются во встраиваемых системах и даже бытовых устройствах, к примеру, роутерах или принтерах.

Подробно на них мы останавливаться не будем, ведь нас, в первую очередь, интересует семейство Cortex-Ax — чипы с такими ядрами используются в наиболее производительных устройствах, в том числе смартфонах, планшетах и игровых консолях. ARM постоянно работает над новыми ядрами из линейки Cortex-Ax, но на момент написания этой статьи в смартфонах используются следующие из них:

Cortex-A5;
Cortex-A7;
Cortex-A8;
Cortex-A9;
Cortex-A12;
Cortex-A15;
Cortex-A53;
Cortex-A57.

Чем больше цифра — тем выше производительность процессора и, соответственно, дороже класс устройств, в которых он используется. Впрочем, стоит отметить, что это правило соблюдается не всегда: к примеру, чипы на ядрах Cortex-A7 имеют большую производительность, нежели на Cortex-A8. Тем не менее, если процессоры на Cortex-A5 уже считаются чуть ли не устаревшими и почти не используются в современных устройствах, то CPU на Cortex-A15 можно найти во флагманских коммуникаторах и планшетах. Не так давно ARM официально объявила о разработке новых, более мощных и, одновременно, энергоэффективных ядер Cortex-A53 и Cortex-A57, которые будут объединены на одном чипе с применением технологии ARM big.LITTLE и поддерживать набор команд ARMv8 (“версию архитектуры”), но в настоящее время они не применяются в массовых потребительских устройствах. Большинство чипов с ядрами Cortex могут быть многоядерными, и в современных топовых смартфонах повсеместное распространение получили четырёхъядерные процессоры.

Крупные производители смартфонов и планшетов обычно используют процессоры известных чипмейкеров вроде Qualcomm или собственные решения, которые уже успели стать довольно популярными (к примеру, Samsung и её семейство чипсетов Exynos), но среди технических характеристик гаджетов большинства небольших компаний зачастую можно встретить описание вроде “процессор на Cortex-A7 с тактовой частотой 1 ГГц” или “двухъядерный Cortex-A7 с частотой 1 ГГц”, которое обычному пользователю ничего не скажет. Для того, чтобы разобраться, в чём заключаются отличия таких ядер между собой, остановимся на основных.

Cortex-A5

Ядро Cortex-A5 используются в недорогих процессорах для наиболее бюджетных устройств. Такие устройства предназначены только для выполнения ограниченного круга задач и запуска простых приложений, но совершенно не рассчитаны на ресурсоёмкие программы и, тем более, игры. В качестве примера гаджета с процессором на Cortex-A5 можно назвать Highscreen Blast, который получил чип Qualcomm Snapdragon S4 Play MSM8225, содержащий два ядра Cortex-A5 с тактовой частотой 1,2 ГГц.

Cortex-A7

Процессоры на Cortex-A7 являются более мощными, чем чипы Cortex-A5, а кроме того, больше распространены. Такие чипы выполняются по 28-нанометровому техпроцессу и имеют большой кэш второго уровня до 4 мегабайт. Ядра Cortex-A7 встречаются, преимущественно, в бюджетных смартфонах и недорогих устройствах среднего сегмента вроде iconBIT Mercury Quad, а также, в качестве исключения, в Samsung Galaxy S IV GT-i9500 с процессором Exynos 5 Octa — этот чипсет при выполнении нетребовательных задач использует энергосберегающий четырёхъядерный процессор на Cortex-A7.

Cortex-A8

Ядро Cortex-A8 не так распространено, как его “соседи”, Cortex-A7 и Cortex-A9, но всё же используется в различных гаджетах начального уровня. Рабочая тактовая частота чипов на Cortex-A8 может составлять от 600 МГц до 1 ГГц, но иногда производители разгоняют процессоры и до более высоких частот. Особенностью ядра Cortex-A8 является отсутствие поддержки многоядерных конфигураций (то есть, процессоры на этих ядрах могут быть только одноядерными), а выполняются они по 65-нанометровому техпроцессу, который уже считается устаревшим.

Сortex-A9

Ещё пару лет назад ядра Cortex-A9 считались топовым решением и использовались как в традиционных одноядерных, так и более мощных двухъядерных чипах, например Nvidia Tegra 2 и Texas Instruments OMAP4. В настоящее время процессоры на Cortex-A9, выполненные по 40-нанометровому техпроцессу не теряют популярность и используются во многих смартфонах среднего сегмента. Рабочая частота таких процессоров может составлять от 1 до 2 и более гигагерц, но обычно она ограничивается 1,2-1,5 ГГц.

Cortex-A12

В июне 2013 года компания ARM официально представила ядро Cortex-A12, которое выполняется по новому 28-нанометровому техпроцессу и призвано заменить ядра Cortex-A9 в смартфонах среднего сегмента. Разработчик обещает увеличение производительности на 40% по сравнению с Cortex-A9, а кроме того, ядра Cortex-A12 смогут участвовать в архитектуре ARM big.LITTLE в качестве производительных вместе с энергосберегающими Cortex-A7, что позволит производителям создавать недорогие восьмиядерные чипы. Правда,на момент написания статьи всё это только в планах, и массовое производство чипов на Cortex-A12 ещё не налажено, хотя компания RockChip уже объявила о своём намерении выпустить четырёхъядерный процессор на Cortex-A12 с частотой 1,8 ГГц.

Cortex-A15

На 2013 год ядро Cortex-A15 и его производные является топовым решением и используется в чипах флагманских коммуникаторах различных производителей. Среди новых процессоров, выполненных по 28-нм техпроцессу и основанных на Cortex-A15 — Samsung Exynos 5 Octa и Nvidia Tegra 4, а также это ядро нередко выступает платформой для модификаций других производителей. Например, последний процессор компании Apple A6X использует ядра Swift, которые являются модификацией Cortex-A15. Чипы на Cortex-A15 способны работать на частоте 1,5-2,5 ГГц, а поддержка множества стандартов сторонних компаний и возможность адресовать до 1 ТБ физической памяти делает возможным применение таких процессоров в компьютерах (как тут не вспомнить мини-компьютер размером с банковскую карту Raspberry Pi).

Cortex-A50 series

В первой половине 2013 года ARM представила новую линейку чипов, которая получила название Cortex-A50 series. Ядра этой линейки будут выполнены по новой версии архитектуры, ARMv8, и поддерживать новые наборы команд, а также станут 64-битными. Переход на новую разрядность потребует оптимизации мобильных операционных систем и приложений, но, разумеется, сохранится поддержка десятков тысяч 32-битных приложений. Первой на 64-битную архитектуру перешла компания Apple. Последние устройства компании, например, iPhone 5S, работают на именно таком ARM-процессоре Apple A7. Примечательно, что он не использует ядра Cortex – они заменены на собственные ядра производителя под названием Swift. Одна из очевидных причин необходимости перехода к 64-битным процессорам — поддержка более 4 ГБ оперативной памяти, а, кроме того, возможность оперировать при вычислении намного большими числами. Конечно, пока это актуально, в первую очередь, для серверов и ПК, но мы не удивимся, если через несколько лет на рынке появятся смартфоны и планшеты с таким объёмом ОЗУ. На сегодняшний день о планах по выпуску чипов на новой архитектуре и смартфонов с их использованием ничего не известно, но, вероятно, именно такие процессоры и получат флагманы в 2014 году, о чём уже заявила компания Samsung.

Cortex-A53

Открывает серию ядро Cortex-A53, которое будет прямым “наследником” Cortex-A9. Процессоры на Cortex-A53 заметно превосходят чипы на Cortex-A9 в производительности, но, при этом, сохраняется низкое энергопотребление. Такие процессоры могут быть использованы как по одиночке, так и в конфигурации ARM big.LITTLE, будучи объединенными на одном чипсете с процессором на Cortex-A57

Cortex-A57

Процессоры на Cortex-A57, которые будут выполнены по 20-нанометровому техпроцессу, должны стать самыми мощными ARM-процессорами в ближайшем будущем. Новое ядро значительно превосходит своего предшественника, Cortex-A15 по различным параметрам производительности (сравнение вы можете видеть выше), и, по словам ARM, которая всерьёз нацелена на рынок ПК, станет выгодным решением для обычных компьютеров (включая лэптопы), а не только мобильных устройств.

ARM big.LITTLE

В качестве высокотехнологичного решения проблемы энергопотребления современных процессоров ARM предлагает технологию big.LITTLE, суть которой заключается в объединении на одном чипе ядер различных типов, как правило, одинакового количества энергосберегающих и высокопроизводительных.

Существует три схемы работы ядер различного типа на одном чипе: big.LITTLE (миграция между кластерами), big.LITTLE IKS (миграция между ядрами) и big.LITTLE MP (гетерогенный мультипроцессинг).

big.LITTLE (миграция между кластерами)

Первым чипсетом на архитектуре ARM big.LITTLE стал процесссор Samsung Exynos 5 Octa. В нём используется оригинальная схема big.LITTLE “4+4”, что означает объединение в два кластера (отсюда и название схемы) на одном кристалле четырёх высокопроизводительных ядер Cortex-A15 для ресурсоёмких приложений и игр и четырёх энергосберегающих ядер Cortex-A7 для повседневной работы с большинством программ, причём в один момент времени могут работать ядра только одного типа. Переключение между группами ядер происходит практически мгновенно и незаметно для пользователя в полностью автоматическом режиме.

big.LITTLE IKS (миграция между ядрами)

Более сложная реализация архитектуры big.LITTLE — объединение нескольких реальных ядер (как правило двух) в одно виртуальное, управляемое ядром операционной системы, которое решает, какие задействовать ядра — энергоэффективные или производительные. Разумеется, виртуальных ядер также несколько — на иллюстрации приведен пример схемы IKS, где в каждом из четырёх виртуальных ядер находятся по одному ядру Cortex-A7 и Cortex-A15.

big.LITTLE MP (гетерогенный мультипроцессинг)

Схема big.LITTLE MP является наиболее “продвинутой” — в ней каждое ядро является независимым и может включаться ядром ОС по необходимости. Это значит, что если используются четыре ядра Cortex-A7 и столько же ядер Cortex-A15, в чипсете, построенном на архитектуре ARM big.LITTLE MP, смогут работать одновременно все 8 ядер, даже несмотря на то, что они разных типов. Одним из первых процессоров такого типа стал восьмиядерный чип компании Mediatek MT6592, который может работать на тактовой частоте 2 ГГц, а также записывать и воспроизводить видео в разрешении UltraHD.

Будущее

По имеющейся на данный момент информации, в ближайшее время ARM совместно с другими компаниями планирует наладить выпуск big.LITTLE чипов следующего поколения, которые будут использовать новые ядра Cortex-A53 и Cortex-A57. Кроме того, бюджетные процессоры на ARM big.LITTLE собирается выпускать китайский производитель MediaTek, которые будут работать по схеме “2+2”, то есть, использовать две группы по два ядра.

Графические ускорители Mali

Помимо процессоров, ARM также разрабатывает и графические ускорители семейства Mali. Подобно процессорам, графические ускорители характеризуются множеством параметров, например, уровнем сглаживания, интерфейсом шины, кэшем (сверхбыстрая память, используемая для повышения скорости работы) и количеством “графических ядер” (хотя, как мы писали в прошлой статье, этот показатель, несмотря на похожесть с термином, использующимся при описании CPU, практически не влияет на производительность при сравнении двух GPU).

Первым графическим ускорителем ARM стал ныне неиспользуемый Mali 55, который был использован в сенсорном телефоне LG Renoir (да-да, самом обычном сотовом телефоне). GPU не использовался в играх — только для отрисовки интерфейса, и обладал примитивными по нынешним меркам характеристиками, но именно он стал “родоначальником” серии Mali.

С тех пор прогресс шагнул далеко вперёд, и сейчас немалое значение имеют поддерживаемые API и игровые стандарты. К примеру, поддержка OpenGL ES 3.0 сейчас заявлена только в самых мощных процессорах вроде Qualcomm Snapdragon 600 и 800, а, если говорить о продукции ARM, то стандарт поддерживают такие ускорители, как Mali-T604 (именно он стал первым графическим процессором ARM, выполненным на новой микроархитектуре Midgard), Mali-T624, Mali-T628, Mali-T678 и некоторые другие близкие к ним по характеристикам чипы. Тот или иной GPU, как правило, тесно связан с ядром, но, тем не менее, указывается отдельно, а, значит, если вам важно качество графики в играх, то имеет смысл посмотреть на название ускорителя в спецификациях смартфона или планшета.

Есть у ARM в линейке и графические ускорители для смартфонов среднего сегмента, наиболее распространёнными среди которых являются Mali-400 MP и Mali-450 MP, которые отличаются от своих старших братьев сравнительно небольшой производительностью и ограниченным набором API и поддерживаемых стандартов. Несмотря на это, указанные GPU продолжают использоваться в новых смартфонах, к примеру, Zopo ZP998, который получил графический ускоритель Mali-450 MP4 (улучшенную модификацию Mali-450 MP) вдобавок к восьмиядерному процессору MTK6592.

Предположительно, в конце 2014 года должны появиться смартфоны с новейшими графическими ускорителями ARM: Mali-T720, Mali-T760 и Mali-T760 MP, которые были представлены в октябре 2013 года. Mali-T720 должен стать новым GPU для недорогих смартфонов и первым графическим процессором этого сегмента с поддержкой Open GL ES 3.0. Mali-T760, в свою очередь, станет одним из наиболее мощных мобильных графических ускорителей: по заявленным характеристикам, GPU имеет 16 вычислительных ядер и обладает поистине огромной вычислительной мощностью, 326 Гфлопс, но, в то же время, в четыре раза меньшим энергопотреблением, чем упомянутый выше Mali-T604.

Роль CPU и GPU от ARM на рынке

Несмотря на то, что компания ARM является автором и разработчиком одноимённой архитектуры, которая, повторимся, сейчас используется в подавляющем большинстве мобильных процессоров, её решения в виде ядер и графических ускорителей не пользуются популярностью у крупных производителей смартфонов. К примеру, справедливо считается, что флагманские коммуникаторы на Android OS должны иметь процессор Snapdragon с ядрами Krait и графический ускоритель Adreno от Qualcomm, чипсеты этой же компании используются в смартфонах на Windows Phone, а некоторые производители гаджетов, к примеру, Apple, разрабатывают собственные ядра. Почему же в настоящее время сложилась именно такая ситуация?

Возможно, часть причин может лежать глубже, но одна из них — отсутствие чёткого позиционирования CPU и GPU от ARM среди продуктов других компаний, вследствие чего разработки компании воспринимаются как базовые компоненты для использования в устройствах B-брендов, недорогих смартфонах и создания на их основе более зрелых решений. К примеру, компания Qualcomm почти на каждой своей презентации повторяет, что одной из её главных целей при создании новых процессоров является уменьшение энергопотребления, а её ядра Krait, будучи доработанными ядрами Cortex, стабильно показывают более высокие результаты по производительности. Аналогичное утверждение справедливо и для чипсетов Nvidia, которые ориентированы на игры, ну а что касается процессоров Exynos от Samsung и A-серии от Apple, то они имеют свой рынок за счёт установки в смартфоны этих же компаний.

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

Заключение

Микропроцессоры на архитектуре ARM успешно завоевали рынок мобильных устройств благодаря низкому энергопотреблению и сравнительно большой вычислительной мощности. Раньше с ARM конкурировали другие RISC-архитектуры, например, MIPS, но сейчас у неё остался только один серьёзный конкурент — компания Intel с архитектурой x86, которая, к слову, хотя и активно борется за свою долю рынка, пока не воспринимается ни потребителями, ни большинством производителей всерьёз, особенно при фактическом отсутствии флагманов на ней (Lenovo K900 сейчас уже не может конкурировать с последними топовыми смартфонами на ARM-процессорах).

mediatek-club.ru

Мобильные процессоры-2016: архитектуры ARM и x86/64

В первой статье цикла мы познакомимся с рынком современных мобильных процессоров, особенностями их архитектуры и основными техническими решениями. Следующие части будут посвящены конкретным производителям и техническим характеристикам всех моделей чипсетов для смартфонов и планшетов, актуальных на момент публикации.

Введение

Мобильные устройства планомерно вытесняют «старые добрые» стационарные компьютеры: смартфонов, планшетов и всякого рода гибридных гаджетов продаётся всё больше, а традиционные десктопы остаются уделом лишь любителей «самосбора» и экстремальных геймеров. Фактически, индустрия игр — это единственное, что ещё держит на плаву производителей ПК. Для подавляющего большинства обычных потребителей эти громоздкие, шумные и горячие ящики уже остались в далёком прошлом. Говоря «компьютер», мы уже чаще всего имеем в виду не системный блок с монитором, а ноутбук.

На сегодняшний день ноутбук — это разумный компромисс между производительностью (давно уже избыточной для большинства потребительных задач), портативностью и ценой. Но лэптопы неизбежно проигрывают по мобильности куда более компактным устройствам — смартфонам, планшетам и их гибридам — фаблетам (или смартпэдам, если угодно) и клавиатурным планшетам. Эти гаджеты почти невесомы, они не занимают много места и их можно постоянно носить с собой — в кармане или дамской сумочке. Что же касается производительности, то даже недорогой современный смартфон легко заткнёт за пояс игровой ПК начала 2000-х.

Поэтому вряд ли кого-то сегодня удивит тот факт, что мобильных процессоров в мире продаётся намного больше, чем «обычных» чипов для ПК. Подавляющее большинство таких процессоров построено на архитектуре ARM, но стараниями Intel в этом сегменте присутствуют и модели с «писишной» архитектурой x86/64. Но на этом поле задают тон уже не Intel и AMD, а Qualcomm и MediaTek — и, конечно же, сам разработчик микроархитектуры, британская компания ARM Holdings.

Архитектура ARM

Начнём с того, что же такое архитектура ARM и чем она отличается от архитектуры x86.

Центральные микропроцессоры x86 построены на базе архитектуры CISC (Complex Instruction Set Computing, «с полным набором инструкций»), в которой каждая инструкция может выполнять сразу несколько низкоуровневых операций. В 1978 году был выпущен 16-битный чип Intel 8086, в 1985 году — 32-разрядный «386-й», а в 1986 году — первый первый скалярный (то есть выполняющий одну операцию за один такт) чип i486 (80486) оо встроенной кэш-памятю и блоком вычислений с плавающей запятой (FPU). В 1993 году увидели свет процессоры Intel Pentium — первые суперскалярные (выполняющие несколько операций за такт) и суперконвейерные (в этих чипах было два конвейера) чипы семейства x86.

История ARM-процессоров восходит к архитектуре RISC (Reduced Instruction Set Computer, «с сокращённым набором команд», в основу которой положена идея повышения быстродействия за счёт максимального упрощения инструкций и ограничения их длины. Разработчиком ARM-процессоров стала британская компания Acorn Computers, выпускавшая 8-битные чипы для школьных компьютеров ВВС Micro, а также «бытовых» персоналок Apple I и II и Commodore PET. В 1986 году появился первый 32-битный чип на основе архитектуры RISС, способный конкурировать с x86-им — ARM 2, называние которого сложилось из аббревиатуры «Acorn RISC Machine». Современные ARM-процессоры — это тоже суперскалярные суперконвейерные микросхемы, но построенные на основе RISC-архитектуры. А компания ARM Holdings — это прямой потомок Acorn Computers.

С тех пор прошло много лет, и параллельное развитие двух идеологически различных микроархитектур показало, что «экономичная» RISC может на равных соперничать с «экстенсивной» CISC. При этом при сравнимой производительности, ARM-процессоры потребляют радикально меньше электроэнергии, чем аналоги с архитектурой x86/64, что и сделало их естественными кандидатами на место в мобильных устройствах, которые питаются от батарей.

Любопытно, что компания ARM Holdings за всё время своего существования не произвела ни одной микросхемы — она продаёт (лицензирует) интеллектуальную собственность, которая позволяет другим фирмам разрабатывать и производить чипы на основе архитектуры ARM. В состав предоставляемой лицезиатам информации может входить как общее описание цепей, соединяющих различные блоки на уровне перемещения данных между регистрами, так и документация на конкретные топологические блоки, на основе которой покупателю предлагается самостоятельно разработать физический дизайн микросхемы с учётом поставленных задач и технологических возможностей.

Системы на чипе

В отличие от классических «настольных» центральных процессоров, мобильные микросхемы представляют собой гораздо более сложную конструкцию — «систему на чипе». Такие системы объединяют в себе набор вычислительных ядер, которые могут быть разного типа и работать на разных частотах, кэш-память, графический ускоритель, специализированные цифровые сигнальные процессоры, звуковой адаптер, системную шину, контроллер оперативной памяти, интерфейсы для подключения экрана, камеры и клавиатуры, интерфейсные шины, модули беспроводной связи и прочие элементы.

В одной такой микросхеме умещается практически всё, что представлено отдельными модулями на материнской плате обычного настольного ПК. Такой подход сводит к минимуму число компонентов для сборки конечного продукта, позволяет уменьшить габариты печатной платы и в результате снижает себестоимость производства.

Мобильные «системы на чипе» часто называют чипсетами, что не совсем корректно, посколько это не набор из нескольких микросхем (chip set), а единая микросхема, однокристалльная система, включающая в себя центральный и графический процессор, а также модули связи и интерфейсные шины. Ещё совсем недавно контроллеры связи всегда выносились в отдельные внешние чипы, особенно в бюджетных версиях, но сегодня практически все доступные беспроводные адаптеры в большинстве случаев уже входят в состав системы на чипе.

Ядра Cortex-A

Инженеры ARM разрабатывают множество микропроцессоров, ориентированных на самые различные применения — от уличных терминалов до «умных» холодильников, но нас интересует лишь одна линейка — Cortex Ax. Процессоры на ядрах с индексом Ax предназначены для использования в смартфонах, планшетах и игровых приставках, в то время как чипы с индексами Mx или Кч можно встретить, например, в уличных терминалах, «умной» бытовой технике или в беспроводных роутерах.

Числовое значение в индексе означает не только поколение ядра, но и, как правило, производительность. В официальных характеристиках процессоров любых крупных производителей мобильных чипов вроде Qualcomm, Mediatek или Samsung можно найти сведения, на основе каких ядер построена та или иная микросхема, так что по ним можно примерно оценить уровень и «свежесть» той или иной модели. На коробках бюджетных гаджетов на основе чипов мелких компаний могут быть прямо указаны типы ядер, а не название модели процессора, которое мало что расскажет непрофессионалу.

32-разрядные процессоры Cortex на ядрах A5, A8 и A9 сегодня считаются безнадёжно устаревшими и уже не используются даже в бюджетных смартфонах и планшетах. Абсолютный минимум для аппарата эконом-класса на сегодняшний день — это двуядерный чип на Cortex A7. Такие микросхемы работают на тактовых частотах до 1,3-1,4 ГГц и обеспечивают достаточную производительность для большинства стандартных «смартфонных» задач.

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

Вышедшие в 2013 году ядра Cortex-A12 и A15 сконструированы под 28-нм технологические нормы и могут работать в тандеме с экономичными Cortex-A7, что позволяет создавать недорогие многоядерные и энергоэффективные «системы на чипе».

A12 работают на частотах до 1,8 ГГц, а А15 — до 2,5 ГГц, что позволяет их использовать не только в смартфонах, но и в гибридных клавиатурных планшетах. Достаточно сказать, что на базе A15 построены такие известные «системы на чипе», как Nvidia Tegra 4 и Samsung Exynos 5 Octa.

Ядра Cortex «пятидесятой» серии — это новый шаг в развитии ARM-архитектуры, знаменующий переход на 64-разрядность с возможностью адресации более 4 ГБ оперативной памяти и поддержкой новых наборов команд. Первым процессором, построенным на 64-битной архитектуре ARMv8, стал Apple A7 — «сердце» смартфона iPhonе 5S, который появился на рынке в сентябре 2013 года. А начиная с 2014 года все флагманские смартфоны ведущих производителей работают на 64-разрядной аппаратной платформе.

Флагманские ядра «семидесятой» серии Cortex-A72, представленные в начале 2015 года, на сегодняшний день обеспечивают максимальную производительность и используются в составе многоядерных гетерогенных процессоров вместе с более экономичными и дешёвыми Cortex-A53.

Типичная современная 64-битная «система на чипе» — это четыре энергоэффективных ядра Cortex A53, прямых потомков Cortex-A9, и четыре высокопроизводительных ядра Cortex-A57, работающих по схеме big.LITTLE с поддержкой наборов инструкций ARMv8/v8-A. При этом в бюджетном сегменте не редкость и морально устаревшие модели на 32-битных ядрах Cortex-A7 или A9, работающих с инструкциями ARMv7/v7-A или ARMv8-R.

Технология big.LITTLE

Схема big.LITTLE — это оригинальный способ совместить высокую производительность и энергоэффективность в одной многоядерной «системе на чипе». Идея проста: на одном кристалле устанавливаются несколько маломощных, но экономичных ядер, и несколько высокопроизводительных, но требовательных к питанию. При этом, в зависимости от нагрузки, задействуются либо экономичные, либо производительные ядра, либо те и другие в разных сочетаниях.

Существует три варианта реализации big.LITTLE: миграция между кластерами, миграция между ядрами и гетерогенный мультипроцессинг.

Самая простая схема «миграция между кластерами» предполагает объединение ядер в два кластера: экономичный и производительный. Первым чипом такого рода стал Samsung Exynos 5 Octa, анонсированный в начале 2013 года. В его состав вошли два кластера, состоящие из 4 энергоэффективных ядер Cortex-A7 и 4 мощных ядер Cortex-A15. Переключение между кластерами осуществляется полностью автоматически на аппаратном уровне, независимо от операционной системы, при этом задействуется либо один, либо другой кластер.

Более продвинутая схема «переключение между ядрами» (IKS — in-kernel switcher) задействуется на программном уровне и управляется средствами операционной системы. Здесь экономичное ядро объединяется с производительным в виртуальную пару, при этом в конкретный момент времени лишь одно из физических ядер получает полноценное питание. Возможны и более сложные реализации, когда в виртуальное ядро могут объединяться несколько экономичных или производительных ядер.

Наконец, самая сложная схема «гетерогенный мультипроцессинг» (MP — heterogeneous multi-processing) или «глобальное распределение задач» (GTS — Global Task Scheduling) позволяет одновременно использовать все физические ядра различных типов с разной нагрузкой, которая распределяется в зависимости от приоритетности на уровне операционной системы. На сегодняшний день технология big.LITTLE MP реализована в чипах Huawei Kirin 920, Mediatek MT6595, Samsung Exynos 5 и 7 Octa , 5 Hexa и других.

Видеоускорители

В состав «системы на чипе» входит графический адаптер, возможности которого могут варьироваться в весьма широких пределах — всё зависит как от поколения, так и от модели. Бюджетные варианты сегодня поддерживают несложные 3D-игры и уверенно декодируют HD-видео, а флагманы — шутя справляются с любыми игрушками и без проблем выводят на экран фильмы в формате 4K UHD.

Графические ускорители под маркой ARM Mali разрабатываются инженерами всё той же ARM Holdings и конструируются с учётом максимальной совместимости с вычислительными ядрами Cortex.

Бюджетный сегмент представляют Mali-400 MP, Mali-450 MP и Mali-450 MP4, поддерживающие программный интерфейс OpenGL ES 2.0. В среднем классе выступают Mali-T720 и Mali-T760 — они работают с Open GL ES 3.0, а в старшей лиге играют Mali-T860 и Mali-T880 c поддержкой OpenGL ES 3.1 и DirectX 11.1.

Крупные производители используют и собственные разработки: типичные примеры — это Qualcomm Adreno или Nvidia Tegra, о них мы поговорим в материалах, посвящённых этим производителям. В некоторых чипах применятся также конструкции сторонних разработчиков, например, компании Imagination Technologies, чьи ускорители PowerVR по лицензии используют Apple, Intel, MediaTek, Samsung и другие.

Intel Atom

Корпорация Intel сильно опоздала на «делёжку пирога» и выпустила первые процессоры для смартфонов и планшетов лишь в 2012 году, когда на этом рынке уже безраздельно царствовала британская ARM. Тем более непостижимо, что Intel удалось откусить кусочек такого конкурентного рынка с чипом, даже не имевшем нативной поддержки в тогдашних версиях Android — самой популярной мобильной ОС.

Процессор Intel Atom Z2460 (Medfield) — это ультранизковольтная версия «писишного» 32-разрядного одноядерного чипа c набором команд x86, технологией Hyper-Threading и расширениями SSE2/3, поддерживающая двухканальную память LPDDR2 800 объёмом до 2 ГБ. В качестве графического ускорителя использовался PowerVR SGX 540 поддержкой OpenGL ES 2.0 и OpenVG 1.1. Именно на основе этого чипа был разработан референсный дизайн смартфонов Intel в 2012 году, и все выпущенные на его базе аппараты были похожи как две капли воды — в том числе и российский MegaFon Mint SP-A20i.

Главная проблема первых Intel Atom заключалась в том, что операционная система Android работала на них через «посредника» — в чипе использовался аппаратный транслятор команд ARM для архитектуры x86. Мощности чипа вполне хватало для подобных излишеств, но мелкие проблемы с совместимостью всё же проявлялись в самых неожиданных местах и в самых разных приложениях. К тому же, смартфон с таким чипом получался слишком дорогим на фоне конкурентов.

Но если первые «интелофоны» умудрялись работать на Android 2.3 Gingerbread, то с появлением Android 4.0 Ice Cream Sandwitch поддержка процессоров x86 появилась уже на уровне ОС, и к настоящему времени проблемы с совместимостью практически полностью решены.

Тем не менее, Intel не удалось вытянуть платформу Atom во флагманский сегмент, максимум, чего удалось добиться — это выйти в нижний средний класс. Именно к нему и относятся практически все смартфоны на базе современных 64-разрядных Atom Z3560/Z3580 — например, Asus ZenFone 2 или Lenovo P90.

* * *
Во следующих частях нашего обзора мы поговорим о ведущих производителях мобильных «систем на чипе», конкретных моделях и их особенностях.

technotimes.ru

ARM нацелена на рынок серверов с новой 64-битной архитектурой ARMv8

Разработчик чипов компания ARM представила на днях восьмое поколение своей архитектуры набора команд (ISA). ARMv8 ISA расширяет текущую архитектуру ARMv7 поддержкой 64-битной адресации памяти. Компания отмечает, что данный шаг позволит чипам компании найти место на рынке серверов и других бизнес-секторах, принося преимущества энергоэффективности на рынок, который всё сильнее сталкивается с проблемой энергопотребления и эффективности вычислений.

Предыдущая архитектура набора команд ARMv7 обеспечивала работу 32-битного виртуального адресного пространства, расширяемого до 40-битного. Это позволяло чипам с ARMv7, таким как Cortex A8 и Cortex A9, лежащим в основе массы смартфонов, предоставлять приложениям до 4 Гбайт памяти, потенциально адресуя при этом до 1 Тбайт физической ОЗУ.

Для традиционных задач, в которых используются ядра ARM, 4 Гбайт достаточно, но компания желает вырваться с рынка мобильных устройств и встраиваемых систем в новые области. 64-битная адресация позволяет приложениям без труда оперировать куда большими объёмами данных, что делает её необходимой в таких областях как базы данных или научная обработка информации.  ARMv8 позволит чипам ARM взять на себя новую роль, оставаясь при этом энергоэффективными, — именно последнее преимущество позволило им получить широкое распространение на рынке смартфонов и планшетов.

 

 

64-битное программное обеспечение также становится всё более распространённым на ПК, позволяя программам вроде Adobe Photoshop или Microsoft Excel эффективно обрабатывать более габаритные изображения и таблицы. Как известно, на рынок в следующем году выйдет Windows 8, включающая поддержку ARM. Таким образом, 64-битная адресация может в перспективе пригодиться и в этой области.

ARMv8 ISA описывает инструкции и поведение 64-битных чипов ARM, позволяя разработчикам операционных систем и компиляторов начинать вносить изменения, необходимые для поддержки этих чипов. Процессоры ARMv8 будут способны оперировать как в 32-, так и в 64-битных режимах и будут обеспечивать поддержку таких функций ARMv7, как виртуализация, SIMD-инструкции Neon и возможности безопасности TrustZone.

 

 

Разработчикам аппаратных решений, впрочем, придётся подождать дольше. ARM планирует выпустить первый чип с поддержкой ARMv8 в следующем году и ожидает выхода прототипов систем на основе таких процессоров в 2014 году. Hewlett-Packard вполне может оказаться среди первых клиентов — недавно Bloomberg сообщил о том, что компания собирается выпускать серверы на основе чипов ARM.

Материалы по теме:

Источник:

3dnews.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *