Все про архитектуру мобильных процессоров ARM Cortex A53.

Инструмент 19.06.2019
Инструмент

Здравствуйте наши любимые читатели. Сегодня мы расскажем вам про архитектуру процессора 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 .

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


Они подумали, что раз уж группе студентов удалось создать вполне конкурентоспособный процессор, то их инженерам это будет не сложно. Поездка в 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 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-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 можно назвать Highscreen Blast, который получил чип Qualcomm Snapdragon S4 Play MSM8225, содержащий два ядра Cortex-A5 с тактовой частотой 1,2 ГГц.

Процессоры на 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-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 ГГц.

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

На 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-A9. Процессоры на Cortex-A53 заметно превосходят чипы на Cortex-A9 в производительности, но, при этом, сохраняется низкое энергопотребление. Такие процессоры могут быть использованы как по одиночке, так и в конфигурации ARM big.LITTLE, будучи объединенными на одном чипсете с процессором на Cortex-A57

Perfomance Cortex-A53, 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-процессорах).

А как вы думаете, сможет ли кто-нибудь потеснить ARM, и как дальше сложится судьба этой компании и её архитектуры?

Компьютерный мир стремительно меняется. Настольные ПК уступили первые строчки в рейтингах продаж ноутбукам, а они вот-вот могут отдать рынок планшетам и другим мобильным устройствам. 10 лет назад мы ценили чистые мегагерцы, настоящую мощь и производительность. Теперь, чтобы завоевать рынок процессор должен быть не только быстрым, но и экономичным. Многие считают, что архитектурой XXI века является ARM. Так ли это?

Новое – хорошо забытое старое

Журналисты вслед за пиарщиками ARM нередко преподносят эту архитектуру как нечто совершенно новое, что должно похоронить убеленную сединами х86.

На самом деле ARM и х86, на базе которой построены процессоры Intel, AMD и VIA, устанавливаемые в ноутбуки и настольные ПК, практически ровесники. Первый чип х86 увидел свет в 1978 году. Проект ARM официально стартовал в 1983, но при этом базировался на разработках, которые велись практически одновременно с созданием х86.


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

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

«Рисковый» процессор

ARM представляет собой RISC-архитектуру. В ней используется сокращенный набор команд – RISC (reduced instruction set computer). Архитектура этого типа появилась в конце семидесятых, примерно тогда же, когда Intel предложила свою х86.


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


Один из первых проектов RISC-процессоров был реализован группой студентов и преподавателей из Университета Беркли в 1981 году. Как раз в это время британская компания Acorn столкнулась с вызовом времени. Она выпускала весьма популярные на Туманном Альбионе образовательные компьютеры BBC Micro на базе процессора 6502. Но вскоре эти домашние ПК стали проигрывать более совершенным машинам. Acorn рисковала потерять рынок. Инженеры компании, познакомившись со студенческими работами по RISC-процессорам, решили, что справиться с созданием собственного чипа будет достаточно просто. В 1983 году стартовал проект Acorn RISC Machine, который позднее превратился в ARM. Через три года был выпущен первый процессор.

Первые ARM

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

Кроме того, упрощая наборы команд, разработчики архитектуры смогли обойтись без ряда других блоков. Например, в первых ARM начисто отсутствовал микрокод, а также модуль выполнения операций с плавающей запятой – FPU. Общее число транзисторов в первом ARM составляло 30 000. В аналогичных х86 их было в несколько раз, а то и на порядок больше. Дополнительная экономия энергии достигается за счет условного выполнения команд. То есть та или иная операция будет выполнена, если в регистре есть соответствующий факт. Это помогает процессору избежать «лишних телодвижений». Все инструкции выполняются последовательно. В результате ARM потерял в производительности, но не существенно, при этом значительно выиграл в энергопотреблении.

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

С целью ее увеличения ARM в течение последних лет внедрила несколько дополнительных наборов инструкций. Наряду с классической ARM, существуют Thumb, Thumb 2, Jazelle. Последняя предназначена для ускорения выполнения Java-кода.

Cortex – самые совершенные ARM

Cortex – современные архитектуры для мобильных устройств, встроенных систем и микроконтроллеров. Соответственно CPU обозначаются как Cortex-A, встроенные – Cortex-R и микроконтроллеры – Cortex-M. Все они построены на базе архитектуры ARMv7.

