Чем архитектура ARM отличается от x86. Процессор ARM Cortex A7: характеристики и отзывы

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

Краткая справка о компании ARM

История компании ARM началась в 1990 году, когда она была основана Робином Саксби. Основой же для ее создания стала новая микропроцессорная архитектура. Если до этого господствующие позиции на рынке ЦПУ занимала х86 или CISC , то после образования данной компании появилась достойная альтернатива в виде RISC. В первом случае выполнение программного кода сводилось к 4 этапам:

    Получение машинных инструкций.

    Выполнение преобразования микрокода.

    Получение микроинструкций.

    Поэтапное выполнение микроинструкций.

О сновная же идея архитектуры RIS С состояла в том, что обработку программного кода можно свести к 2 этапам:

    Получение RISC- инструкций.

    Обработка RISC- инструкций.

К ак в первом, так и во втором случае есть как плюсы, так и существенные недостатки. х86 успешно завоевала компьютерный рынок, а RISC ( в том числе и , представленная 2011 году) — рынок мобильных устройств.

История появления архитектуры Cortex A7. Ключевые особенности

В качестве основы для «Кортекс А7» выступала «Кортекс А8». Основная идея разработчиков в данном случае сводилась к тому, чтобы увеличить производительность и значительно улучшить энергоэффективность процессорного решения. Именно это в конечном итоге и получилось у инженеров компании ARM . Еще одной важной особенностью в данном случае стало то, что появилась возможность создавать ЦПУ с технологией big.LITTLE. То есть полупроводниковый кристалл мог включать 2 вычислительных модуля. Один из них был нацелен на решение наиболее простых задач с минимальным энергопотреблением и, как правило, в этой роли и выступали ядра «Кортекс А7». Второй же был предназначен для запуска наиболее сложного софта и базировался на вычислительных блоках «Кортекс А15» или «Кортекс А17». Официально «Кортекс А7» была представлена, как было отмечено ранее, в 2011 году. Ну а первый процессор ARM Cortex A7 увидел свет годом позже, то есть в 2012 году.

Технология производства

Изначально полупроводниковые продукты на основе А7 производились по технологическим нормам 65 нм. Сейчас эта технология безнадежно устарела. В дальнейшем были выпущены еще два поколения процессоров А7 по нормам допуска уже 40 нм и 32 нм. Но и они сейчас уже стали неактуальными. Наиболее свежие модели ЦПУ на основе этой архитектуры изготавливаются уже по нормам 28 нм, и именно их пока еще можно встретить в продаже. Дальнейший переход на более новые с новыми нормами допуска и устаревшей архитектурой ожидать вряд ли стоит. Чипы на базе А7 сейчас занимают наиболее бюджетный сегмент рынка мобильных устройств и их постепенно вытесняют уже гаджеты на основе А53, которая практически при той же энергоэффективности параметрах имеет более высокий уровень быстродействия.

Архитектура микропроцессорного ядра

1, 2, 4 или 8 ядер может входить в состав ЦПУ на базе ARM Cortex A7. Характеристики процессоров в последнем случае указывают на то, что в состав чипа входят, по существу, 2 кластера по 4 ядра. 2-3 года процессорные продукты начального уровня основывались на чипах с 1-им или 2-мя вычислительными модулями. Средний уровень занимали 4-ядерные решения. Ну а премиум-сегмент был за 8-ядерными чипами. Каждое микропроцессорное ядро на основе такой архитектуры включало следующие модули:

    Б лок обработки чисел с плавающей запятой (FPU).

    Кеш 1-го уровня.

    Блок NEON для оптимизации работы ЦПУ.

    Вычислительный модуль ARMv7.

Также были следующие общие компоненты для всех ядер в составе ЦПУ:

    Кеш L2.

    Блок управления ядрами CoreSight.

    Контроллер шины управления данными АМВА с разрядностью 128 бит.

Возможные частоты

