Процессоры ARM – что это такое и «с чем их едят. Предназначение процессора ARM Cortex-R

Здравствуйте наши любимые читатели. Сегодня мы расскажем вам про архитектуру процессора Cortex a53.

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

Характеристики

Данные процессоры могут иметь от 1 до 8 ядер, систему памяти типа L1 и общий кэш L2. Чтобы понимать, что отличает основную составляющую практически всей техники этой модели от других, нужно знать её преимущества:

  • Высокопроизводительность (поддержка широкого спектра мобильных приложений, DTV, аэрокосмических машин, хранилищ и прочей техники подобного образца);
  • Высококачественная архитектура Army8-A для автономных конструкций начального уровня;
  • Универсальность (может быть сопряжен с любыми процессорами, такими как Cortex-A72, Cortex-A57 и другие);
  • Качественный продукт с большим объёмом загрузки.

Это основные сильные стороны данного продукта, однако далеко не все его преимущества. Ядро этой марки выполняет множество функций:

  • Поддерживает до 64bit и архитектуры самых новых версий;
  • Технология безопасности TrustZone;
  • Расширения DSP и SIMD;
  • 8-ступенчатый конвейер с двумя выходами и улучшенным целым числом;
  • Может работать на частоте от 1,5 Ггц;
  • Поддержка виртуализации оборудования.

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

Где чаще всего используется

Процессоры данного типа встречаются не только в смартфонах среднего класса (Xiaomi redmi 4, Redmi 3s, Meizu m3/m5 Note и др.), а и в следующих технологиях:

  • Авиационно-космическая техника;
  • Сеть;
  • Хранилища данных (типа HDD, SDD);
  • Автомобильная информационно-развлекательная система;

Дополнительные возможности

  • Трубопровод, который отвечает за низкое энергопотребление;
  • Высокая пропускная способность, которая позволяет выполнять одновременно несколько команд;
  • Расширенные функции энергосбережения.

Процессор связан с разными IP

Данная техника используется в SoC, а также в технологиях типа Arm, графических IP, системных IP и физических IP. Мы предоставляем вам полный список инструментов, в которых может быть использован c ядром этой марки:

  • Mali-T860/Mali-T880;
  • Mali-DP550;
  • Mali-V550;
  • CoreLink;
  • Контролёр памяти;
  • Контролёр прерываний;
  • Студия разработки DS-5;
  • ARM компилятор;
  • Доски разработки;
  • Быстрые модели.

Существует 2 типа процессоров Cortex a53:

  • AArch64 – даёт возможность устанавливать и использовать 64-битные приложения;
  • AArch32 – даёт возможность использовать только существующие приложения Armv7-A.

Для чего вам нужна эта вся техническая информация

Если вы ничего не понимаете в технике и характеристиках, то более простыми словами Cortex a53 обеспечивает гораздо большую производительность нежели его предшественники с более высоким уровнем энергоэффективности. Производительность ядра даже выше, чем у марки Cortex-A7, которая стоит на многих популярных смартфонах.

Архитектура Armv8-A – это то, что определяет функциональность технологий. У данной марки ядра стоит 64-битная обработка данных, расширенная виртуальная адресация и 64-разрядные регистры общего назначения. Все эти функции сделали этот процессор первым, который был предназначен конкретно для обеспечения энергоэффективной 64-битной обработки.

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

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

С вами был сайт


Еще совсем недавно (всего 10 лет назад) на рынке пользовательских процессоров было три архитектуры, и все они были более-менее неплохо разделены: ARM-процессоры ставились в мобильные устройства, где важно было время автономной работы, x86-процессоры ставились в устройства под управлением Windows, ну и в пику Intel Apple использовала в своих устройствах процессоры на архитектуре PowerPC (хотя мы знаем, что она все же «переползла» на x86). Но на сегодняшний момент на рынке пользовательских процессоров осталось всего две архитектуры - PowerPC выбыл из гонки, причем совсем недавно: последнее устройство на этой архитектуре, PlayStation 3, перестали производить всего пару недель назад. Более того - все больше утечек о том, что на ARM-процессорах можно будет запускать полноценную Windows, и с другой стороны - тот же Android отлично работает с х86-процессорами начиная с версии 4.0. То есть, как мы видим, разница между этими архитектурами все больше размывается в глазах пользователей, и в этой статье мы и выясним, почему так происходит.

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

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


Процессоры х86 построены на архитектуре CISC (Complex Instruction Set Computing, процессоры с полным набором инструкций) - это означает, что в процессоре реализовано максимальное число инструкций, что, с одной стороны, упрощает написание программ и уменьшает их вес, и другной стороны - процессор практически невозможно нагрузить на 100%.

Первым процессором на архитектуре х86 был Intel 8086 - это первый 16-битный процессор от Intel, работающий на частоте до 10 МГц и выпущенный в 1978 году. Процессор оказался крайне популярным и производился до 1990 года, а все последующие процессоры стали с делать с ним совместимые. Сначала эта совместимость показывалась в виде окончания названия процессора на 86, ну а в дальнейшем, с выходом Pentium, архитектуру решили назвать х86.

В 1985 году вышел процессор i386, который стал первым 32-битный процессором от Intel, а к 1989 году Intel выпустила первый скалярный процессор i486 - этот процессор умел выполнять одну операцию за такт. В дальнейшем, с выходом Pentium в 1993 году, процессоры от Intel стали суперскалярными, то есть научились делать несколько операций за один такт, и суперконвейерными - то есть имели два вычислительных конвейера. Но это было еще не все - по сути все процессоры Intel, начиная с i486DX, являются CISC-процессорами с RISC-ядром (Reduced Instruction Set Computer, процессоры с сокращённым набором инструкций): в микропроцессор встраивается аппаратный транслятор, который непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC, при этом одна команда x86 может порождать несколько RISC-команд.

С тех пор особо ничего не поменялось - да, росло число конвейеров, росло число операций за такт, процессоры стали многоядерными и 64-битными, но до сих пор все решения от Intel и AMD являются суперконвейерными суперскалярными микропроцессорами, построенными на основе CISC-архитектуры с RISC-ядром.

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

Архитектура ARM появилась позже x86, в 1986 году с выходом процессора ARM2. Цель ее разработки была в максимальной оптимизации и уменьшения числа транзисторов - к примеру, под нагрузкой x86-процессор тогда использовал едва ли 30% от числа всех транзисторов, все другие банально простаивали. Поэтому ARM разработали собственный чип на RISC-архитектуре, который назвали ARM2 - он имел всего 30000 транзисторов (сравните с 275 тысячами транзисторов в актуальном тогда i386), и не имел как кэша (что в общем-то тогда было нормой для процессоров - кэш можно было докупить и поставить отдельно), но и микропрограммы как таковой - микрокод исполнялся как и любой другой машинный код, путём преобразования в простые инструкции:


В итоге из-за того, что число транзисторов в ARM-процессорах ощутимо меньше, чем в х86, мы и получаем, что их тепловыделение тоже ощутимо ниже. Но, с другой стороны, из-за упрощенной архитектуры и производительность у ARM тоже ощутимо ниже, чем у x86.

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

Итоги