Наиболее совершенная и мощная архитектура в линейке ARM – Cortex-A15. Предполагается, что на ее базе будут производиться в основном двух или четырехъядерные модели. Cortex-A15 из всех предыдущих ARM наиболее близка к х86 по количеству и качеству блоков.


В основе Cortex-A15 лежат процессорные ядра, снабженные блоком FPU и набором SIMD-инструкций NEON, призванных ускорить обработку мультимедийных данных. Ядра имеют 13-стадийный конвейер, они поддерживают выполнение инструкций в свободном порядке, виртуализацию на базе ARM.

Cortex-A15 поддерживает систему расширенной адресации памяти. ARM остается 32-битной архитектурой, но инженеры компании научились преобразовывать 64-битную или другую расширенную адресацию в понятную процессору 32-битную. Технология получила название Long Physical Address Extensions. Благодаря ей, Cortex-A15 в теории может адресовать до 1 Тбайт памяти.

Каждое ядро снабжено кэшем первого уровня. Кроме того, есть до 4 Мбайт распределенного кэша второго уровня с низким уровнем латентности. Процессор снабжен 128-битной когерентной шиной, которая может быть использована для связи с другими блоками и периферией.

Ядра, которые лежат в основе Cortex-A15 являются развитием Cortex-A9. Они имеют схожую структуру.


Cortex-A9, в отличие от Cortex-A15, может выпускаться как во много-, так и одноядерном варианте. Максимальная частота составляет 2.0 ГГц, Cortex-A15 предполагает возможность создания чипов, работающих на частоте 2.5 ГГц. Чипы на ее базе будут изготавливаться по техпроцессам 40 нм и более тонким. Cortex-A9 выпускается по техпроцессам 65 и 40 нм.

Cortex-A9, как и Cortex-A15, предназначен для использования в высокопроизводительных смартфонах и планшетах, но более серьезное применение, например, в серверах ему не по зубам. Только Cortex-A15 имеет аппаратную виртуализацию, расширенную адресацию памяти. Кроме того, набор SIMD-инструкций NEON Advanced и блок FPU в Cortex-A9 являются опциональными элементами, в то время как в Cortex-A15 они обязательны.

Cortex-A8 в будущем будет постепенно уходить со сцены, но пока этот одноядерный вариант найдет применение в бюджетных смартфонах. Недорогое решение с частотой от 600 МГц до 1 ГГц представляет собой сбалансированную архитектуру. Она имеет блок FPU, поддерживает первый вариант SIMD NEON. Cortex-A8 предполагает единственный техпроцесс – 65 нм.

ARM предыдущих поколений


На мобильном рынке довольно распространены процессоры ARM11. Они построены на базе архитектуры ARMv6 и ее модификаций. Она характеризуется 8-9-стадийными конвейерами, поддержкой Jazelle, способствующей ускорению обработки Java-кода, потоковых инструкций SIMD, Thumb-2.

XScale, процессоры ARM10E, ARM9E основаны на архитектуре ARMv5 и ее модификациях. Максимальная длина конвейера составляет 6 стадий, Thumb, Jazelle DBX, Enhanced DSP. Чипы XScale имеют кэш второго уровня. Процессоры использовались в смартфонах середины нулевых, сегодня их можно найти в некоторых недорогих мобильниках.


ARM9TDMI, ARM8, StrongARM – представители ARMv4, обладающей 3-5 стадийным конвейером, поддерживающей Thumb. ARMv4, например, можно было найти в первых классических iPod.

ARM6 и ARM7 относятся к ARMv3. В этой архитектуре впервые появился блок FPU, было реализована 32-битная адресация памяти, а не 26-битная, как в первых образцах архитектуры. Формально ARMv2 и ARMv1 были 32-битными чипами, но в действительности активно работали только с 26-битным адресным пространством. Кэш впервые появился в ARMv2.

Имя им легион

Acorn изначально не собиралась становиться игроком процессорного рынка. Задачей проекта ARM должно было стать создание чипа собственного производства для выпуска компьютеров – именно создание ПК в Acorn считали своим основным бизнесом.


Из группы разработчиков ARM превратилась в компанию, благодаря Apple. В 1990 году Apple совместно с VLSI и Acorn начала разработку экономичного процессора для первого карманного компьютера Newton. Для этих целей и была создана отдельная компания, получившая имя внутреннего проекта Acorn – ARM.