Максимальное значение тактовой частоты для данной микропроцессорной архитектуры может изменяться от 600 МГц до 3 ГГц. Также необходимо отметить, что этот параметр, который указывает максимальное влияние на производительность вычислительной системы, изменяется. Причем на частоту оказывает влияние сразу три фактора:

    Уровень сложности решаемой задачи.

    Степень оптимизации программного обеспечения под многопоточность.

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

    В качестве примера рассмотрим алгоритм работы чипа МТ6582, который базируется на А7 и включает 4 вычислительных блока, частота которых изменяется от 600 МГц до 1,3 ГГц. В режиме простоя у этого процессорного устройства может находиться лишь только один блок вычислений, и он функционирует на минимально возможной частоте в 600 МГц. Аналогичная ситуация будет и в том случае, когда будет запущено простое приложение на мобильном гаджете. Но когда же в списке задач появиться ресурсоемкая игрушка с оптимизацией под многопоточность, то автоматически включатся в работу все 4 блока обработки программного кода на частоте 1,3 ГГц. По мере нагрева ЦПУ наиболее горячие ядра будут понижать значение частоты или даже отключаться. С одной стороны, такой подход обеспечивает энергоэффективнсть, а с другой — приемлемый уровень быстродействия чипа.

    Кеш-память

    Всего лишь 2 уровня кеша предусмотрено в ARM Cortex A7. Характеристики полупроводникового кристалла, в свою очередь, указывают на то, что первый уровень в обязательном порядке разделен на 2 равные половинки. Одна из них должна хранить данные, а другая — инструкции. Суммарный р азмер кеша на 1-ом уровне по спецификациям может быть равен 64 Кб. Как результат, получаем 32 Кб для данных и 32 Кб для кода. Кеш 2-го уровня в этом случае будет завис е ть от конкретной модели ЦПУ. Наименьший объем его может быть равен 0 Мб (то есть отсутствовать), а наибольший — 4 Мб.

    Контроллер оперативной памяти. Его особенности

    Встроенным контроллером оперативной памяти комплектуется любой процессор ARM Cortex A7. Характеристикитехнического плана указывают на то, что он ориентирован на работу в связке с ОЗУ стандарта LPDDR3. Рекомендованные частоты функционирования оперативной памяти в данном случае равны 1066 МГц или 1333 МГц. Максимальный же размер ОЗУ, который можно встретить на практике, для данной модели чипа равен 2 Гб.

    Интегрированная графика

    Как и положено, данные микропроцессорные устройства имеют интегрированную графическую подсистему. Компания-производитель ARM рекомендует использовать в сочетании с этим ЦПУ графическую карту собственной разработки Mali -400MP2 . Но ее производительности чаще всего недостаточно для того, чтобы раскрыть потенциал микропроцессорного устройства. Поэтому разработчики чипов применяют в сочетании с этим чипом более производительные адаптеры, например, Power VR6200.

    Программные особенности

    Три вида операционных систем нацелено на процессоры ARM:

      Android от поискового гиганта Google.

      iOS от APPLE.

      Windows Mobile от «Майкрософт».

    Все остальное системное программное обеспечение пока не получило большого распространения. Наибольшую долю на рынке такого софта, как не сложно догадаться, занимает именно Android. Эта система имеет простой и понятный интерфейс и устройства на ее основе начального уровня являются очень и очень доступными. До версии 4.4 включительно она была 32-битной, а с 5.0 стала поддерживать 64-разрядные вычисления. Эта ОС успешно функционирует на любом семействе ЦПУ архитектуры RISC , в том числе и ARM Cortex A7. Инженерное меню — это еще одна важная особенность данного системного софта. С ее помощью можно существенно перенастроить возможности ОС. Доступ же к этому меню можно получить с помощью кода, который для каждой модели ЦПУ индивидуален.

    Еще она важная особенность этой ОС — установка всех возможных обновлений автоматически. Поэтому даже новые возможности могут появиться на чипах семейства ARM Cortex A7. Прошивка их может добавить. Вторая система нацелена на мобильные гаджеты компании APPLE. Такие устройства в основном занимают премиум — сегмент и имеют соответствующие уровни быстродействия и стоимость. Последняя ОС в лице Windows Mobile пока не получила большого распространения. Устройства на ее основе есть в любом сегменте мобильны гаджетов, но вот малое количество прикладного софта в данном случае является сдерживающим фактором для ее распространения.

    Модели процессоров

    Наиболее доступными и наименее производительными в этом случае являются 1-ядерные чипы. Наибольшее распространение среди них получил МТ6571 от компании МедиаТек. На ступеньку выше находятся двухъядерные ЦПУ ARM Cortex A7 Dual Core. В качестве примера можно привести МТ6572 от все того же самого производителя. Еще больший уровень быстродействия обеспечивали Quad Core ARM Cortex A7. Наиболее популярным чипом из этого семейства является МТ6582, который сейчас даже можно встретить в мобильных гаджетах начального уровня. Ну а наибольший уровень быстродействия обеспечивали 8-ядерные центральные процессоры, к которым принадлежал МТ6595.

    Дальнейшие перспективы развития

    Пока еще можно встретить на прилавках магазинов мобильные устройства в основе которых лежит полупроводниковое процессорное устройство на базе 4X ARM Cortex A7. Это и МТ6580, МТ6582 и «Снапдрагон 200». Все эти чипы включают 4 вычислительных блока и имеют отменный уровень энергоэффективности. Также стоимость в этом случае очень и очень скромная. Но все же лучшие времена это микропроцессорной архитектуры уже позади. Пик продаж продукции на ее основе припал на 2013-2014 года, когда на рынке мобильных гаджетов у нее практически не было альтернативы. Причем в этом случае речь идет как о бюджетных устройствах с 1 или 2 вычислительными модулями, так и с флагманскими гаджетами с 8-ядерным ЦПУ. На текущий момент ее постепенно с рынка вытесняет «Кортекс А53», которая по существу является модифицированной 64-битной версией А7. При этом основные преимущества своей предшественницы она сохранила целиком и полностью, и будущее уж точно за ней.

    Мнение экспертов и пользователей. Реальные отзывы о чипах на базе данной архитектуры. Сильные и слабые стороны

    Безусловно, знаковым событием для мира мобильных устройств стало появление архитектуры микропроцессорных устройств ARM Cortex A7. Наилучшим доказательством этого стало то, что устройства на ее базе уже успешно продаются более 5 лет. Конечно, сейчас уже возможностей ЦПУ на основе А7 уже недостаточно даже для решения задач среднего уровня, но вот наиболее простой программный код на таких чипах и по сей день успешно функционирует. В перечень такого софта входит воспроизведение видео, прослушивание аудиозаписей, чтение книг, веб-серфинг и даже наиболее простые игрушки в этом случае запустятся без особых проблем. Именно на этом и акцентируют внимание на ведущих тематических порталах, посвященных мобильным гаджетам и девайсам как ведущие специалисты такого плана, так и обычные пользователи. Ключевой минус А7 — это отсутствие поддержки 64-битных вычислений. Ну а к основным плюсам ее можно отнести идеальное сочетание энергоэффективности и производительности.

    Итоги

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

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

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

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