В результате мы видим две крайности: x86 являются мощными решениями, обвешанными инструкциями, которые могут выполнять абсолютно любые задачи с хорошей скоростью. Но за это приходится платить увеличенным тепловыделением. ARM же - простые процессоры, у которых набор инструкций ощутимо меньше, поэтому выполнение многих серьезных задач на них не имеет особого смысла из-за медлительности процесса. Но при этом и тепловыделение низкое. Однако самое основное - обе архитектуры поддерживают RISC-инструкции, а значит что на обеих архитектурах можно запускать одинаковые ОС, что мы и видим в случае с Android, Linux и Windows, и это означает, что в будущем разница между х86 и ARM будет размываться все больше.

Они подумали, что раз уж группе студентов удалось создать вполне конкурентоспособный процессор, то их инженерам это будет не сложно. Поездка в Western Design Center в Фениксе показала инженерам Стиву Ферберу и Софи Уилсон, что им не потребуются невероятные ресурсы для осуществления этого плана.

Уилсон приступила к разработке системы команд , создавая симулятор нового процессора на компьютере BBC Micro . Это убедило инженеров Acorn, что они на верном пути. Но все же перед тем, как идти дальше, им требовалось больше ресурсов. Настало время для Уилсон подойти к директору Acorn Герману Хаузеру и объяснить, в чем же дело. После того как он дал добро, собралась небольшая команда для реализации модели Уилсон на аппаратном уровне.

Acorn RISC Machine: ARM2

Официальный проект Acorn RISC Machine был начат в октябре 1983 года . VLSI Technology (англ. ) была выбрана в качестве поставщика кремниевых компонентов, так как она уже снабжала Acorn микросхемами ПЗУ и некоторыми нестандартными интегральными схемами. Разработку возглавили Уилсон и Фербер. Их основной целью было достижение низкой латентности обработки прерывания, как у MOS Technology 6502 . Архитектура доступа к памяти, взятая от 6502, позволила разработчикам достичь хорошей производительности без использования дорогостоящего в реализации модуля DMA . Первый процессор был произведен VLSI 26 апреля 1985 года - тогда он впервые заработал и был назван ARM1. Первые серийные процессоры под названием ARM2 стали доступны в следующем году.

Его первое применение было в качестве второго процессора в BBC Micro , где он был использован при разработке программного обеспечения для моделирования, что позволило завершить работу над вспомогательными микросхемами компьютера, а также ускорить работу программного обеспечения CAD , используемого при разработке ARM2. Уилсон оптимизировала набор инструкций ARM для исполнения BBC BASIC . Изначальная цель компьютера, полностью построенного на базе ARM, была достигнута в 1987 году с выходом Acorn Archimedes.

Атмосфера вокруг проекта ARM была настолько секретна, что когда компания Olivetti вела переговоры о покупке контрольного пакета акций Acorn в 1985 году, они не стали рассказывать о развитии проекта до конца переговоров. В 1992 году Acorn еще раз выиграл премию королевы за ARM.

В ARM2 была 32-разрядная шина данных, 26-битное адресное пространство и 16 32-разрядных регистров. Программный код должен был лежать в первых 64 мегабайтах памяти, а программный счётчик был ограничен 26 битами, так как верхние 4 и нижние 2 бита 32-битного регистра служили флагами. ARM2 стал, возможно, самым простым из популярных 32-битных процессоров в мире, имея всего лишь 30000 транзисторов (для сравнения, в сделанном на 6 лет раньше процессоре Motorola 68000 было около 70000 транзисторов). Многое из этой простоты обусловлено отсутствием микрокода (который в процессоре 68000 занимает от одной четверти до одной трети площади кристалла), и отсутствием кэша , как и в многих процессорах того времени. Эта простота привела к низким затратам энергии, в то время как ARM был гораздо более производителен, чем Intel 80286. У его преемника - процессора ARM3 - уже был кэш 4 кб, что еще больше увеличило производительность.

Apple, DEC, Intel: ARM6, StrongARM, XScale

Современные смартфоны, КПК и другие портативные устройства используют в основном версию ядра ARMv5. Процессоры XScale и ARM926 (ARMv5TE) сейчас более многочисленны в высокотехничных устройствах, чем, например, процессоры StrongARM и процессоры ARMv4 на базе ARM9TDMI и ARM7TDMI, но менее сложные приборы могут использовать старые версии с меньшей лицензионной стоимостью. Процессоры ARMv6 по своей производительности на голову выше, чем стандартные ARMv5. Cortex-A создан специально для смартфонов, которые раньше использовали ARM9 и ARM11. Cortex-R созданы для приложений, работающих в реальном времени, а Cortex-M - для микроконтроллеров.

Влияние ARM-технологии на рынок

К концу 2012 года новые модели ARM-процессоров Apple и Samsung достигли производительности бюджетных процессоров Intel для ноутбуков. В частности, планшет Samsung Nexus 10 показал рейтинг производительности 2348 баллов , в то время как бюджетный процессор Intel Core Duo в ноутбуке Apple MacAir показывает рейтинг только 1982 балла .

Отдельные компании заявляют о разработках эффективных серверов на базе кластеров ARM процессоров . Тем не менее, на 2012 год продажи серверов на ARM исчезающе малы (< 1% рынка серверов) .

Процессоры ARM