При участии Apple была создан процессор ARM6, наиболее близкий к современным чипам английского разработчика. В то же время компания DEC смогла запатентовать архитектуру ARM6 и начала выпуск чипов под маркой StrongARM. Спустя пару лет, технологии перешли к Intel в рамках очередного патентной спора. Микропроцессорный гигант создал на основе ARM свой аналог – процессор XScale. Но в середине предыдущего десятилетия Intel избавилась от этого «непрофильного актива», сосредоточившись исключительно на х86. XScale перекочевал в руки Marvell, которая уже лицензировала ARM.

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

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

Периферийные устройства подключаются к чипу ARM, отображая свои регистры в пространстве памяти процессора или сопроцессора. К примеру, чип для обработки изображений может состоять из сравнительно простого ядра на базе ARM7TDMI и из сопроцессора, обеспечивающего декодирование HDTV-сигнала.


ARM начала лицензировать свою архитектуру. Воплощением ее в кремнии занимались уже другие компании, среди них Texas Instruments, Marvell, Qualcomm, Freescale, но и также совсем непрофильные вроде Samsung, Nokia, Nintendo или Canon.

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

Система лицензирования ARM представляет собой настоящий гипермаркет микроэлектроники. Компания лицензирует не только новые, но и устаревшие архитектуры. Последние могут быть использованы для создания микроконтроллеров или чипов для недорогих устройств. Естественно, уровень лицензионных отчислений зависит от степени новизны и сложности интересующего производителя варианта архитектуры. Традиционно техпроцессы, под которые ARM разрабатывает процессоры, отстают на 1-2 шага от тех, что считаются актуальными для х86. Высокая энергоэффективность архитектуры делает ее менее зависимой от перехода на новые технормы. Intel и AMD стремятся делать более «тонкие» чипы, чтобы наращивать частоты и количество ядер при сохранении физических размеров и энергопотребления. ARM изначально обладает меньшими требованиями к питанию, а также выдает больший уровень производительности на один ватт.

Особенности процессоров NVIDIA, TI, Qualcomm, Marvell

Лицензируя ARM направо и налево, разработчики усиливали позиции своей архитектуры за счет компетенций партнеров. Классическим примером в данном случае можно считать NVIDIA Tegra. Эта линейка систем-на-чипе имеет в основе архитектуру ARM, но у NVIDIA уже были свои весьма серьезные наработки в области трехмерной графики и системной логики.


ARM дает своим лицензиарам широкие полномочия по переработке архитектуры. Соответственно инженеры NVIDIA получили возможность совместить в Tegra сильные стороны ARM (вычисления CPU) и собственной продукции – работа с трехмерной графикой и т.д. В результате Tegra обладают высочайшей для своего класса процессоров производительностью в 3D. Они на 25-30% быстрее PowerVR, используемых Samsung и Texas Instruments, а также почти в два раза превосходят Adreno, разработку Qualcomm.

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


Например, Qualcomm не использует референсный дизайн ARM. Инженеры компании серьезно переработали его и назвали Scorpio – именно он лежит в основе чипов Snapdragon. Отчасти дизайн был переработан с целью освоения более тонких техпроцессов, чем предусмотрено стандартным IP ARM. В результате первые Snapdragon выпускались по нормам 45 нм, что обеспечило им более высокие частоты. А новое поколение этих процессоров с заявленными 2.5 ГГц и вовсе может стать самым быстрым среди аналогов на базе ARM Cortex-A9. Также Qualcomm применяет собственное графическое ядро Adreno, созданное на базе разработок, приобретенных у AMD. Так что в некотором роде Snapdragon и Tegra – враги на генетическом уровне.


Samsung при создании Hummingbird также пошла по пути оптимизации архитектуры. Корейцы совместно с компанией Intrinsity изменили логику, благодаря чему сократилось количество инструкций необходимых для выполнения некоторых операций. Таким образом удалось выиграть 5-10% производительности. Кроме того, был добавлен динамический кэш второго уровня и мультимедийное расширение ARM NEON. В качестве графического модуля корейцы использовали PowerVR SGX540.


Texas Instruments в новых сериях OMAP на базе архитектуры ARM Cortex-A добавила специальный модуль IVA, ответственный за ускорение обработки изображений. Он позволяет быстрее обрабатывать данные, поступающие с сенсора встроенной камере. Кроме того, он подключен к ISP и содействует ускорению видео. В OMAP также применяется графика PowerVR.