На данный момент существуют два типа архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). Первая предполагает, что в процессоре будут реализованы инструкции на все случаи жизни, вторая, RISC - ставит перед разработчиками задачу создания процессора с набором минимально необходимых для работы команд. Инструкции RISC имеют меньший размер и более просты.

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

Архитектура процессора x86 была разработана в 1978 году и впервые появилась в процессорах компании Intel и относится к типу CISC. Ее название взято от модели первого процессора с этой архитектурой - Intel 8086. Со временем, за неимением лучшей альтернативы эту архитектуру начали поддерживать и другие производители процессоров, например, AMD. Сейчас она является стандартом для настольных компьютеров, ноутбуков, нетбуков, серверов и других подобных устройств. Но также иногда процессоры x86 применяются в планшетах, это довольно привычная практика.

Первый процессор Intel 8086 имел разрядность 16 бит, далее в 2000 годах вышел процессор 32 битной архитектуры, и еще позже появилась архитектура 64 бит. Мы подробно рассматривали в отдельной статье. За это время архитектура очень сильно развилась были добавлены новые наборы инструкций и расширения, которые позволяют очень сильно увеличить производительность работы процессора.

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

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

Эта архитектура была представлена чуть позже за x86 - в 1985 году. Она была разработана известной в Британии компанией Acorn, тогда эта архитектура называлась Arcon Risk Machine и принадлежала к типу RISC, но затем была выпущена ее улучшенная версия Advanted RISC Machine, которая сейчас и известна как ARM.

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

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