Семейство ядер Версия архитектуры Ядро Функции Кэш (I/D)/MMU Типичная MIPS @ МГц Использование
ARM1 ARMv1 (устаревшая) ARM1 Нет ARM Evaluation System процессор BBC Micro
ARM2 ARMv2 (устаревшая) ARM2 Добавлена команда MUL (умножение) Нет 4 MIPS @ 8 МГц
0.33 DMIPS/МГц
Acorn Archimedes , Chessmachine
ARMv2a (устаревшая) ARM250 Встроенный MEMC (MMU), графический процессор, добавлены команды SWP и SWPB (swap) Нет, MEMC1a 7 MIPS @ 12 МГц Acorn Archimedes
ARM3 ARMv2a (устаревшая) ARM2a Впервые использован кэш 4 КБ общий 12 MIPS @ 25 МГц
0.50 DMIPS/МГц
Acorn Archimedes
ARM6 ARMv3 (устаревшая) ARM60 Впервые введено 32-битное (а не 26-битное) адресное пространство памяти Нет 10 MIPS @ 12 МГц 3DO Interactive Multiplayer , Zarlink GPS Receiver
ARM600 Как ARM60, сопроцессор математики с плавающей запятой FPA10 4 КБ общий 28 MIPS @ 33 МГц
ARM610 Как ARM60, кэш, без шины сопроцессора 4 КБ общий 17 MIPS @ 20 МГц
0.65 DMIPS/МГц
Acorn Risc PC 600, Apple Newton 100 series
ARM7 ARMv3 (устаревшая) ARM700 8 КБ общий 40 МГц
ARM710 Как ARM700 8 КБ общий 40 МГц Acorn Risc PC 700
ARM710a Как ARM700 8 КБ общий 40 МГц
0.68 DMIPS/МГц
Acorn Risc PC 700, Apple eMate 300
ARM7100 Как ARM710a, интегрированная SoC 8 КБ общий 18 МГц Psion Series 5
ARM7500 Как ARM710a, интегрированная SoC. 4 КБ общий 40 МГц Acorn A7000
ARM7500FE Как ARM7500, «FE» добавлены FPA и EDO контроллеры памяти 4 КБ общий 56 МГц
0.73 DMIPS/МГц
Acorn A7000+ Network Computer
ARM7TDMI ARMv4T ARM7TDMI(-S) 3-ступенчатый конвейер, режим Thumb Нет 15 MIPS @ 16.8 МГц
63 DMIPS @ 70 МГц
Game Boy Advance , Nintendo DS , Apple iPod , Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 and LH754xx , Actel "s CoreMP7
ARM710T Как ARM7TDMI, кэш 8 КБ общий, MMU 36 MIPS @ 40 МГц Psion Series 5mx , Psion Revo /Revo Plus/Diamond Mako
ARM720T Как ARM7TDMI, кэш 8 КБ общий, MMU с расширением быстрого переключения контекстов (англ. Fast Context Switch Extension ) 60 MIPS @ 59.8 МГц Zipit Wireless Messenger, NXP Semiconductors LH7952x
ARM740T Как ARM7TDMI, кэш MPU
ARMv5TEJ ARM7EJ-S 5-ступенчатый конвейер, Thumb, Jazelle DBX, усовершенствованные команды DSP none
StrongARM ARMv4 SA-110 16 KB/16 KB, MMU 203 MHz
1.0 DMIPS/MHz
Apple Newton 2x00 series, Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS
SA-1100 16 KB/8 KB, MMU 203 MHz Psion netBook
SA-1110 Как SA-110, интегрированная SoC 16 KB/8 KB, MMU 206 MHz LART (computer), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560 series, Palm Zire 31
ARM8 ARMv4 ARM810 5-ступенчатый конвейер, static branch prediction, double-bandwidth memory 8 KB unified, MMU 84 MIPS @ 72 MHz
1.16 DMIPS/MHz
Acorn Risc PC прототип карты CPU
ARM9TDMI ARMv4T ARM9TDMI 5-ступенчатый конвейер, Thumb none
ARM920T Как ARM9TDMI, кэш 16 KB/16 KB, MMU with FCSE (Fast Context Switch Extension) 200 MIPS @ 180 MHz Armadillo, Atmel AT91SAM9, GP32 , GP2X (first core), Tapwave Zodiac (Motorola i. MX1), Hewlett Packard HP-49/50 Calculators, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner ), Samsung S3C2410 (TomTom navigation devices)
ARM922T Как ARM9TDMI, кэш 8 KB/8 KB, MMU NXP Semiconductors LH7A40x
ARM940T Как ARM9TDMI, кэш 4 KB/4 KB, MPU GP2X (второе ядро), Meizu M6 Mini Player
ARM9E ARMv5TE ARM946E-S Thumb, Enhanced DSP instructions, caches variable, tightly coupled memories, MPU Nintendo DS , Nokia N-Gage , Canon PowerShot A470, Canon EOS 5D Mark II , Conexant 802.11 chips, Samsung S5L2010
ARM966E-S Thumb, Enhanced DSP instructions no cache, TCMs STM STR91xF, includes Ethernet
ARM968E-S Как ARM966E-S no cache, TCMs NXP Semiconductors LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, Enhanced DSP instructions variable, TCMs, MMU 220 MIPS @ 200 MHz, Mobile phones: Sony Ericsson (K, W series); Siemens and Benq (x65 series and newer); LG Arena, LG Cookie Fresh ; TI OMAP1710... OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100...MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000 , GPH Wiz, NEC C10046F5-211-PN2-A SoC - undocumented core in the ATi Hollywood graphics chip used in the Wii, Samsung S3C2412 used in Squeezebox Duet"s Controller. Squeezebox Radio; NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901;ZiiLABS" ZMS-05 system on a chip; Western Digital MyBook I World Edition
ARMv5TE ARM996HS Clockless processor, как ARM966E-S no caches, TCMs, MPU
ARM10E ARMv5TE ARM1020E 6-ступенчатый конвейер, Thumb, улучшенные DSP-инструкции, (VFP) 32 KB/32 KB, MMU
ARM1022E Как ARM1020E 16 KB/16 KB, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, Enhanced DSP instructions, (VFP) variable, MMU or MPU Western Digital MyBook II World Edition;Conexant so4610 and so4615 ADSL SoC
XScale ARMv5TE 80200/IOP310/IOP315 I/O Processor, Thumb, Enhanced DSP instructions
80219 400/600 MHz Thecus N2100
  • Процессор Intel 80219 включает высокоскоростное 32-разрядное ядро XScale с частотой 400 или 600 МГц с 64-разрядным интерфейсом PCI-X
  • Шина PCI/ PCI-X позволяет подключать гигабитные контроллеры Ethernet
