Арм чип что это
Процессоры x86 и ARM — в чём разница?
Правда ли, что процессор в вашем мобильнике мощнее, чем в вашем компьютере?
Раньше было так: есть мощные процессоры для настольных компьютеров, ноутбуков и серверов, а есть слабые процессоры для мобильных устройств — телефонов и планшетов.
Теперь ситуация меняется: мобильные процессоры постепенно обгоняют настольные, а настольные начинают заимствовать технологии из мобильных.
RISC — простые команды, много кода
На заре процессоров у программистов не было языков высокого уровня, например JavaScript или Python. Все команды писались машинным кодом или на ассемблерах. Программист в то время работал с процессором напрямую, и каждая команда в коде обозначала какую-то инструкцию для процессора.
Например, типичная программа того времени по умножению одного числа на другое могла выглядеть для процессора так:
В итоге получалась большая программа, которую было довольно сложно прочитать.
Такую технологию назвали RISC — Reduced-instruction-set Computing, компьютер с ограниченным набором команд.
Некоторое время спустя технологию RISC усовершенствовали двумя разными способами — так появились архитектуры x86 и ARM. Первые ориентировались на мощные компьютеры, вторые — на небольшие устройства с пониженным энергопотреблением.
x86 — это сложный RISC
С развитием компьютеров программисты захотели писать более сложные программы. Но чем сложнее программа, тем больше кода приходилось писать.
Тогда компания Intel выпустила процессор 8086, который поддерживал много новых команд. Они упрощали написание кода, частично закрывая разрыв между машинным кодом и высокоуровневым языком программирования.
Возьмём тот же пример кода для перемножения двух чисел. Для процессора 8086 код выглядел так:
«Перемножь числа» — это новая сложная команда, доступная в этом процессоре. Когда процессор встречает её в коде, он выполняет много других инструкций, похожих на те, которые мы писали в начале, и получает тот же результат.
Такая технология называется CISC — complex instruction set computer, вычислительная машина со сложным набором команд.
✅ С одной стороны, программистам теперь проще писать код: вместо тридцати инструкций можно написать три, а результат будет таким же. Чем больше новых сложных команд поддерживает процессор, тем быстрее идёт разработка.
❌ С другой — процессору теперь нужно тратить некоторое время на перевод сложных команд в простые. Когда он получает от программиста команду «Перемножь эти два числа», то превращает её в те самые тридцать строк кода и выполняет каждую команду.
После процессора 8086 вышли процессоры 80286 и 80386. Они получились настолько удачными для того времени, что с тех пор Intel маркировку всех своих основных процессоров заканчивала на «86», а технология и набор команд получили название «x86».
ARM — это продвинутый RISC
По другому пути пошла компания ARM, название которой расшифровывается как «Улучшенные RISC-машины». Подход был такой: зачем нужно много сложных команды для процессора, если можно по максимуму использовать простейшие команды и сосредоточиться на эффективности работы?
В итоге ARM усовершенствовали RISC-архитектуру, сделали команды проще и сосредоточились на эффективности.
В те времена ARM-процессоры работали не так быстро, как процессоры семейства x86, зато они потребляли гораздо меньше энергии. Со временем это позволило использовать ARM-процессоры в мобильных телефонах.
Получается, процессоры отличаются тем, что x86 это CISC, а ARM — это RISC?
Большинство думает именно так, и в каком-то смысле это похоже на правду. Но это не совсем точно.
Современные x86-процессоры на 80% состоят из RISC-модулей, которые обрабатывают RISC-команды. Каждая сложная CISC-команда специальным декодером разбивается на много простых команд, которые и выполняют эти модули.
Получается, что в основе любого современного процессора всё равно лежит RISC-архитектура, сверху которой для каждого устройства наслаиваются свои дополнительные команды.
В чём успех ARM
Чтобы сделать процессор с x86-архитектурой, компании нужно самой придумать и нарисовать все транзисторы и соединения между ними. Это сложный и дорогой процесс, который не могут себе позволить маленькие компании. Из крупных производителей x86-процессоров остались только Intel и AMD.
В ARM сделали иначе — они продают лицензии на производство процессоров по своей архитектуре всем желающим. Получается, что любая компания может купить лицензию и делать свои ARM-процессоры. При этом компания может как угодно улучшать свои процессоры — изменять компоновку, добавлять новые модули и так далее.
Именно доступность лицензии и конкуренция привели к быстрому развитию ARM-процессоров, а не RISC-архитектура или наборы команд.
Сейчас на ARM свои процессоры выпускают Samsung, Nvidia, Qualcomm, Atmel, Huawei и многие другие. Если вы производитель смартфонов, вы можете разработать свой собственный процессор на ARM, а можете купить готовый у любой другой компании. Это создаёт конкуренцию на рынке, гонку технологий и всеобщий прогресс.
Главное — внутреннее устройство процессора
Современные процессоры состоят из множества отдельных модулей, каждый из которых делает что-то своё, например:
От того, как производитель реализует компоновку и соединение модулей, зависит быстродействие процессора и его применимость в разных областях. А из-за того, что ARM-архитектура основана на простых командах, в ней проще соединять такие модули между собой. Получается, что сила ARM — в простоте и гибкости.
Процессоры ARM: особенности архитектуры, отличия и перспективы
Первые чипы ARM появились еще три десятилетия назад благодаря стараниям британской компании Acorn Computers (ныне ARM Limited), но долгое время пребывали в тени своих более именитых собратьев – процессоров архитектуры х86. Все перевернулось с ног на голову с переходом IT-индустрии в пост-компьютерную эпоху, когда балом стали править уже не ПК, а мобильные гаджеты.
Особенности архитектуры ARM
Начать стоит, пожалуй, с того, что в процессорной архитектуре x86, которую сейчас используют компании Intel и AMD, применяется набор команд CISC (Complex Instruction Set Computer), хоть и не в чистом виде. Так, большое количество сложных по своей структуре команд, что долгое время было отличительной чертой CISC, сначала декодируются в простые, и только затем обрабатываются. Понятное дело, на всю эту цепочку действий уходит немало энергии.
Чип ARM1 – первенец компании Acorn Computers, который производился на фабриках VLSI
В качестве энергоэффективной альтернативы выступают чипы архитектуры ARM с набором команд RISC (Reduced Instruction Set Computer). Его преимущество в изначально небольшом наборе простых команд, которые обрабатываются с минимальными затратами. Как результат, сейчас на рынке потребительской электроники мирно (на самом деле, не очень мирно) уживаются две процессорные архитектуры – х86 и ARM, каждая из которых имеет свои преимущества и недостатки.
Первым в истории устройством на базе процессора архитектуры ARM был персональный компьютер BBC Micro
Архитектура х86 позиционируется как более универсальная с точки зрения посильных ей задач, включая даже столь ресурсоемкие, как редактирование фотографий, музыки и видео, а также шифрование и сжатие данных. В свою очередь архитектура ARM «выезжает» за счет крайне низкого энергопотребления и в целом-то достаточной производительности для важнейших на сегодня целей: прорисовки веб-страниц и воспроизведения медиaконтента.
Архитектурные отличия процессоров x86 (набор команд CISC) и ARM (набор команд RISC)
Бизнес-модель компании ARM Limited
Сейчас компания ARM Limited занимается лишь разработкой референсных процессорных архитектур и их лицензированием. Создание же конкретных моделей чипов и их последующее массовое производство – это уже дело лицензиатов ARM, которых насчитывается превеликое множество. Есть среди них как известные лишь в узких кругах компании вроде STMicroelectronics, HiSilicon и Atmel, так и IT-гиганты, имена которых у всех на слуху – Samsung, NVIDIA и Qualcomm. С полным списком компаний-лицензиатов можно ознакомиться на соответствующей странице официального сайта ARM Limited.
Только компаний, получивших лицензию на производство чипов семейства ARM Cortex-A, насчитается несколько десятков, а ведь в портфолио ARM Limited есть и другие разработки
Столь большое число лицензиатов вызвано в первую очередь обилием сфер применения ARM-процессоров, причем мобильные гаджеты – это лишь вершина айсберга. Недорогие и энергоэффективные чипы используется во встраиваемых системах, сетевом оборудовании и измерительных приборах. Платежные терминалы, внешние 3G-модемы и спортивные пульсометры – все эти устройства основаны на процессорной архитектуре ARM.
Российская компания «ПКК Миландр» со штаб-квартирой в Зеленограде, что интересно, тоже получила лицензию на производство чипов архитектуры ARM
Однокристальная система
С технической точки зрения называть чипы архитектуры ARM процессорами не совсем верно, ведь помимо одного или нескольких вычислительных ядер они включают целый ряд сопутствующих компонентов. Более уместными в данном случае являются термины однокристальная система и система-на-чипе (от англ. system on a chip).
Так, новейшие однокристальные системы для смартфонов и планшетных компьютеров включают контроллер оперативной памяти, графический ускоритель, видеодекодер, аудиоокодек и опционально модули беспроводной связи. Узкоспециализированные чипы могут включать дополнительные контроллеры для взаимодействия с периферийными устройствами, например датчиками.
Схема строения однокристальной системы с четырьмя ядрами ARM Cortex-A9
Отдельные компоненты однокристальной системы могут быть разработаны как непосредственно ARM Limited, так и сторонними компаниями. Ярким тому примером являются графические ускорители, разработкой которых помимо ARM Limited (графика Mali) занимаются Qualcomm (графика Adreno) и NVIDIA (графика GeForce ULP).
Не стоит забывать и про компанию Imagination Technologies, которая ничем другим, кроме проектирования графических ускорителей PowerVR, вообще не занимается. А ведь именно ей принадлежит чуть ли не половина глобального рынка мобильной графики: гаджеты Apple и Amazon, планшетники Samsung Galaxy Tab 2, а также недорогие смартфоны на базе процессоров MTK.
Устаревшие поколения чипов
Морально устаревшими, но все еще широко распространенными процессорными архитектурами являются ARM9 и ARM11, которые принадлежат к семействам ARMv5 и ARMv6 соответственно.
ARM9. Чипы ARM9 могут достигать тактовой частоты 400 МГц и, скорее всего, именно они установлены внутри вашего беспроводного маршрутизатора и старенького, но все еще надежно работающего мобильного телефона вроде Sony Ericsson K750i и Nokia 6300. Критически важным для чипов ARM9 является набор инструкций Jazelle, который позволяет комфортно работать с Java-приложениями (Opera Mini, Jimm, Foliant и др.).
ARM11. Процессоры ARM11 могут похвастаться расширенным по сравнению с ARM9 набором инструкций и куда более высокой тактовой частотой (вплоть до 1 ГГц), хотя для современных задач их мощности тоже не достаточно. Тем не менее, благодаря невысокому энергопотреблению и, что не менее важно, себестоимости, чипы ARM11 до сих пор применяются в смартфонах начального уровня: Samsung Galaxy Pocket и Nokia 500.
Современные поколения чипов
Все более-менее новые чипы архитектуры ARM принадлежат к семейству ARMv7, флагманские представители которого уже достигли отметки в восемь ядер и тактовой частоты свыше 2 ГГц. Разработанные непосредственно ARM Limited процессорные ядра принадлежат к линейке Cortex и большинство производителей однокристальных систем используют их без существенных изменений. Лишь компании Qualcomm и Apple создали собственные модификации на основе ARMv7 – первая назвала свои творения Scorpion и Krait, а вторая – Swift.
Чип Apple A6 (ядро Swift) – первая попытка Купертино собственноручно модифицировать архитектуру ARMv7
ARM Cortex-A8. Исторически первым процессорным ядром семейства ARMv7 было Cortex-A8, которое легло в основу таких известных SoC своего времени как Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab). Оно демонстрирует примерно вдвое более высокую производительность по сравнению с предшествующим ARM11. К тому же, ядро Cortex-A8 получило сопроцессор NEON для обработки видео высокого разрешения и поддержку плагина Adobe Flash.
Правда, все это негативно сказалось на энергопотреблении Cortex-A8, которое значительно выше чем у ARM11. Несмотря на то, что чипы ARM Cortex-A8 до сих пор применяются в бюджетных планшетниках (однокристальная система Allwiner Boxchip A10), их дни пребывания на рынке, по всей видимости, сочтены.
Однокристальная система TI OMAP 3 – представитель некогда популярного, но сейчас уже угасающего поколения ARM Cortex-A8
ARM Cortex-A9. Вслед за Cortex-A8 компания ARM Limited представила новое поколение чипов – Cortex-A9, которое сейчас является самым распространенным и занимает среднюю ценовую нишу. Производительность ядер Cortex-A9 выросла примерно втрое по сравнению с Cortex-A8, да еще и появилась возможность объединять их по два или даже четыре на одном чипе.
Сопроцессор NEON стал уже необязательным: компания NVIDIA в своей однокристальной системе Tegra 2 его упразднила, решив освободить побольше места для графического ускорителя. Правда, ничего хорошего из этого не вышло, ведь большинство приложений-видеопроигрывателей все равно ориентировались на проверенный временем NEON.
Почти все флагманские планшетные компьютеры образца 2011 года были построены на базе чипа NVIDIA Tegra 2
Именно во времена «царствования» Cortex-A9 появились первые реализации предложенной ARM Limited концепции big.LITTLE, согласно которой однокристальные системы должны иметь одновременно мощные и слабые, но энергоэффективные процессорные ядра. Первой реализацией концепции big.LITTLE стала система-на-чипе NVIDIA Tegra 3 с четырьмя ядрами Cortex-A9 (до 1,7 ГГц) и пятым энергоэффективным ядром-компаньоном (500 МГц) для выполнения простеньких фоновых задач.
ARM Cortex-A5 и Cortex-A7. При проектировании процессорных ядер Cortex-A5 и Cortex-A7 компания ARM Limited преследовала одно и ту же цель – добиться компромисса между минимальным энергопотреблением ARM11 и приемлемым быстродействием Cortex-A8. Не забыли и про возможность объединения ядер по два-четыре – многоядерные чипы Cortex-A5 и Cortex-A7 мало-помалу появляются в продаже (Qualcomm MSM8625 и MTK 6589).
Схема строения однокристальной системы c четырьмя ядрами ARM Cortex-A5
ARM Cortex-A15. Процессорные ядра Cortex-A15 стали логическим продолжением Cortex-A9 – как результат, чипам архитектуры ARM впервые в истории удалось примерно сравниться по быстродействию с Intel Atom, а это уже большой успех. Не зря ведь компания Canonical в системных требования к версии ОС Ubuntu Touch с полноценной многозадачностью указала двухъядерный процессор ARM Cortex-A15 или аналогичный Intel Atom.
Первой массовой однокристальной системой Cortex-A15 стала двухъядерная Exynos 5250, которая применяется в планшетнике Google Nexus 10 и лэптопе Samsung Chromebook
Очень скоро в продажу поступят многочисленные гаджеты на базе NVIDIA Tegra 4 с четырьмя ядрами ARM Cortex-A15 и пятым ядром-компаньоном Cortex-A7. Вслед за NVIDIA концепцию big.LITTLE подхватила компания Samsung: «сердцем» смартфона Galaxy S4 стал чип Exynos 5 Octa с четырьмя ядрами Cortex-A15 и таким же количеством энергоэффективных ядер Cortex-A7.
Схема однокристальной системы big.LITTLE с процессорными ядрами ARM Cortex-A15 (big) и Cortex-A7 (LITTLE)
Дальнейшие перспективы
Мобильные гаджеты на базе чипов Cortex-A15 еще толком не появились в продаже, а основные тенденции дальнейшего развития архитектуры ARM уже известны. Компания ARM Limited уже официально представила следующее семейство процессоров ARMv8, представители которого в обязательном порядке будут 64-разрядными. Открывают новую эпоху RISC-процессоров ядра Cortex-A53 и Cortex-A57: первое энергоэффективное, а второе высокопроизводительное, но оба способны работать с большими объемами оперативной памяти.
Производители потребительской электроники семейством процессоров ARMv8 пока особо-то не заинтересовались, но на горизонте вырисовались новые лицензиаты, планирующие вывести чипы ARM на серверный рынок: AMD и Calxeda. Идея новаторская, но вполне имеет право на жизнь: те же графические ускорители NVIDIA Tesla, состоящие из большого числа простых ядер, на практике доказали свою эффективность как серверных решений.
Почему мы используем платформу ARM в промышленном оборудовании
Сегодня почти каждый из нас использует устройства на базе ARM-процессоров — это смартфоны, телевизоры и даже холодильники с кофеварками. Несколько дней назад в прессу просочились слухи, что компания Apple объявит о переходе с платформы X86 на ARM на своих ноутбуках.
Мы в Advantech уже много лет производим устройства на платформе ARM и на это множество причин. В этой статье мы разберем что такое ARM (от англ. Advanced RISC Machine), в чем ее отличие от других архитектур и почему все больше производителей выбирает эту архитектуру.
Наборы инструкций RISC vs CISC
Для начала следует разобраться в чем принципиальное отличие процессоров ARM и X86. Для того, чтобы программисты смогли писать программы, работающие на разных процессорах, производители договорились унифицировать набор машинных инструкций до определенного формата и соблюдать его в разных моделях своих процессоров. Машинные инструкции это низкоуровневые команды, которые отвечают за базовые операции вроде записи/чтения/модификации данных в памяти, арифметику и т.д.
Существует несколько основных концепций, используемых при проектировании процессоров. Наиболее популярные и широко известные всем это RISC и CISC.
CISC (англ. Complex Instruction Set Computing) — этот подход используется для разработки универсальных и мощных процессоров, которые обычно используются в десктопных компьютерах и на серверах. Такие процессоры как Intel CoreiN/Xeon/Pentium, AMD Ryzen/Atlhon/Sempron и прочие хорошие знакомые процессоры имеют набор инструкций типа CISC, оформленную в виде стандарта x86.
Основные особенности концепции CISC:
RISC (англ. reduced instruction set computer) — противоположная концепция проектирования процессоров. В RISC команды максимально упрощены и имеют более строгий формат и фиксированную длину. За счет упрощенных инструкций достигается высокая производительность при малом энергопотреблении. Процессоры RISC требуют от программиста большой контроль над выполнением кода, так как не имеют встроенных микропрограмм, работающих внутри процессора. Архитектура ARM (от англ. Advanced RISC Machine — усовершенствованная RISC-машина) это продолжение идеи архитектуры RISC развиваемое компанией ARM Limited. Сегодня множество компаний производят свои собственные ARM процессоры по лицензии от ARM Limited — например, популярные в смартфонах Qualcomm Snapdragon, Mediatek, Allwiner, Apple An/Hn а также популярные во встраиваемых системах Freescale i.MX, Broadcom, Nvidia Tegra и другие.
Основные особенности концепции RISC:
X86 медленно развивается
Последнее десятилетие существенных инноваций в архитектуре X86 не наблюдается. Да, производители наращивают тактовую частоту и пытаются снижать энергопотребление, но такие процессоры по-прежнему остаются прожорливыми духовками, требующими много энергии и серьезную систему охлаждения. Именно поэтому мы, скорее всего, никогда не увидим смартфонов на X86 процессорах. Производители X86 процессоров пытаются наращивать мощность с помощью масштабирование в ширину: больше ядер, кеша и частот.
Современные X86 процессоры имеют десятки ядер
Попытки Intel создать энергоэффективный X86-процессор Atom были достаточно успешны, но кроме маломощных десктопов, ноутбуков и встраиваемых систем, этот процессор мало для чего подходит.
ARM это экономично и современно
Современные ARM-процессоры развиваются очень быстро. Каждый год выходят чипы существенно лучше своих предшественников. На данный момент средняя производительность ARM чипов все еще остается ниже X86, но в некоторых синтетических тестах они уже почти сравнялись.
Совершенно очевидно, что в будущем наши ноутбуки, и, возможно, десктопные компьютеры, будут работать на ARM-процессорах. Переходов ноутбуков Apple на собственные ARM-процессоры должно дать большой толчок всей индустрии в этом направлении.
Основные достоинства процессоров ARM:
Устройства Advantech на платформе ARM
Advantech давно производит продукты на базе платформы ARM для разных отраслей и задач. От промышленных контроллеров, до сетевого оборудования и компактных компьютеров. Мы уже рассказывали о некоторых наших продуктах на ARM в других статьях.
WISE-710 — IoT-шлюз на базе i.MX6
WISE-710 — универсальное устройство, которое одновременно может быть шлюзом для промышленных интерфейсов, устройством сбора и обработки данных, хабом для IoT устройств и маршрутизатором. Построено на базе SoC i.MX6, процессора на архитектуре ARM Cortex-A7.
ECU-1152 — Шлюз для промышленных интерфейсов на базе ARM Cortex A8
ECU-1152 — шлюз для промышленных интерфейсов а также устройство для связи с объектом и устройства сбора и передачи данных с объекта. Построено на базе процессора ARM процессора с ядром Cortex A8
Миниатюрный ARM-компьютер UNO-1251G
UNO-1251G — крохотных компьютер, умещающийся на DIN-рейку, на базе 32-битного процессора Cortex A8 под управлением Linux или Windows CE. Поддерживает модули расширения Wi-Fi/3G/4G. Имеет встроенную CAN-шину и два интерфейса RS-232. Два порта LAN позволяют подключать его к двум независимым Ethernet сетям или использовать как маршрутизатор.
Компьютеры для машинного обучения на базе Nvidia Jetson
MIC-720AI — построен на базе платформы Jetson TX2, работающей на собственных ядрах Nvidia ARM Cortex-A57 и NVIDIA Denver 2 с полностью пассивным охлаждением. Предназначен для установки в промышленные системы машинного зрения, на производстве и в подвижных объектах. Безвентиляторная конструкция обеспечивает полную бесшумность в работе и позволяет использовать компьютер в пыльных помещениях без необходимости обслуживания. Работает под управлением Linux
Будущее за ARM
Наверняка архитектура X86 с нами еще надолго. Все профессиональные высокопроизводительные вычисления пока делаются на этой платформе. Под X86 написаны основные десктопные операционные системы и прикладные программы. Однако уже сегодня ARM активно вытесняет устаревший X86 даже в сфере больших вычислений. Платформы вроде Nvidia Jetson сравнимы по производительности, а в некоторых задачах и превосходят системы на базе X86. Так что нас обязательно ждет яркое противостояние двух платформ, от которой в конечном счете потребители только выиграют.
Расскажите, как вы используете ARM-процессоры сегодня или как планируете использовать в будущем.