Отличия ARM и x86

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

Производство

Производство x86 vs arm отличается. Процессоры x86 производят только две компании Intel и AMD. Изначально эта была одна компания, но это совсем другая история. Право на выпуск таких процессоров есть только у этих компаний, а это значит, что и направлением развития инфраструктуры будут управлять только они.

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

Количество инструкций

Это главные различия архитектуры arm и x86. Процессоры x86 развивались стремительно, как более мощные и производительные. Разработчики добавили большое количество инструкций процессора, причем здесь есть не просто базовый набор, а достаточно много команд, без которых можно было бы обойтись. Изначально это делалось чтобы уменьшить объем памяти занимаемый программами на диске. Также было разработано много вариантов защит и виртуализаций, оптимизаций и многое другое. Все это требует дополнительных транзисторов и энергии.

ARM более прост. Здесь намного меньше инструкций процессора, только те, которые нужны операционной системе и реально используются. Если сравнивать x86, то там используется только 30% от всех возможных инструкций. Их проще выучить, если вы решили писать программы вручную, а также для их реализации нужно меньше транзисторов.

Потребление энергии

Из предыдущего пункта выплывает еще один вывод. Чем больше транзисторов на плате, тем больше ее площадь и потребление энергии, правильно и обратное.

Процессоры x86 потребляют намного больше энергии, чем ARM. Но на потребление энергии также влияет размер самого транзистора. Например, процессор Intel i7 потребляет 47 Ватт, а любой процессор ARM для смартфонов - не более 3 Ватт. Раньше выпускались платы с размером одного элемента 80 нм, затем Intel добилась уменьшения до 22 нм, а в этом году ученые получили возможность создать плату с размером элемента 1 нанометр. Это очень сильно уменьшит энергопотребление без потерь производительности.

За последние годы потребление энергии процессорами x86 очень сильно уменьшилось, например, новые процессоры Intel Haswell могут работать дольше от батареи. Сейчас разница arm vs x86 постепенно стирается.

Тепловыделение

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

Производительность процессоров

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

Выводы

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

А как вы относитесь к этим x86 и ARM? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, .

На завершение видео о развитии арихтектуры ARM:

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

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

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


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

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

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

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

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

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


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

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

Итоги

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

Ответ - для приложений с повышенной функциональной безопасностью. По крайней мере ядра ARM Cortex-R в высокопроизводительных «реальновременных» микроконтроллерах компании Texas Instruments для этого и применяются.


Хотя процессоры Cortex-R практически полностью совместимы с процессорами Cortex-A и Cortex-M в плане набора инструкций, все-таки между ними есть существенные различия. В частности, ядро Cortex-R характеризуется более высокой производительностью по сравнению с Cortex-M, и в то же время оно может выполнять детерминированные операции, чего сложно добиться на процессорах приложений Cortex-A. Так что с точки зрения производительности Cortex-R располагается между Cortex-M и Cortex-A, но в то же время может применяться как в микроконтроллерах, так и в процессорах.