IOP321 600 BogoMips @ 600 MHz Iyonix
IOP33x
IOP34x 1-2 core, RAID Acceleration 32K/32K L1, 512K L2, MMU
PXA210/PXA250 Applications processor, 7-ступенчатый конвейер PXA210: 133 and 200 MHz, PXA250: 200, 300, and 400 MHz Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA255 32KB/32KB, MMU 400 BogoMips @ 400 MHz; 371-533 MIPS @ 400 MHz Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263 200, 300 and 400 MHz Sony CLIÉ NX73V, NX80V
PXA26x default 400 MHz, up to 624 MHz Palm Tungsten T3
PXA27x Applications processor 32 KB/32 KB, MMU 800 MIPS @ 624 MHz Gumstix verdex, «Trizeps-Modules» PXA270 COM, HTC Universal, hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q, Balloon3, Trolltech Greenphone , Palm TX, Motorola Ezx Platform A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Toshiba Portégé G900, Trēo 650-755p, Zipit Z2, HP iPaq 614c Business Navigator
PXA800(E)F
PXA3XX (codenamed «Monahans») У PXA31x имеется аппаратный графический ускоритель 32KB/32KB L1, TCM, MMU 800 MIPS @ 624 MHz Highscreen alex
PXA900 Blackberry 8700, Blackberry Pearl (8100)
IXC1100 Control Plane Processor
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42x NSLU2 IXP460/IXP465
ARM11 ARMv6 ARM1136J(F)-S 8-ступенчатый конвейер, SIMD , Thumb, Jazelle DBX, (VFP), улучшенные DSP-инструкции variable, MMU 740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz TI OMAP2420 (Nokia E90 , Nokia N93 , Nokia N95 , Nokia N82), Zune , BUGbase , Nokia N800 , Nokia N810 , Qualcomm MSM7200 (with integrated ARM926EJ-S Coprocessor@274 MHz, used in Eten Glofiish, HTC TyTN II , HTC Nike), Freescale i.MX31 (used in the original Zune 30gb and Toshiba Gigabeat S), Freescale MXC300-30 (Nokia E63 , Nokia E71 , Nokia E72 , Nokia 5800 , Nokia E51 , Nokia 6700 Classic, Nokia 6120 Classic , Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75 , Nokia N97 , Nokia N81), Qualcomm MSM7201A as seen in the HTC Dream , HTC Magic , Motorola ZN5, Motorola E8, Motorola VE66, Motorola Z6, HTC Hero , & Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 used in ZTE Link, HTC Legend , HTC Wildfire S , LG P500, LG GT540,
ARMv6T2 ARM1156T2(F)-S 9-ступенчатый конвейер, SIMD , Thumb-2, (VFP), улучшенные DSP-инструкции variable, MPU
ARMv6KZ ARM1176JZ(F)-S Как ARM1136EJ(F)-S variable, MMU+TrustZone Apple iPhone (original and 3G) , Apple iPod touch (1st and 2nd Generation) , Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100 ; Mediatek MT6573 ; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (e.g. Samsung Moment), S3C6430
ARMv6K ARM11 MPCore Как ARM1136EJ(F)-S, 1-4 core SMP variable, MMU Nvidia APX 2500
Семейство ядер Версия архитектуры Ядро Функции Кэш (I/D)/MMU Типичная MIPS @ MHz Приложения
Cortex ARMv7-A Cortex-A5 VFP, NEON, Jazelle RCT and DBX, Thumb-2, 8-ступенчатый конвейер, In-order, 1-4 core SMP variable (L1), MMU+TrustZone up to 1500 (1.5 DMIPS/MHz) «Sparrow» (ARM code name)
Cortex-A8 VFP, NEON, Jazelle RCT, Thumb-2; 13-ступенчатый конвейер, In-order, 2 декодера variable (L1+L2), MMU+TrustZone up to 2000 (2.0 DMIPS/MHz in speed from 600 MHz to greater than 1 GHz) TI OMAP3xxx series, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS , Apple iPod touch (3rd Generation) , Apple iPad (Apple A4 processor), Apple iPhone 4 (Apple A4 processor), Archos 5, Archos 101, FreeScale i.MX51-SOC, BeagleBoard , Motorola Droid, Motorola Droid X, Palm Pre , Samsung Omnia HD , Samsung Wave S8500 , Nexus S , Sony Ericsson Satio, Touch Book , Nokia N900 , Meizu M9 , ZiiLABS ZMS-08 system on a chip, Boxchip A13
Cortex-A9 Application profile, (VFP), (NEON), Jazelle RCT and DBX, Thumb-2, Out-of-order speculative issue superscalar (2 декодера); 9-12 стадий конвейера MMU+TrustZone 2.5 DMIPS/MHz Apple iPhone 4S , Apple iPad 2 (Apple A5), MediaTek MT6575/6515M
Cortex-A9 MPCore Как Cortex-A9, 1-4 core SMP MMU+TrustZone 10,000 DMIPS @ 2 GHz on Performance Optimized TSMC 40G (quad core?) (2.5 DMIPS/MHz per core) PlayStation® Vita , TI OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2 , Samsung Exynos 4210, MediaTek MT6577/6517
Cortex-A15 MPCore 1-32 core SMP; Out-of-order superscalar (3 декодера); 15+ ступеней конвейера ; VFPv4, NEON MMU, LPAE 3.5 DMIPS/MHz/Core; 1.0GHz - 2.5GHz (@ 28nm )
Cortex-A7 MPCore FPU,NEON; In-order (1 декодер); 8 стадий конвейера. MMU, LPAE 1.9 DMIPS/MHz/CPU; 0.8-1.5 GHz (@28nm) (Broadcom, Freescale, HiSilicon, LG, Samsung, STEricsson, TexasInstruments, MediaTek)
ARMv7-R Cortex-R4(F) Embedded profile, Thumb-2, (FPU) variable cache, MPU optional 600 DMIPS @ 475 MHz Broadcom is a user, TI TMS570
ARMv7-ME Cortex-M4 (codenamed «Merlin») Microcontroller profile, both Thumb and Thumb-2, FPU. Hardware MAC, SIMD and divide instructions MPU optional 1.25 DMIPS/MHz NXP Semiconductors
ARMv7-M Cortex-M3 Microcontroller profile, Thumb-2 only. Hardware divide instruction no cache, MPU optional 125 DMIPS @ 100 MHz Stellaris , STM STM32 , NXP LPC1700 , Toshiba TMPM330FDFG , Ember"s EM3xx Series, Atmel AT91SAM3, Europe Technologies EasyBCU , Energy Micro"s EFM32, Actel "s SmartFusion , Миландр 1986ВЕ91Т
ARMv6-M Cortex-M0 (codenamed «Swift») Microcontroller profile, Thumb-2 subset (16-bit Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB) No cache 0.9 DMIPS/MHz NXP Semiconductors NXP LPC1100 , Triad Semiconductor , Melfas , Chungbuk Technopark , Nuvoton , austriamicrosystems , Миландр К1986ВЕ2Т
Cortex-M1 FPGA targeted, Microcontroller profile, Thumb-2 subset (16-bit Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB) None, tightly coupled memory optional Up to 136 DMIPS @ 170 MHz (0.8 DMIPS/MHz, MHz achievable FPGA-dependent) Actel ProASIC3, ProASIC3L, IGLOO and Fusion PSC devices , Altera Cyclone III , other FPGA products are also supported e.g. Synplicity
Семейство ядер Версия архитектуры Ядро Функции Кэш (I/D)/MMU Типичная MIPS @ MHz Приложения

Архитектура

Уже давно существует справочное руководство по архитектуре ARM, которое разграничивает все типы интерфейсов, которые поддерживает ARM, так как детали реализации каждого типа процессора могут отличаться. Архитектура развивалась с течением времени, и начиная с ARMv7 были определены 3 профиля: ‘A’(application) - приложения, ‘R’(real time) - в реальном времени,’M’(microcontroller) - микроконтроллер.

Профили могут поддерживать меньшее количество команд (команды определенного типа).

Режимы

Процессор может находиться в одном из следующих операционных режимов:

  • User mode - обычный режим выполнения программ. В этом режиме выполняется большинство программ.
  • Fast Interrupt (FIQ) - режим быстрого прерывания (меньшее время срабатывания)
  • Interrupt (IRQ) - основной режим прерывания.
  • System mode - защищённый режим для использования операционной системой.
  • Abort mode - режим, в который процессор переходит при возникновении ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера).
  • Supervisor mode - привилегированный пользовательский режим.
  • Undefined mode - режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию.

Переключение режима процессора происходит при возникновении соответствующего исключения, или же модификацией регистра статуса.

Набор команд

Чтобы сохранить дизайн чистым, простым и быстрым, оригинальное изготовление ARM было исполнено без микрокода, как и более простой 8-разрядный процессор 6502, используемый в предыдущих микрокомпьютерах от Acorn Computers .

Набор команд ARM

Режим, в котором исполняется 32-битный набор команд.

Набор команд Thumb

Для улучшения плотности кода процессоры, начиная с ARM7TDMI, снабжены режимом «thumb». В этом режиме процессор выполняет альтернативный набор 16-битных команд. Большинство из этих 16-разрядных команд переводятся в нормальные команды ARM. Уменьшение длины команды достигается за счет сокрытия некоторых операндов и ограничения возможностей адресации по сравнению с режимом полного набора команд ARM.

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

Аппаратные средства типа Game Boy Advance, как правило, имеют небольшой объем оперативной памяти доступной с полным 32-битным информационным каналом. Но большинство операций выполняется через 16-битный или более узкий информационный канал. В этом случае имеет смысл использовать тумбовый код и вручную оптимизировать некоторые тяжелые участки кода, используя переключение в режим полных 32-битных инструкций ARM.

Первым процессором с декодером тумбовых команд был ARM7TDMI. Все процессоры семейства ARM9, а также XScale, имели встроенный декодер тумбовых команд.

Набор команд Thumb-2