Apple A4 обладает большим кэшем в 512 Кбайт, в нем используется графика PowerVR, а само ARM-ядро построено на базе варианта архитектуры, переработанного Samsung.


Двухъядерный Apple A5, дебютировавший в iPad 2 в начале 2011 года, базируется на архитектуре ARM Cortex-A9, также, как и в предыдущий раз оптимизированной Samsung. По сравнению с А4 новый чип обладает удвоенным объемом кэш-памяти второго уровня - его увеличили до 1 Мбайт. Процессор содержит двухканальный контроллер оперативной памяти, обладает улучшенным видеоблоком. В результате его производительность в некоторых задачах вдвое выше, чем у Apple A4.

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

Сейчас лицензиаты ARM производят только чипы на базе архитектуры ARM Cortex-A9. При этом, хотя она и позволяет создавать четырехъядерные варианты, NVIDIA, Apple, Texas Instruments и другие пока ограничиваются моделями с одним или двумя ядрами. Кроме того, чипы работают на частоте до 1.5 ГГц. Cortex-A9 позволяет делать двухгигагерцовые процессоры, но опять же производители не стремятся быстро наращивать частоты - ведь пока рынку хватит и двухъядерников на 1.5 ГГц.

По-настоящему многоядерными должны стать процессоры на базе Cortex-A15, но они если и анонсированы, то на бумаге. Их появления в кремнии стоит ожидать в следующем году.

Современные процессоры лицензиатов ARM на базе Cortex-A9:


x86 – главный соперник

х86 – представитель CISC-архитектур. В них используется полный набор команд. Одна инструкция в данном случае выполняет несколько низкоуровневых операций. Программный код, в отличие от ARM, компактнее, но выполняется не столь быстро и требует больших ресурсов. Кроме того, с самого начала х86 оснащались всеми необходимыми блоками, что предполагало как их универсальность, так и прожорливость. Дополнительная энергия тратилась на безусловное, параллельное выполнение команд. Это позволяет достичь преимущества в скорости, но некоторые операции при этом выполняются вхолостую, так как не удовлетворяют предыдущим условиям.

Такими были классические х86, но, уже начиная с 80486, Intel де-факто создала внутреннее RISC-ядро, которое выполняло CISC-инструкции, предварительно разложенные на более простые команды. Такую же конструкцию имеют современные процессоры Intel и AMD.

Windows 8 и ARM

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

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

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


Информации пока немного. Microsoft продемонстрировала работу Windows 8 на устройстве с ARM-процессором во время выставки CES 2011. Стив Балмер показал, что на платформе ARM с помощью Windows можно смотреть видео, работать с изображениями, пользоваться Интернетом – Internet Explorer даже работал с аппаратным ускорением – подключать USB-устройства, печатать документы. Наиболее важным в этой демонстрации было наличие Microsoft Office, работающего на ARM без участия виртуальной машины. На презентации были показаны три гаджета на базе процессоров Qualcomm, Texas Instruments и NVIDIA. Windows имела стандартную оболочку «семерки», но представители Microsoft заявил о новом, переработанном ядре системы.

Однако, Windows - это не только ОС, сделанная инженерами Microsoft, это еще и миллионы программ. Некоторое ПО является критичным для людей многих профессий. Например, пакет Adobe CS. Будет ли компания поддерживать версию ПО для ARM-Windows, или новое ядро позволит Photoshop и другим популярным приложениям работать на компьютерах с NVIDIA Tegra или другим похожим чипам без дополнительных модификаций кода?

Кроме того встает вопрос с видеокартами. Сейчас видеокарты для ноутбуков делаются путем оптимизации энергопотребления настольных графических чипов – архитектурно они совпадают. В то же время сейчас видеокарта представляет собой что-то вроде «компьютера в компьютере» - у нее есть собственная сверхскоростная оперативная память и собственный вычислительный чип, который в специфических задачах существенно превосходит обычные процессоры. Само собой, что под них сделана соответствующая оптимизация приложений, работающих с 3D-графикой. Да и различные программы видеомонтажа и графические редакторы (в частности Photoshop с версии CS4), а с недавних пор еще и браузеры используют аппаратное ускорение средствами GPU.