Ядро Cortex-R построено по гарвардской архитектуре и обеспечивает высокую тактовую частоту благодаря 8-ступенчатому конвейеру и суперскалярному выполнению инструкций. Аппаратные SIMD-инструкции позволяют осуществлять высокопроизводительную цифровую обработку сигналов и работу с медиа-данными. Кроме того, Cortex-M характеризуется такими увеличивающими производительность особенностями, как блок предвыборки инструкций, блок предсказания ветвлений и аппаратный делитель. Такие архитектурные компоненты помогают процессорам Cortex-R4 и Cortex-R5 достигнуть высоких показателей производительности DMIPS/МГц. Другой интересной особенностью ядра Cortex-R является то, что конвейер операций с плавающей точкой, совместимый со стандартом IEEE-754, поддерживает форматы как одинарной точности (32 бита), так и двойной точности (64 бита), и работает параллельно с конвейером операций над числами с фиксированной точкой.



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


Если вы работаете в отрасли, связанной с обеспечением безопасности и надежности устройств, то, наверно, слышали о функциональной безопасности программируемых электронных компонентов, и в первую очередь в голову может прийти стандарт IEC 61508. Это основной международный стандарт безопасности, существующий около 20 лет и соблюдаемый во многих отраслях. Функциональная безопасность предусматривается на транспорте (аэрокосмическая, железнодорожная и автомобильная отрасли), в промышленности, медицине, возобновляемой энергетике и других областях. В этих отраслях либо были разработаны собственные стандарты безопасности, либо были адаптированы международные стандарты, например, IEC 61508. Особо следует отметить, что в 2012 году в автомобильной промышленности был утвержден собственный стандарт функциональной безопасности ISO 26262.


Так, чем же хорош Cortex-R в плане функциональной безопасности? В первую очередь уникальными конфигурационными особенностями, позволяющими осуществлять коррекцию ошибок. Эти особенности являются опциями, которые компания ARM встроила прямо в ядро, и которые включают функции обнаружения и исправления ошибок, защищающие шины и системы памяти первого уровня, пользовательский и привилегированный режимы работы программного обеспечения с блоком защиты памяти (MPU) и поддержку конфигурации dual-core Lock Step (DCLS).


Что же такое DCLS и зачем оно нужно? Если вы инженер-программист и работаете над проектом, предусматривающим надежную и безопасную работу устройства, то DCLS сделает вашу жизнь намного проще. Это особенно полезно, если вы используете два микроконтроллера или два независимых ядра для диагностики ошибок в одном ядре.


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


Для простоты понимания механизм DCLS можно представить как сочетание основного процессора и проверочного модуля. С точки зрения программиста программирование такой системы не будет отличаться от программирования обычного одноядерного микроконтроллера. Второе ядро, то есть проверочный модуль, наряду с логикой сравнения выполняет работу описанного выше «лишнего» кода, а также много чего еще. Логика сравнения может обнаружить ошибку за несколько циклов процессора в то время, как дискретное ядро может потратить на это сотни или даже тысячи циклов. Поэтому DCLS гораздо быстрее в деле обнаружения ошибок и может сэкономить драгоценное время при разработке надежного кода.

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

Краткий экскурс в историю

По запросу «ARM» Википедия выдает два значения этой аббревиатуры: Acorn RISC Machine и Advanced RISC Machines. Начнем по порядку. В 1980-х годах в Великобритании была основана компания Acorn Computers, которая начинала свою деятельность созданием персональных компьютеров. В то время Acorn еще называли «британской Apple». Решающим периодом для компании стал конец 80-х годов, когда ее главный инженер воспользовался решением двух выпускников местного университета, придумавших новый вид процессорной архитектуры с сокращенным набором команд (RISC). Так появился первый компьютер на базе процессора Acorn Risc Machine. Успех не заставил себя долго ждать. В 1990 году британцы заключили договор с Apple и вскоре начали работу над новой версией чипсета. В итоге команда разработчиков сформировала компанию под названием Advanced RISC Machines по аналогии с процессором. Чипы с новой архитектурой также стали именоваться Advanced Risc Machine или сокращенно ARM.