Thumb-2 - технология, стартовавшая с ARM1156 core, анонсированного в 2003 году. Он расширяет ограниченный 16-битный набор команд Thumb дополнительными 32-битными командами, чтобы задать набору команд дополнительную ширину. Цель Thumb-2 - достичь плотности кода как у Thumb, и производительности как у набора команд ARM на 32 битах. Можно сказать, что в ARMv7 эта цель была достигнута.

Thumb-2 расширяет как команды ARM, так и команды Thumb еще большим количеством команд, включая управление битовым полем, табличное ветвление, условное исполнение. Новый язык «Unified Assembly Language» (UAL) поддерживает создание команд как для ARM, так и для Thumb из одного и того же исходного кода. Версии Thumb на ARMv7 выглядят как код ARM. Это требует осторожности и использования новой команды if-then, которая поддерживает исполнение до 4 последовательных команд испытываемого состояния. Во время компиляции в ARM код она игнорируется, но во время компиляции в код Thumb-2 генерирует команды. Например:

; if (r0 == r1) CMP r0, r1 ITE EQ ; ARM: no code ... Thumb: IT instruction ; then r0 = r2; MOVEQ r0, r2 ; ARM: conditional; Thumb: condition via ITE "T" (then) ; else r0 = r3; MOVNE r0, r3 ; ARM: conditional; Thumb: condition via ITE "E" (else) ; recall that the Thumb MOV instruction has no bits to encode "EQ" or "NE"

Все чипы ARMv7 поддерживают набор команд Thumb-2, а некоторые чипы, вроде Cortex-m3, поддерживают только Thumb-2. Остальные чипы Cortex и ARM11 поддерживают наборы команд как Thumb-2, так и ARM.

Набор команд Jazelle

Расширения безопасности

Расширения безопасности, позиционируемые как TrustZone Technology, находятся в ARMv6KZ и других, более поздних, профилированных на приложениях архитектурах. Оно обеспечивает низкозатратную альтернативу добавлению специального ядра безопасности, обеспечивая 2 виртуальных процессора, поддерживаемых аппаратным контролем доступа. Это позволяет ядру приложения переключаться между двумя состояниями, называемыми «миры» (чтобы избежать путаницы с названиями возможных доменов), чтобы не допустить утечку информации из более важного мира в менее важный. Этот переключатель миров обычно ортогонален всем другим возможностям процессора. Таким образом, каждый мир может работать независимо от других миров, используя одно и то же ядро. Память и периферия соответственно изготавливаются с учетом особенностей мира ядра, и могут использовать это, чтобы получить контроль доступа к секретам и кодам ядра. Типичные приложения TrustZone Technology должны запускать полноценную операционную систему в менее важном мире, и компактный, специализированный на безопасности, код в более важном мире, позволяя Digital Rights Management’у намного точнее контролировать использование медиа на устройствах на базе ARM, и предотвращая несанкционированный доступ к устройству.

На практике же, так как конкретные детали реализации TrustZone остаются собственностью компании и не разглашаются, остается неясным, какой уровень безопасности гарантируется для данной модели угрозы.

Отладка

Все современные процессоры ARM включают аппаратные средства отладки, так как без них отладчики ПО не смогли бы выполнить самые базовые операции типа остановки, отступа, установка контрольных точек после перезагрузки.

Архитектура ARMv7 определяет базовые средства отладки на архитектурном уровне. К ним относятся точки останова, точки просмотра и выполнение команд в режиме отладки. Такие средства были также доступны с модулем отладки EmbeddedICE. Поддерживаются оба режима - остановки и обзора. Реальный транспортный механизм, который используется для доступа к средствам отладки, не специфицирован архитектурно, но реализация, как правило, включает поддержку JTAG .

Существует отдельная архитектура отладки «с обзором ядра», которая не требуется архитектурно процессорами ARMv7.

Регистры

ARM предоставляет 31 регистр общего назначения разрядностью 32 бит. В зависимости от режима и состояния процессора пользователь имеет доступ только к строго определённому набору регистров. В ARM state разработчику постоянно доступны 17 регистров:

  • 13 регистров общего назначения (r0..r12).
  • Stack Pointer (r13) - содержит указатель стека выполняемой программы.
  • Link register (r14) - содержит адрес возврата в инструкциях ветвления.
  • Program Counter (r15) - биты содержат адрес выполняемой инструкции.
  • Current Program Status Register (CPSR) - содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др.

Во всех режимах, кроме User mode и System mode, доступен также Saved Program Status Register (SPSR). После возникновения исключения регистр CPSR сохраняется в SPSR. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент непосредственно перед прерыванием.

usr sys svc abt und irq fiq
R0
R1
R2
R3
R4
R5
R6
R7
R8 R8_fiq
R9 R9_fiq
R10 R10_fiq
R11 R11_fiq
R12 R12_fiq
R13 R13_svc R13_abt R13_und R13_irq R13_fiq
R14 R14_svc R14_abt R14_und R14_irq R14_fiq
R15
CPSR
SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq

Работа с памятью

Поддерживаемые системы ввода-вывода

В большинстве существующих моделей микропроцессоров реализована шина PCI и возможность работы с внешней динамической оперативной памятью (DRAM). В процессорах, предназначенных для потребительских устройств, также обычно интегрируются: контроллеры шин USB , IIC , AC’97-совместимое звуковое устройство, устройство для работы с флэш-носителями стандарта SD и MMC, контроллер последовательного порта.

Все процессоры имеют линии ввода-вывода общего назначения (GPIO). В потребительских устройствах к ним могут быть подключены кнопки «быстрого запуска», сигнальные светодиоды, колесо прокрутки (JogDial), клавиатура.

Процесс запуска ОС на ARM-машинах

Поддержка Unix-подобными системами

Архитектура ARM поддерживается Unix и Unix-подобными ОС GNU/Linux , BSD , QNX , Plan 9 , Inferno , Solaris , Mac OS X , iOS , WebOS и Android .

Linux

Следующие дистрибутивы поддерживают процессоры ARM:

BSD

Следующие производные от BSD поддерживают процессоры ARM:

Solaris

Поддержка других операционных систем

Операционные системы, которые работают на ARM: ReactOS , FreeRTOS , Nucleus , Symbian OS , Windows CE , RISC OS , Windows RT .

ARM лицензиаты и приблизительная стоимость лицензии

ARM не производит и не продает процессоры, сделанные по своим разработкам, но зато дает лицензии на процессоры заинтересованным партнерам. ARM предлагает широкий выбор условий лицензирования, различающихся по стоимости и деталям. Для всех владельцев лицензии ARM поставляет описание аппаратной части ядра, а также полный набор средств разработки программного обеспечения (компилятор, отладчик), а также право продавать произведенные процессоры ARM. Некоторые клиенты занимаются производством процессоров для сторонних компаний.

Годовой отчет ARM за 2006 год сообщает что в результате лицензирования 2,5 миллиардов единиц (процессоров) был выручен 161 миллион долларов. Это эквивалентно 0.067 доллара за единицу. Однако это очень усредненный показатель - ведь сюда входят и лицензии на очень дорогие новейшие процессоры, и старые дешевые процессоры.

