Статьи

Процессоры ARM: маленькие гиганты электронного мира

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

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

В персональных компьютерах эти микросхемы довольно большие и весьма горячие (иначе зачем же все эти кулеры и системы водяного охлаждения), а вот смартфонные микросхемы — маленькие и совершенно холодные. Но означает ли это, что они не такие же старательные и трудолюбивые, как их пышущие энергией компьютерные собратья? Вовсе нет! Глядя на возможности нынешних флагманских моделей смартфонов и планшетов, мы понимаем, что их процессоры в большинстве вычислительных задач практически не уступают своим «взрослым» собратьям. И при этом демонстрируют потрясающую энергоэффективность — важнейшее качество мобильного девайса.

Так кто же они — эти маленькие тяжеловозы мира цифровой техники? Поразительно, но ответ на этот вопрос на девяносто процентов исчерпывается тремя буквами английского алфавита: ARM. Именно процессоры этой архитектуры трудятся в подавляющем большинстве смартфонов, планшетов, DVD- и Blu-ray-плееров, умных телевизоров, интернет-роутеров и еще в целой куче потребительской и профессиональной электроники.

Так что представляют собой ARM-процессоры, каково их прошлое, настоящее и будущее?

Давайте разберемся.

ARM-классика. От персоналки до айфона

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

Именно необходимость в процессоре повышенной мощности, способном работать с новомодным в то время графическим пользовательским интерфейсом, привела в начале 80-х годов прошлого столетия британскую компанию Acorn Computers, выпустившую ранее весьма успешную на европейском рынке модель персоналки BBC Micro, к мысли о необходимости отказа от готовых, но маломощных решений, предлагаемых партнерами по бизнесу MOS Technology и Motorola, и запуску разработки собственного процессора с нуля.

Да, в те — не насыщенные технологиями —  времена вот так легко принимались подобные судьбоносные решения. По крайней мере, для будущего бизнеса Acorn Computers решение о создании своего процессора стало именно таким.

Создание совершенно нового процессора — невероятно трудоемкий процесс. Но если в компании работает команда талантливых инженеров, то задача решается достаточно быстро и эффективно. А в Acorn работали именно такие инженеры. Софи Вилсон (Sofie Wilson) и Стивен Фарбер (Steve Furber), участники проекта BBC Micro, просто загорелись желанием создать для Acorn микропроцессор на основе интереснейшей и, главное, отличающейся от того, что предлагал рынок, архитектуры RISC (Restricted (reduced) instruction set computer — компьютер с сокращенным набором команд). Задуманная такими гигантами компьютерного рынка, как IBM, в качестве альтернативы популярной архитектуре CISC (Complex instruction set computer), RISC-архитектура предлагала оптимизацию вычислительного процесса за счет реализации сложных функций не с помощью единственной комплексной команды, как это делалось в CISC, а с помощью набора более простых команд. При таком подходе арифметико-логическое устройство существенно упрощается, что позволяет добавить в схему процессора большее число регистров. Увеличение их количества снижает необходимость частого обращения к медлительной оперативной памяти, поскольку в регистрах можно разместить больше операций и данных для их исполнения.Совершенствованием архитектуры RISC занималось в основном университетское сообщество. Наиболее известным проектом был «Проект RISC», выполняемый в то время в университете Беркли. Именно в этот университет и поехали за знаниями инженеры Вилсон и Фарбер.

Вдохновленные перспективной технологией Вилсон и Фарбер вернулись в родные пенаты и приступили к разработке системы команд нового процессора (этим занималась Софи Вилсон) и его программного эмулятора (творение Фарбера). В 1983 году, продемонстрировав руководству Acorn результаты своей работы, инженеры получили добро на воплощение процессора в «железе». Так появился окутанный секретностью проект Acorn RISC Machine — ARM.

Первое свое материальное воплощение 32-разрядная архитектура ARM первой версии (ARMv1) получила в процессоре ARM1, использовавшемся как замена маломощным CISC-процессорам MOS Technology в компьютере BBC Micro.

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

К сожалению, появление Archimedes совпало с триумфальным шествием на потребительский рынок IBM PC совместимых персоналок. Противостоять этому валу в одиночку было весьма сложно. И, возможно, RISC-процессоры ARM стали бы такой же историей, как, например, Си-ориентированный процессор AT&T Hobbit, если бы не известная ныне всем «яблочная» компания.

Знатный инноватор компьютерного рынка, компания Apple, в начале девяностых годов прошлого столетия активно искала процессорное решение для своей уникальной по тем временам новинки — персонального цифрового ассистента Apple Newton. Первоначально в качестве центрального процессора этого предшественника карманных персоналок планировалось применять упомянутый выше процессор Hobbit. Но сравнение энергопотребления ARM и Hobbit, а главное, их габаритных показателей склонило чашу весов в пользу процессоров Acorn.

Именно тогда проект Acorn RISC Machine был переименован в Advanced RISC Machines, ведь процессоры ARM стали теперь использоваться не только в продукции Acorn Computers.