С 1998 года Advanced Risc Machine стала называться ARM Limited. На текущий момент компания не занимается производством и продажей собственных процессоров. Основным и единственным направлением деятельности ARM Limited является разработка технологий и продажа лицензий различным компаниям на использование архитектуры ARM. Некоторые производители покупают лицензию на готовые ядра, другие – так называемую «архитектурную лицензию» на производство процессоров с собственными ядрами. Среди таких компаний значатся Apple, Samsung, Qualcomm, nVidia, HiSilicon и другие. По некоторым данным, ARM Limited зарабатывает на каждом таком процессоре $0,067. Эта цифра усредненная и к тому же устаревшая. С каждым годом ядер в чипсетах становится все больше, и новые многоядерные процессоры превосходят по себестоимости устаревшие образцы.

Технические особенности чипов ARM

Существует два типа современных процессорных архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). К архитектуре CISC относится семейство процессоров x86 (Intel и AMD), к архитектуре RISC – семейство ARM. Основным формальным отличием RISC от CISC и, соответственно, x86 от ARM является сокращенный набор команд, используемый в RISC-процессорах. Так, например, каждая инструкция в CISC-архитектуре трансформируется в несколько RISC-команд. В добавок, RISC-процессоры используют меньше транзисторов и, таким образом, потребляют меньше энергии.


Основным приоритетом ARM-процессоров является отношение производительности к потреблению энергии. ARM имеет большее соотношение производительности на ватт чем x86. Вы можете получить необходимую мощность из 24 ядер x86 или из сотен маленьких ядер ARM с низким энергопотреблением. Разумеется, один даже самый мощный процессор на архитектуре ARM никогда не будет сопоставим по мощности с Intel Core i7. Но тот же Intel Core i7 нуждается в активной системе охлаждения и никогда не поместится в корпус телефона. Здесь ARM вне конкуренции. С одной стороны, это выглядит привлекательным вариантом для построения суперкомпьютера с использованием миллиона ARM-процессоров вместо тысячи процессоров x86. С другой стороны, нельзя однозначно сравнивать две архитектуры. В чем-то преимущество будет за ARM, а в чем-то – за x86.

Однако называть чипы архитектуры ARM процессорами не совсем корректно. Кроме нескольких процессорных ядер, они также включают другие компоненты. Наиболее подходящим будет термин «однокристальная система» или «система на кристалле» (SoC). Современные однокристальные системы для мобильных устройств включают контроллер оперативной памяти, графический ускоритель, видеодекодер, аудиокодек и модули беспроводной связи. Как уже было сказано ранее, отдельные компоненты чипсета могут быть разработаны сторонними производителями. Наиболее ярким примером этого являются графические ядра, разработкой которых кроме ARM Limited (графика Mali), занимаются Qualcomm (Adreno), NVIDIA (GeForce ULP) и Imagination Technologies (PowerVR).


На практике это выглядит следующим образом. Большинство бюджетных мобильных устройств на Android поставляются с чипсетами производства компании MediaTek , которая практически неизменно следует инструкциям ARM Limited и комплектует их ядрами Cortex-A и графикой Mali (реже PowerVR).


А-бренды для своих флагманских устройств зачастую используют чипсеты производства Qualcomm . К слову, последние чипы Qualcomm Snapdragon ( , ) оснащены полностью кастомными ядрами Kryo – для центрального процессора и Adreno – для графического ускорителя.


Что касается Apple , то для iPhone и iPad компания использует собственные чипы А-серии с графическим ускорителем PowerVR, производством которых занимаются сторонние компании. Так, в установлен 64-битный четырехъядерный процессор A10 Fusion и графический процессор PowerVR GT7600.