Примечания

  1. "ARMed for the living room" .
  2. "An interview with Steve Furber"
  3. samsung Nexus 10 - Geekbench Browser
  4. MacBook Air - Geekbench Browser
  5. Apache Benchmarks for Calxeda’s 5-Watt Web Server – ARM Servers, Now!
  6. http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
  7. «ARM810 - Dancing to the Beat of a Different Drum» ARM Holdings presentation at Hot Chips 1996-08-07.
  8. Register 13, FCSE PID register ARM920T Technical Reference Manual
  9. Neo1973: GTA01Bv4 versus GTA02 comparison . Архивировано из первоисточника 13 марта 2012. Проверено 15 ноября 2007.
  10. S3C2410 . Архивировано из первоисточника 13 марта 2012. Проверено 13 января 2010.
  11. Rockbox Samsung SA58xxx series . Архивировано
  12. Rockbox Meizu M6 Port – Hardware Information . Архивировано из первоисточника 13 марта 2012. Проверено 22 февраля 2008.
  13. Datasheets - Magic Lantern Firmware Wiki
  14. STR9 – STR912 – STR912FW44 microcontroller – documents and files download page . Mcu.st.com.(недоступная ссылка - история ) Проверено 18 апреля 2009.
  15. Starlet .
  16. Benchmarks – Albatross . Albatross-uav.org (18 июня 2005).(недоступная ссылка - история ) Проверено 18 апреля 2009.
  17. ARM1136J(F)-S – ARM Processor . Arm.com. Архивировано
  18. Qualcomm chips kernel ARM - from phones to laptops . xi0.info. Архивировано
  19. Qualcomm MSM7227 RISC Chipset . pdadb.net. Архивировано из первоисточника 13 марта 2012. Проверено 8 мая 2010.
  20. GoForce 6100 . Nvidia.com. Архивировано из первоисточника 13 марта 2012. Проверено 18 апреля 2009.
  21. Mediatek MT6573 . http://www.mediatek.com. ; Архивировано из первоисточника 6 июня 2012. Проверено 18 апреля 2009.
  22. Samsung S3C6410 and S3C6430 Series ARM Proccessors . Samsung. Проверено 8 октября 2009. , and the Qualcomm MSM7627 as seen in the Palm Pixi and Motorola Calgary/Devour
  23. Merrit, Rick "ARM stretches out with A5 core, graphics, FPGAs" . EE Times (21 октября 2009). Архивировано из первоисточника 13 марта 2012. Проверено 28 октября 2009.
  24. Clarke, Peter ARM tips plans for Swift and Sparrow processor cores . EE Times (3 февраля 2009). Архивировано из первоисточника 13 марта 2012. Проверено 18 апреля 2009.
  25. Segan, Sascha ARM"s Multicore Chips Aim for Netbooks . PC Magazine (9 апреля 2009). Архивировано из первоисточника 13 марта 2012. Проверено 18 апреля 2009.
  26. http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
  27. Cortex-A15 Processor - ARM
  28. Cortex-A7 Processor - ARM
  29. Benz, Benjamin Cortex Nachwuchs bei ARM . Heise.de (2 февраля 2010). Архивировано из первоисточника 13 марта 2012. Проверено 3 мая 2010.
  30. Clarke, Peter ARM preps tiny core for low-power microcontrollers . EE Times (23 февраля 2009). Архивировано из первоисточника 13 марта 2012. Проверено 30 ноября 2009.
  31. Walko, John NXP first to demo ARM Cortex-M0 silicon . EE Times (23 марта 2009). Архивировано из первоисточника 13 марта 2012. Проверено 29 июня 2009.
  32. ARM Powered VCAs " Triad Semiconductor
  33. Cortex-M0 used in low power touch controller - 10/06/2009 - Electronics Weekly
  34. Chungbuk Technopark Chooses ARM Cortex-M0 Processor
  35. Google Translate
  36. Austriamicrosystems Chooses ARM Cortex-M0 Processor For Mixed Signal Applications
  37. «ARM Extends Cortex Family with First Processor Optimized for FPGA» , ARM press release, March 19, 2007. Retrieved April 11, 2007.

ARM процессор - мобильный процессор для смартфонов и планшетов.

В этой таблице представлены все известные на сегодняшний день ARM процессоры. Таблица ARM процессоров будет дополнятся и модернизироваться по мере появления новых моделей. В данной таблице используется условная система оценки производительности CPU и GPU. Данные о производительности ARM процессоров были взяты из самых разных источников, в основном исходя из результатов таких тестов, как: PassMark , Antutu , GFXBench .

Мы не претендуем на абсолютную точность. Абсолютно точно ранжировать и оценить производительность ARM процессоров невозможно, по той простой причине, что каждый из них, в чем-то имеет преимущества, а в чем-то отстает от других ARM процессоров. Таблица ARM процессоров позволяет увидеть, оценить и, главное, сравнить различные SoC (System-On-Chip) решения. Воспользовавшись нашей таблицей, Вы сможете сравнить мобильные процессора и достаточно точно узнать, как позиционируется ARM-сердце Вашего будущего (или настоящего) смартфона или планшета.

Вот мы провели сравнение ARM процессоров. Посмотрели и сравнили производительность CPU и GPU в различных SoC (System-оn-Chip). Но у читателя может возникнуть несколько вопросов: Где используются ARM процессора? Что такое ARM процессор? Чем отличается архитектура ARM от x86 процессоров? Попробуем разобраться во всем этом, не сильно углубляясь в подробности.

Для начала определимся с терминологией. ARM - это название архитектуры и одновременно название компании, ведущей ее разработку. Аббревиатура ARM расшифровывается как (Advanced RISC Machine или Acorn RISC Machine), что можно перевести как: усовершенствованная RISC-машина. ARM архитектура объединяет в себе семейство как 32, так и 64-разрядных микропроцессорных ядер, разработанных и лицензируемых компанией ARM Limited. Сразу хочется отметить, что компания ARM Limited занимается сугубо разработкой ядер и инструментария для них (средства отладки, компиляторы и т.д), но никак не производством самих процессоров. Компания ARM Limited продает лицензии на производство ARM процессоров сторонним фирмам. Вот неполный список компаний, получивших лицензию на производство ARM процессоров сегодня: AMD, Atmel, Altera, Cirrus Logic, Intel, Marvell, NXP, Samsung, LG, MediaTek, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale ... и многие другие.

Некоторые компании, получившие лицензию на выпуск ARM процессоров, создают собственные варианты ядер на базе ARM архитектуры. Как пример можно назвать: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A4/A5/A6 и HiSilicon K3.

На базе ARM процессоров сегодня работают фактически любая электроника: КПК, мобильные телефоны и смартфоны , цифровые плееры, портативные игровые консоли, калькуляторы, внешние жесткие диски и маршрутизаторы. Все они содержат в себе ARM-ядро, поэтому можно сказать, что ARM - мобильные процессоры для смартфонов и планшетов.

ARM процессор представляет из себя SoC , или "систему на чипе". SoC система, или "система на чипе", может содержать в одном кристалле, помимо самого CPU, и остальные части полноценного компьютера. Это и контроллер памяти, и контроллер портов ввода-вывода, и графическое ядро, и система геопозиционирования (GPS). В нем может находится и 3G модуль, а также многое другое.

Если рассматривать отдельное семейство ARM процессоров, допустим Cortex-A9 (или любое другое), нельзя сказать, что все процессоры одного семейства имеют одинаковую производительность или все снабжены GPS модулем. Все эти параметры сильно зависят от производителя чипа и того, что и как он решил реализовать в своем продукте.