Результатом совместных трудов инженеров ARM и Apple стал процессор ARM6, использующий новую архитектуру ARMv3. Благодаря заказам купертиновцев с помощью нового процессора удалось (весьма ненадолго) вдохнуть жизнь в RISC-персоналки Acorn. На ARM6 работала линейка компьютеров Acorn RISC PC.

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

Технология ASSP (Application-specific standard products) предполагает разработку простых, но в то же время универсальных по применению компонентов — например, аппаратных декодеров звука и видео.

Технология же ASIC (Application-specific integrated circuit) — в противоположность ASSP, да и процессорным системам общего назначения — предполагает создание интегральных микросхем, специализирующихся на решении некоторого ограниченного круга задач. К ASIC-решениям можно отнести роутеры, мобильные телефоны и игровые консоли.

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

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

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

В 1994 году ARM выпустила настоящий бестселлер — процессорное ядро ARM7. В этом 32-разрядном процессоре инженеры ARM применили уникальную технологию, позволяющую существенно сократить объем кода выполняющейся на процессоре программы, в сравнении с кодом на стандартной для архитектуры ARM системе команд. Эта технология получила название Thumb, что в вольном переводе означает «мальчик-с-пальчик».

Традиционно оптимизацией кода занимается компилятор, на выходе которого появляется объектный файл программы. Технология Thumb предполагает несколько иной подход.

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

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

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

Ядро ARM7 стало сердцем компьютеров Psion, игровых консолей Game Boy и Nintendo DS, иконы мира цифровой музыки — плеера Apple iPod и успешных palmtop-компьютеров HP Jornada.

Самая успешная реализация ядра ARM7, получившая обозначение ARM7TDMI, реализована в «железе» более сотни миллионов раз. Получаемый при этом чип, сделанный по 0,18 микрометровой КМОП-технологии, имел площадь 0,25 квадратных миллиметра и обеспечивал рассеиваемую мощность всего 0,25 мВт/МГц.

В другой модификации ARM7, именуемой ARM7-EJ-S, наряду с Thumb была опробована еще одна крайне важная технология.

Разработанная компанией ARM технология Jazelle обеспечивала аппаратное ускорение обработки байт-кода языка Java. Позже ARM расширила возможности технологии Jazelle, научив ее работать не только с байт-кодом Java, но и с другими интерпретируемыми языками, такими, например, как Perl, Pyton и Microsoft .NET.

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

Благодаря своей популярности ядро ARM7 пережило два обновления процессорной архитектуры: ARMv3, ARMv4.

Создавая однокристальные компьютеры на базе собственных ядер, ARM задумывалась не только о процессорном модуле, но и о многочисленной периферии, которую требовалось подключить к такой системе на чипе. Результатом этих раздумий стал набор периферийных компонентов PrimeCell, созданный на основе перепрограммируемых вентилей. В составе PrimeCell реализованы порты UART и USB, контроллеры оперативной памяти и LCD-мониторов, интерфейсы для подключения смарт-карт.

Всю эту периферию на чипе объединяет с ARM-ядром фирменная шина AMBA (Advanced Microcontroller Bus Architecture). Шина AMBA, в свою очередь, делится на системную шину (AHB) и шину периферийных устройств (APB). Задачей AHB является обеспечение высокоскоростного обмена между ядром ARM и контроллерами памяти и LCD-экрана, в то время как цель APB — снижение энергопотребления при работе с подключаемой периферией.

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

Вскоре на смену ядру ARM7 пришло процессорное ядро ARM9. Реализуя архитектуру ARMv5, новые процессоры семейства ARM9 стали основой первых смартфонов и КПК на базе операционных систем Symbian, Windows CE и мобильных вариантов Linux. Ведь наряду с поддержкой расширенного варианта технологии Jazelle эти процессоры имели в своем составе модули управления и защиты памяти (MMU — memory management unit; MPU — memory protect unit), что позволяло запускать на них программы, работающие под управлением практически полноценных операционных систем.

Совершенствуя линейку ядер ARM9, компания ARM выпускает процессорное ядро ARM11, базирующееся на новой архитектуре ARMv6. В ее составе появилась фирменная реализация компьютерного вычислителя с параллельной обработкой данных SIMD (Single instruction, multiple data — одиночный поток команд, множественный поток данных) и сопроцессорное  расширение VFP (Vector Floating Point), весьма экономно выполняющее вычисления с плавающей точкой. Появилась в этой архитектуре и  кэш-память первого и второго уровня. Кроме того, впервые в архитектуре ARMv6 была реализована многоядерная версия процессора ARM11 (модель ARM11 MPCore), четыре ядра которой реализовывали симметричную многопроцессорную обработку.

Изящество и эффективность ядер ARM9 и ARM11 была по достоинству оценена многочисленными чипмейкерами. Число лицензиатов ARM в это время существенно возрастает. Ими становятся и такие гиганты кремниевого рынка, как Texas Instruments, NXP Semiconductors, Qualcomm, и такие новички, как Marvell, выкупившая ARM-бизнес у RISC-ненавистника Intel,  Samsung и NVIDIA.