Конечно, в Android, MeeGo, BlackBerry OS, iOS и других мобильных системах сделана необходимая оптимизация под различные присутствующие на рынке мобильные (точнее сверхмобильные) ускорители. Однако их поддержки нет в Windows. Драйверы, само собой, написаны будут (да и уже написаны – процессоры Intel Atom серии Z500 поставляются вкупе с чипсетом, куда интегрировано «смартфонное» графическое ядро PowerVR SGX 535), но вот оптимизация под них приложений может запоздать, если вообще случится.

Очевидно, что «ARM на десктопе» особо не приживется. Разве что в маломощных системах, на которых будут выходить в Интернет, да фильмы смотреть. На неттопах в общем. Так что ARM пока лишь пытается замахнуться на ту нишу, что занял Intel Atom и куда сейчас активно щемится AMD со своей платформой Brazos. И у нее это, видимо, отчасти получится. Если только обе процессорные компании не «выстрелят» чем-нибудь весьма конкурентоспособным.

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

Первый спарринг

Главным соперником ARM со стороны х86 является Intel Atom, а теперь к ним можно прибавить еще и платформу . Сравнение х86 и ARM провёл Вэн Смит, который создал тестовые пакеты OpenSourceMark, miniBench и один из соавторов SiSoftware Sandra. В «забеге» приняли участие Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050. Частоты чипов х86 были снижены, но у них все равно оставалось преимущество за счет более совершенной памяти.

Результаты оказались весьма интересными. ARM-чип оказался также быстр, как и конкуренты в целочисленных операциях, при этом расходуя меньше энергии. Здесь нет ничего удивительного. Изначально архитектура была и достаточно быстрой и экономичной. В операциях с плавающей точкой ARM уступила х86. Здесь сказался традиционно мощный блок FPU, имеющийся у чипов Intel и AMD. Напомним, что в ARM он появился относительно недавно. Задачи, ложащиеся на FPU, занимают в жизни современного пользователя значительно место – это игры, кодирование видео и аудио, другие потоковые операции. Конечно, тесты, проведенные Вэном Смитом, сегодня уже не так актуальны. ARM значительно усилила слабые стороны своей архитектуры в версиях Cortex-A9 и особенно Cortex-A15, которая, например, уже может выполнять инструкции безусловно, распараллеливая решение задач.

Перспективы ARM

Так на какую архитектуру ставить в итоге, на ARM или х86? Наиболее правильно будет ставить на обе. Сегодня мы живем в условиях переформатирования компьютерного рынка. В 2008 году нетбукам предрекали безоблачное будущее. Дешевые компактные ноутбуки должны были стать основным компьютером для большинства пользователей, особенно на фоне мирового кризиса. Но затем началось восстановление экономики и появился iPad. Теперь королями рынка объявлены планшеты. Однако планшет хорош в качестве развлекательной консоли, но не очень удобен для работы в первую очередь из-за сенсорного ввода – эту статью писать на iPad было бы очень непросто, да и долго. Выдержат ли планшеты проверку временем. Возможно, через пару лет мы придумаем себе новую игрушку.

Но все-таки в мобильном сегменте, там, где не требуется высокой производительности, а активность пользователя в основном ограничена развлечениями, и не связана с работой, ARM выглядят предпочтительнее х86. Они обеспечивают приемлемый уровень производительности, а также большое время автономной работы. Попытки Intel довести до ума Atom пока неудачны. ARM задает новую планку производительности на ватт потребляемой энергии. Скорее всего, в компактных мобильных гаджетах ARM будут пользоваться успехом. На рынке нетбуков они также могут стать лидерами, но здесь все зависит не столько от разработчиков процессоров, сколько от Microsoft и Google. Если первая реализует нормальную поддержку ARM в Windows 8, а вторая доведет до ума Chrome OS. Пока же смартбуки, предложенные Qualcomm, не сделали рынка. Нетбуки на базе х86 устояли.

Прорыв в этом направлении, по задумке ARM должна совершить архитектура Cortex-A15. Компания рекомендует двух- и четырехъядерные процессоры на ее базе с частотой 1.0-2.0 ГГц для домашних развлекательных систем, которые будут объединять воедино медиаплеер, 3D-телевизор и интернет-терминал. Четырехъядерные чипы с частотой 1.5-2.5 ГГц могут стать основой домашних и веб-серверов. Наконец самый амбициозный вариант применения Cortex-A15 - инфраструктура беспроводных сетей. Здесь могут использоваться чипы с четырьмя и более ядрами, частотой 1.5-2.5 ГГц.