Чем же отличается ARM от X86 процессоров ? Сама по себе RISC (Reduced Instruction Set Computer) архитектура подразумевает под собой уменьшенный набор команд. Что соответственно ведет к очень умеренному энергопотреблению. Ведь внутри любого ARM чипа находится гораздо меньше транзисторов, чем у его собрата из х86 линейки. Не забываем, что в SoC-системе все периферийные устройства находится внутри одной микросхемы, что позволяет ARM процессору быть еще более экономным в плане энергопотребления. ARM архитектура изначально была предназначена для вычисления только целочисленных операций, в отличии от х86, которые умеют работать с вычислениями с плавающей запятой или FPU. Нельзя однозначно сравнивать эти две архитектуры. В чем-то преимущество будет за ARM. А где-то и наоборот. Если попробовать ответить одной фразой на вопрос: в чем разница между ARMи X86 процессорами, то ответ будет таким: ARM процессор незнает того количества команд, которые знает х86 процессор. А те, что знает, выглядят гораздо короче. В этом его как плюсы, так и минусы. Как бы там ни было, в последнее время все говорит о том, что ARM процессора начинают медленно, но уверенно догонять, а кое в чем и перегонять обычные х86. Многие открыто заявляют о том, что в скором времени ARM процессоры заменят х86 платформу в сегменте домашних ПК. Как мы уже , в 2013 году уже несколько компаний с мировым именем полностью отказались от дальнейшего выпуска нетбуков в пользу планшетных пк. Ну а что будет на самом деле, время покажет.

Мы же будем отслеживать уже имеющиеся на рынке ARM процессоры.

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

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

ARM-архитектура для чайников

Под аббревиатурой ARM скрывается довольно успешная британская компания ARM Limited в области IT-технологий. Расшифровывается она как Advanced RISC Machines и является одним из крупных мировых разработчиков и лицензиаров 32-разрядной архитектуры RISC-процессоров, которыми оснащается большинство портативных устройств.

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

  • Atmel.
  • Cirrus Logic.
  • Intel.
  • Apple.
  • nVidia.
  • HiSilicon.
  • Marvell.
  • Samsung.
  • Qualcomm.
  • Sony Ericsson.
  • Texas Instruments.
  • Broadcom.

Некоторые из них известны широкой аудитории потребителей цифровых гаджетов. По заверениям британской корпорации ARM, общая численность произведенных по их технологии микропроцессоров - более 2,5 миллиарда. Существует несколько серий мобильных камней:

  • ARM7 - тактовая частота 60-72 МГц, что актуально для мобильных бюджетных телефонов.
  • ARM9/ ARM9E - частота уже более высокая около 200 МГц. Такими микропроцессорами оснащаются более функциональные смартфоны и карманные компьютеры (КПК).

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

Популярные микропроцессоры xScale от компании Marvell (до середины лета 2007 года проект находился в распоряжении Intel) на самом деле представляют собой расширенный вариант архитектуры ARM9, дополненный набором инструкций Wireless MMX. Данное решение от Intel было ориентировано на поддержку мультимедийных приложений.

ARM-технология относится к 32-битной микропроцессорной архитектуре, содержащая сокращенный набор команд, что именуется как RISC. По проведенным подсчетам, применение процессоров ARM - это 82% от всего количества производимых RISC-процессоров, что говорит о довольно широкой зоне охвата 32-битных систем.

Многие электронные устройства оснащаются ARM-архитектурой процессора, и это не только PDA и сотовые телефоны, но и портативные игровые консоли, калькуляторы, компьютерная периферия, сетевое оборудование и многое другое.

Небольшое путешествие назад в прошлое

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

В 1980 году была основана компания Acorn Computers, которая начала создавать персональные компьютеры. Поэтому ранее ARM была представлена как Acorn RISC Machines.

Год спустя на суд потребителей была представлена домашняя версия ПК BBC Micro с самой первой ARM-архитектурой процессора. Это был успех, тем не менее чип не справлялся с графическими задачами, а прочие варианты в лице процессоров Motorola 68000 и National Semiconductor 32016 тоже не годились для этого.

Тогда руководство компании задумалось над созданием своего микропроцессора. Инженеров заинтересовала новая процессорная архитектура, придуманная выпускниками местного университета. В ней как раз использовался сокращенный набор команд, или RISC. И после появления первого компьютера, который управлялся процессором Acorn Risc Machine, успех пришел довольно быстро - в 1990 году между британским брендом и Apple был заключен договор. Это положило началу разработки нового чипсета, что, в свою очередь, привело к образованию целой команды разработчиков, именуемой как Advanced RISC Machines, или ARM.

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

Согласно некоторым данным заработок компании на каждом подобном решении составляет 0,067 $. Но эти сведения усредненные и устаревшие. Ежегодно количество ядер в чипсетах растет, соответственно и себестоимость современных процессоров превосходит старые образцы.

Область применения

Именно развитие мобильных устройств и принесло компании ARM Limited огромную популярность. А когда производство смартфонов и прочих портативных электронных устройств приобрело массовый характер, энергоэффективным процессорам тут же нашлось применение. Вот интересно, а есть ли linux на arm-архитектуре?

Кульминационный период развития компании ARM приходится на 2007 год, когда были возобновлены партнерские отношения с брендом Apple. После этого на суд потребителей был представлен первый iPhone на базе ARM процессора. Начиная с этого времени подобная процессорная архитектура стала неизменной составляющей практически любого выпускаемого смартфона, которые только можно найти на современном мобильном рынке.

Можно сказать, что практически каждое современное электронное устройство, которое нуждается в управлении процессором, так или иначе оснащенном чипами ARM. А тот факт, что такая процессорная архитектура поддерживает многие операционные системы, будь то Linux, Android, iOS, и Windows, является неоспоримым преимуществом. Среди них числиться и Windows embedded CE 6.0 Core, архитектура arm тоже ею поддерживается. Данная платформа рассчитана на наладонные компьютеры, мобильные телефоны и встраиваемые системы.

Отличительные особенности x86 и ARM

Многие пользователи, которые наслышаны о ARM и x86, немного путают эти две архитектуры между собой. А между тем у них есть определенные различия. Существует два основных типа архитектур:

  • CISC (Complex Instruction Set Computing).
  • Computing).

К CISC относятся процессоры x86 (Intel либо AMD), к RISC, как уже можно понять, семейство ARM. У архитектуры x86, и arm есть свои почитатели. Благодаря стараниям специалистов ARM, которые делали упор на энергоэффективность и использование простого набора инструкций, процессоры сильно выиграли от этого - мобильный рынок начал стремительно развиваться, а многие смартфоны практически почти приравнялись с возможностями компьютеров.

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

Эти два семейства по-своему завоевывали сердца пользователей. Но в чем их различие? Отличительных признаков или даже особенностей несколько, разберем наиболее важные из них.

Мощность обработки

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

Философия здесь несложная - если инструкция простая, то для нужной схемы не нужно слишком большое количество транзисторов. Как результат, освобождается дополнительное пространство для чего-либо или же размеры чипов становятся меньше. По этой причине микропроцессоры ARM стали объединять в себе периферийные устройства, вроде графических процессоров. Показательный пример - компьютер Raspberry Pi, у которого минимальное количество компонентов.