К ARM9-бестселлерам относятся мобильные телефоны Sony Ericsson серий K и W, знаменитые мобильники LG Arena и Cookie Fresh, цифровые фотоаппараты Canon серий PowerShot и EOS. ARM9 является ядром графического чипа первого поколения консоли Nintendo Wii.

На вариантах ядра ARM11 была реализована такая классика мобильного жанра, как Nokia 6120 Classic, Nokia N95 и N97, плееры Microsoft Zune и бестселлеры HTC Hero, Dream и Magic.

Но, конечно же, самым известным вместилищем ARM11 является линейка «яблочных» смартфонов и плееров iPhone/iPhone 3G и iPod touch первого и второго поколений. Согласитесь, ядрам ARM9 и ARM11есть чем гордиться.

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

Однако почивать на лаврах успеха ARM не собиралась. Понимая, что она вступила на тропу противостояния таким апологетам рынка, как Intel и AMD, ARM, разрабатывая новую архитектуру ARMv7, решила существенно укрепить свои позиции, создав принципиально новые процессорные ядра. И у нее это получилось. Новое решение назвали Cortex, и в настоящее время оно является путеводной звездой компании ARM.

Такой многоликий Cortex

В основу процессорной линейки Cortex компания ARM положила как новую архитектуру ARMv7, так и новую идеологию маркетинга своей интеллектуальной собственности.

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

К этим решениям в первую очередь относится технология Thumb-2 — следующее поколение успешной системы уплотнения кода Thumb. Thumb-2 расширила набор 16-разрядных Thumb-команд и дополнила его рядом полноценных 32-разрядных инструкций. Именно поэтому Thumb-2, при плотности кода аналогичной Thumb,  обеспечивает существенный прирост производительности.

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

Фактически NEON  является процессором в процессоре. Обладая независимым конвейерным модулем, собственными тридцатью двумя 64-разрядными и шестнадцатью 128-разрядными регистрами данных, NEON с легкостью работает с такими задачами, как кодирование и декодирование видео и звука и обработка 2D- и 3D-графики. При этом модуль NEON тесно интегрируется с ARM-ядром, а это значит, что в многоядерной архитектуре MPCore число модулей NEON совпадает с числом процессорных ядер.

Уникальная архитектура NEON обеспечивает его производительность, как минимум в три раза превышающую производительность классических ARM-ядер на архитектуре ARMv5 и удвоенную производительность по сравнению с модулями SIMD/VFP в архитектуре ARMv6.

Интересным решением в ARMv7 является технология TrustZone. Будучи своеобразным аппаратным ответом ARM на киберпреступные реалии нашего времени, технология TrustZone, разработанная ARM совместно с Security Foundation, ориентирована в первую очередь на встраиваемые решения, работающие с защищенными транзакциями. Банкоматы, платежные терминалы, да и, собственно, мобильные девайсы пользователей, все чаще выступающие средством онлайн-платежей, оснащенные процессорами с поддержкой TrustZone обеспечивают гарантированное безопасное выполнение транзакций, качественную работу с цифровыми правами контента (DRM), а также усиленный контроль за периферийным оборудованием — лазейкой, через которую злоумышленники и проникают в систему. Функционирование, преимущества и недостатки TrustZone вполне достойны отдельного рассмотрения.

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

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

1. Cortex-A (от application) — семейство процессоров, ориентированных на рынок потребительской электроники и способных решать широкий спектр задач, которым современные пользователи так любят нагружать свои гаджеты. В состав линейки Cortex-A вошли процессоры, названия большинства из которых в нынешнем году были у всех на слуху, а названия некоторых только готовятся к этой важной миссии. В настоящее время компанией ARM разработан референс-дизайн процессоров Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9 и Cortex-A15.

2. Cortex-R (от real time) — серия микропроцессоров, оптимизированных для выполнения вычислений в режиме реального времени. Везде, где требуется отклик системы в строго определенное время, процессоры серии Cortex-R обеспечат его. Наиболее предпочтительными областями применения этой процессорной линейки являются, конечно же, встроенные решения, такие как контроллеры промышленного и медицинского оборудования, автомобильная электроника и коммуникационные системы.

Впрочем, и в потребительской электронике Cortex-R находится достойное применение. Контроллеры жестких дисков, процессоры обработки сигналов в фото/видеомодулях смартфонов и цифровых камер, набирающее силу «умное» телевидение — вот только малая часть областей, где «реальный» Cortex может применить свои способности.

3. Cortex-M (от eMbedded) — линейка Cortex-процессоров, пришедших на смену 8- и 16-разрядным микроконтроллерам встраиваемых систем. Обладая всеми достоинствами и мощью архитектуры ARMv7, процессоры серии M являются самыми легковесными среди своих Cortex-собратьев. Низкое энергопотребление, минимальное тепловыделение и маленькие габариты наряду с недюжинной производительностью позволяют Cortex-M стать во главе «умной» бытовой техники, а также интеллектуальных контроллеров в областях автомобильной электроники и игровых консолей.

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

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

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

Как же устроены эти процессоры? О технологических решениях ARM Cortex читайте в наших следующих материалах.

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

Новости

Смотреть все

Новинки

Смотреть все

Отзывы