Но пока это только планы. Cortex-A15 была представлена ARM в сентябре прошлого года. Cortex-A9 была показана компанией в октябре 2007 года, через два года компания презентовала вариант А9 с возможностью увеличения частоты чипы до 2.0 ГГц. Для сравнения NVIDIA Tegra 2 - одно из самых раскрученных решений на базе Cortex-A9 – увидело свет только в январе прошлого года. Ну а первые гаджеты на его основе пользователи смогли пощупать еще через шесть месяцев.

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

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

Но в чем же отличие? Что такое архитектура ARM и чем она отличается от x86? В последней, используемой в процессорах Intel и AMD, применяется набор CISC-команд. Обработка на их основе очень функциональна, открывает просторы для программистов и разработчиков железа, но требует немалого количества энергоресурсов. Суть CISC, грубо говоря, заключается в том, что каждая поступаемая команда декодируется в простейший элемент и только потом обрабатывается.

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

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

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

Говоря о том, что такое чипы ARM следует отметить такой момент, как комплексность предлагаемых современных мобильных систем. ARM – это не просто один процессор. Как правило, в него входят: контроллер оперативной памяти, графический ускоритель, видеодекодер, аудиоокодек и опционально модули беспроводной связи. Такая система называется однокристальной. Другими словами, ARM – это чип на чипе.

На сегодняшний день ARM насчитывают несколько процессорных поколений:

ARM9 . Чипы ARM9 могут достигать тактовой частоты 400 МГц. Эти чипы морально устарели, но по прежнему пользуются спросом. Например, в беспроводных маршрутизаторах и терминалах оплаты. Набор простых команд такого чипа позволяет с легкостью запускать многие Java-приложения.

ARM11 . Процессоры ARM11 могут похвастаться более полным набором простых команд, расширяющих их функционал и высокой тактовой частотой (вплоть до 1 ГГц). Благодаря невысокому энергопотреблению и низкой себестоимости чипы ARM11 до сих пор применяются в смартфонах начального уровня.

ARMv7. Современные чипы архитектуры ARM принадлежат к семейству ARMv7, флагманские представители которого уже достигли отметки в восемь ядер и тактовой частоты свыше 2 ГГц. Разработанные непосредственно ARM Limited процессорные ядра принадлежат к линейке Cortex и большинство производителей однокристальных систем используют их без существенных изменений.

ARM Cortex-A8. Исторически первым процессорным ядром семейства ARMv7 было Cortex-A8, которое легло в основу таких известных SoC своего времени как Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab). Оно демонстрирует примерно вдвое более высокую производительность по сравнению с предшествующим ARM11, и увы, более высокое энергопотребление, что делает данный чип ныне крайне непопулярным.

ARM Cortex-A9. Вслед за Cortex-A8 компания ARM Limited представила новое поколение чипов – Cortex-A9, которое сейчас является самым распространенным и занимает среднюю ценовую нишу. Производительность ядер Cortex-A9 выросла примерно втрое по сравнению с Cortex-A8, да еще и появилась возможность объединять их по два или даже четыре на одном чипе.

ARM Cortex-A5 и Cortex-A7. При проектировании процессорных ядер Cortex-A5 и Cortex-A7 компания ARM Limited преследовала одно и ту же цель – добиться компромисса между минимальным энергопотреблением ARM11 и приемлемым быстродействием Cortex-A8. Не забыли и про возможность объединения ядер по два-четыре – многоядерные чипы Cortex-A5 и Cortex-A7 мало-помалу появляются в продаже (Qualcomm MSM8625 и MTK 6589).

ARM Cortex-A15. Процессорные ядра Cortex-A15 стали логическим продолжением Cortex-A9 – как результат, чипам архитектуры ARM впервые в истории удалось примерно сравниться по быстродействию с Intel Atom, а это уже большой успех. Не зря ведь компания Canonical в системных требования к версии ОС Ubuntu Touch с полноценной многозадачностью указала двухъядерный процессор ARM Cortex-A15 или аналогичный Intel Atom.

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



Рекомендуем почитать

Наверх