Однако простота инструкций обходится дорого. Чтобы выполнять те или иные задачи необходимы дополнительные инструкции, что обычно приводит к росту потребления памяти и времени на выполнение задач.

В отличие от arm-архитектуры процесора инструкции чипов CISC, коими являются решения от Intel, могут выполнять сложные задачи с большой гибкостью. Иными словами, машины на базе RISC производят операции между регистрами, и обычно требуется, чтобы программа загружала переменные в регистр, перед выполнением операции. Процессоры CISC способны на выполнение операций несколькими способами:

  • между регистрами;
  • между регистром и местом памяти;
  • между ячейками памяти.

Но это лишь часть отличительных особенностей, перейдем к разбору других признаков.

Потребляемая мощность

В зависимости от типа устройства потребляемая мощность может иметь разную степень значимости. Для той системы, которая подключена к постоянному источнику питания (электросеть) ограничения потребления энергии попросту нет. Однако мобильные телефоны и прочие электронные гаджеты в полной мере зависят от управления питанием.

Еще одно различие архитектуры arm и x86 в том, что у первой энергопотребление меньше чем 5 Вт, включая многие сопутствующие пакеты: графические процессоры, периферийные устройства, память. Такая малая мощность обусловлена меньшей численностью транзисторов в совокупности с относительно низкими скоростями (если провести параллель с процессорами для настольных ПК). В то же время это нашло отпечаток на производительности - для выполнения сложных операций требуется больше времени.

Ядра Intel отличаются сложность структурой и в силу этого потребление энергии у них существенно выше. К примеру, процессор Intel I-7 с высокой производительностью потребляет около 130 Вт энергии, мобильные версии - 6-30 Вт.

Программное обеспечение

Проводить сравнение по этому параметру довольно трудно, поскольку оба бренда очень популярны в своих кругах. Устройства, которые основываются на процессорах arm-архитектуры, прекрасно работают с мобильными операционными системами (Android и прочее).

Машины под управлением процессоров от Intel способны работать с платформами наподобие Windows и Linux. К тому же оба семейства микропроцессоров дружат с приложениями, написанными на языке Java.

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

Новые достижения

Компания ARM за счет ведения грамотной политики, полностью прибрала к рукам мобильный рынок. Но в дальнейшем она не собирается останавливаться на достигнутом. Не так давно была представлена новая разработка ядер: Cortex-A53, и Cortex-A57, в которых было проведено одно важное обновление - поддержка 64-битных вычислений.

Ядро A53 является прямым последователем ARM Cortex-A8, у которого хоть и была не очень высокая производительность, но энергопотребление на минимальном уровне. Как отмечают специалисты, у архитектуры энергопотребление снижено в 4 раза, а по производительности она не будет уступать ядру Cortex-A9. И это притом, что площадь ядра A53 на 40% меньше, чем у A9.

Ядро A57 придет на замену Cortex-A9 и Cortex-A15. При этом инженеры ARM заявляют о феноменальном приросте производительности - в три раза выше, чем у ядра A15. Иными словами микропроцессор A57 будет в 6 раз быстрее Cortex-A9, а его энергоэффективность будет в 5 раз лучше, чем у A15.

Если подытожить, то серия cortex, а именно более совершенная a53, отличается от своих предшественников более высокой производительностью на фоне не менее высокой энергоэффективности. Даже процессоры Cortex-A7, которые ставятся на большинство смартфонов, не выдерживают конкуренции!

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

Графические решения

Помимо разработки процессоров, компания ARM трудится над воплощением графических ускорителей серии Mali. И самый первый из них - это Mali 55. Этим ускорителем оснастили телефон LG Renoir. И да, это самый обычный мобильник. Только в нем GPU отвечала не за игры, а лишь отрисовывал интерфейс, ведь если судить по современным меркам, графический процессор отличается примитивными возможностями.

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

Конкурентоспособность

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

А когда всемирно известный компьютерный бренд Microsoft заключил договор с Intel, у остальных производителей просто не было шансов - операционная система Windows отказывалась работать с процессорами ARM. Как тут не удержаться от использования эмуляторов gcam на архитектуру arm?! Что касательно компании Intel, то наблюдая волну успеха ARM Limited, тоже попыталась создать процессор, который бы составил достойную конкуренцию. Для этого широкой публике был предоставлен чип Intel Atom. Но заняло это намного больший промежуток времени, чем у ARM Limited. И в производство чип ушел лишь в 2011 году, но драгоценное время было уже потеряно.

По сути, Intel Atom - это CISC-процессор с архитектурой x86. Специалистам удалось добиться более низкого энергопотребления, чем в ARM решениях. Тем не менее весь тот софт, который выходит под мобильные платформы, плохо адаптирован к архитектуре x86.

В конечном итоге компания признала полную повальность принятого решения и в дальнейшем отказалась от производства процессоров под мобильные устройства. Единственный крупный производитель чипов Intel Atom - это компания ASUS. В то же время эти процессоры не канули в лету, ими в массовом порядке оснащали нетбуки, неттопы и прочие портативные устройства.

Однако существует вероятность, что ситуация изменится и любимая всеми операционная система Windows станет поддерживать микропроцессоры ARM. К тому же шаги в этом направлении делаются, может и правда появятся что-то наподобие эмуляторов gcam на ARM-архитектуру для мобильных решений?! Кто знает, время покажет и все расставит по местам.

В истории развития компании ARM есть один интересный момент (в самом начале статьи именно он имелся ввиду). Когда-то в основе ARM Limited находилась компания Apple и вероятно, что вся технология ARM принадлежала бы именно ей. Однако судьба распорядилась иначе - в 1998 году Apple находилась в кризисном положении, и руководство было вынуждено продать свою долю. В настоящее время она находится наравне с прочими производителями и остается для своих устройств iPhone и iPad закупать технологии у ARM Limited. Кто же мог знать, как все может обернуться?!

Современные процессоры ARM способны выполнять боле сложные операции. А в ближайшем будущем руководство компании нацелилось выйти на серверный рынок, в чем она, несомненно, заинтересована. К тому же в наше современное время, когда близится эпоха развития интернет вещей (IoT), в числе которых и «умные» бытовые приборы, можно прогнозировать еще большую востребованность чипов с ARM-архитектурой.

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

В качестве заключения

Процессоры ARM довольно быстро захватили рынок мобильных устройств и все благодаря низкому энергопотреблению и пусть не очень высокой, но все же, хорошей производительности. В настоящее время положению дел у компании ARM можно только позавидовать. Многие производители пользуются ее технологиями, что ставит Advanced RISC Machines наравне с такими гигантами в области разработок процессоров как Intel и AMD. И это притом, что компания не имеет собственного производства.

Какое-то время конкурентом мобильного бренда была компания MIPS с одноименной архитектурой. Но в настоящее время есть пока единственный серьезный конкурент в лице корпорации Intel, правда ее руководство не считает, что arm-архитектура может представлять угрозу для ее рыночной доли.

Также, по мнению специалистов из Intel, процессоры ARM не способны обеспечить запуск настольных версий операционных систем. Однако такое заявление звучит немного нелогично, ведь владельцы ультрамобильных ПК не пользуются «тяжеловесным» программным обеспечением. В большинстве случаев нужен выход в сеть интернет, редактирование документов, прослушивание медиафайлов (музыка, кино) и прочие несложные задачи. А ARM решения прекрасно справляются с такими операциями.