Актуальной на момент написания статьи считается архитектура процессоров семейства ARMv8 . В ней впервые стал использоваться 64-битный набор инструкций и появилась поддержка более 4 ГБ оперативной памяти. Архитектура ARMv8 имеет обратную совместимость с 32-битными приложениями. Наиболее эффективным и самым мощным процессорным ядром, разработанным ARM Limited, на данный момент является Cortex-A73 , и большинство производителей однокристальных систем используют его без изменений.


Cortex-A73 обеспечивает на 30% более высокую производительность по сравнению с Cortex-А72 и поддерживает полный набор ARMv8-архитектуры. Максимальная частота процессорного ядра составляет 2,8 ГГц.

Сфера использования ARM

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


Портфолио компании ARM Limited не ограничивается только ядрами семейства Cortex-A. Фактически, под маркой Cortex существует три серии процессорных ядер, которые обозначаются буквами A, R, M. Семейство ядер Cortex-А , как мы уже знаем, является наиболее мощными. Их в основном используют в смартфонах, планшетах, ТВ-приставках, спутниковых ресиверах, автомобильных системах, робототехнике. Процессорные ядра Cortex-R оптимизированы для выполнения высокопроизводительных задач в режиме реального времени, поэтому такие чипы встречаются в медицинском оборудовании, автономных системах безопасности, носителях информации. Основной задачей семейства Cortex-M является простота и низкая стоимость. Технически это самые слабые процессорные ядра с наиболее низким энергопотреблением. Процессоры на базе таких ядер используются практически везде, где от устройства требуется минимальная мощность и низкая стоимость: сенсоры, контроллеры, сигнализации, дисплеи, умные часы и другая техника.

В общем, большинство современных устройств от маленьких до больших, нуждающихся в центральном процессоре, используют чипы ARM. Огромным плюсом при этом является тот факт, что архитектура ARM поддерживается множеством операционных систем на платформе Linux (в том числе Android и Chrome OS), iOS, и Windows (Windows Phone).

Конкуренция на рынке и перспективы на будущее

Стоит признать, на данный момент у ARM нет серьезных конкурентов. И по большому счету это связано с тем, что компания ARM Limited в определенное время сделала правильный выбор. А ведь в самом начале своего пути компания выпускала процессоры для ПК и даже пыталась конкурировать с Intel. После того, как ARM Limited поменяла направление своей деятельности, ей также было непросто. Тогда программный монополист в лице Microsoft, заключив партнерское соглашение с Intel, не оставил никаких шансов другим производителям, в том числе и ARM Limited – ОС Windows просто не работала на системах с процессорами ARM. Как бы парадоксально это не звучало, но сейчас ситуация может кардинально измениться, и уже ОС Windows готова поддерживать процессоры на этой архитектуре.


На волне успехов чипов ARM компания Intel предприняла попытку создать конкурентоспособный процессор и вышла на рынок с чипом Intel Atom . Для этого ей потребовалось гораздо больше времени, нежели ARM Limited. В производство чипсет поступил в 2011 году, но, как говорится, поезд уже ушел. Intel Atom является CISC-процессором с архитектурой x86. Инженеры компании добились более низкого энергопотребления, нежели в ARM, однако на текущий момент разнообразный мобильный софт имеет плохую адаптацию к архитектуре x86.


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


Положение ARM Limited на рынке уникальное. На данный момент практически все производители пользуются ее разработками. При этом у компании нет собственных заводов. Это не мешает ей стоять в одном ряду с Intel и AMD. История ARM включает еще один любопытный факт. Не исключено, что сейчас технология ARM могла бы принадлежать компании Apple, которая стояла в основе формирования ARM Limited. По иронии судьбы в 1998 году купертиновцы, переживая кризисные времена, продали свою долю. Теперь Apple вынуждена наряду с другими компаниями покупать лицензию на процессоры ARM, используемые в iPhone и iPad.

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