Архитектура arm и x86 различия

Чем архитектура ARM отличается от x86

ARM и x86 являются двумя наиболее распространенными архитектурами процессоров на планете. Каковы их сильные и слабые стороны для производительности и энергоэффективности?

Чем архитектура ARM отличается от x86

В течение многих лет ARM (первоначально Acorn RISC Machines, но теперь Advanced RISC Machines) находилась в центре современных микропроцессоров и встроенного дизайна. Сфокусировавшись на энергоэффективности и простом наборе инструкций, мобильные устройства, в частности, сильно выиграли от дизайна процессора. Это позволило очень быстро ускорить развитие мобильного рынка.

Но несколько лет назад Raspberry Pi дебютировал, получив Broadcom SoC, который включал ядро ​​ARM с тактовой частотой 700 МГц. Ядро ARM само по себе похвасталось низкой стоимостью и простотой.

Чем архитектура ARM отличается от x86

Со своей стороны, Intel, в основном, производила процессоры с высокой производительностью и высокой пропускной способностью, включая настольные ПК, ноутбуки, серверы и даже суперкомпьютеры. Но это уже не так, поскольку Intel охватывает рынок мобильных / маломощных компьютеров со многими мобильными процессорами, включая серию Intel Atom (один из основных процессоров, питающих Windows 10 планшеты).

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

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

Различия в мощности обработки

Процессоры ARM вписываются в семейство RISC, которое означает «Сокращенный набор команд».

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

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

С другой стороны, процессоры Intel вписываются в семейство CISC, которое представляет собой комплексную команду Set Computing.

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

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

Различия в потребляемой мощности

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

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

Из-за их повышенной сложности ядра Intel потребляют намного больше энергии, чем ядра ARM. Высокопроизводительный Intel I-7 может потреблять до 130 Вт энергии, тогда как мобильные процессоры Intel (такие как Atom и Celeron) потребляют от 6 Вт до 30 Вт. Процессоры с самой низкой потребляемой мощностью (линия Atom), предназначенные для использования ноутбуком, не интегрируют графику в процессор, а мобильные версии. Однако те, которые интегрируют графику, имеют значительно меньшую тактовую частоту (от 300 МГц до 600 МГц), что приводит к меньшей пропускной способности.

Различия в программном обеспечении


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

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

Если у вас остались вопросы по теме «Чем архитектура ARM отличается от x86» — пишите их в форму комментариев. Также, мы уже писали о том, как добывать Эфир на Ubuntu и Linux Mint.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Чем различаются архитектуры ARM и x86

Еще совсем недавно (всего 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 будет размываться все больше.

Нужны ли ноутбукам Apple процессоры ARM? Принципиальные отличия технологии ARM от x86.

Накануне WWDC 2018 меня посетила такая мысль, а что если Apple завтра и правда объявит о планах перевода Macbook на процессоры ARM? На самом деле это будет революционное заявление, да и многие специалисты утверждают, что за ARM будущее…

Напомню, что в истории Apple уже был один глобальный переход с собственных процессоров POWER PC на x86, так что появление ноутбука на процессоре ARM лично мне не кажется чем-то нереальным. И первым претендентом на такой переход видится мне именно мой любимый Macbook 12″.

Что такое архитектура процессора?

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

Процессоры с архитектурой x86 (производятся компаниями Intel и AMD, а само название взято от модели первого процессора Intel 8086) относятся к типу CISC, соответсвенно ARM (разработка британской компанией Acorn) к RISC.

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

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

Сейчас явная грань в производительности и автономности между процессорами, основанными на этих архитектурах постепенно стёрлась. Компактный Intel Core M сравним по скорости с топовым ARM процессором A11 от Apple. И что-то мне подсказывает, что Apple под силу разработать и более мощный ARM процессор для Macbook, который уже будет конкурировать с Intel Core i5 или i7.

Опыт внедрения ARM процессоров уже имеется, например ASUS и HP ещё в конце прошлого года выпустили ноутбуки на процессорах Quallcomm Snapdragon 835 и Windows 10 на борту, а ближе к осени планируются новые версии на Snapdragon 850 и 1000, специально разработанных для портативных компьютеров.

Что будет с macOS и iOS если Apple перейдет на процессоры ARM?

На мой взгляд, вполне вероятно объединение macOS и iOS в некую единую систему. Да и отказ от 32-битных приложений в новой версии macOS явно делался не просто так. Как-никак, завтра конференция для разработчиков, потому вполне логично предположить и такой сценарий.

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

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

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Чем архитектура ARM отличается от x86

В наше время существует две самые популярные архитектуры процессоров. Это 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? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, Линус Торвальдс предпочитает x86.

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

Процессоры ARM против x86: будет ли схватка

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

Совсем недавно сама постановка вопроса казалась немыслимой: можно ли вообще сравнивать «телефонный» процессор с чипами, применяющимися в «персоналках», серверах и даже суперкомпьютерах? Между тем, развитие технологий и причуды рынка привели к ситуации, когда специалисты всерьёз обсуждают возможность даже не просто конкуренции между процессорами ARM и чипами x86, а яростной схватки между ними.

Прежде всего, определимся с понятиями и познакомимся с потенциальными соперниками.

Центральные процессоры x86 – это микропроцессоры, поддерживающие одноимённый набор инструкций и обладающие микроархитектурой, производной от IA-32, то есть Intel Architecture 32-бит. Чипы построены на основе архитектуры CISC (Complex Instruction Set Computing, то есть «с полным набором инструкций»), в которой каждая инструкция может выполнять сразу несколько низкоуровневых операций.

Исторически семейство x86 восходит к 16-разрядной модели Intel 8086, выпущенной в 1978 году. 32-битными эти процессоры стали лишь в 1985 году, когда был представлен первый «триста восемьдесят шестой». В 1989 году Intel выпустила первый скалярный (то есть выполняющий одну операцию за один такт) чип i486 (80486), в котором впервые появились встроенная кэш-память и блок вычислений с плавающей запятой FPU. Процессоры Pentium, представленные в 1993 году, стали первыми суперскалярными (то есть выполняющими несколько операций за такт) и суперконвейерными (в этих чипах было два конвейера).

Итак, современные x86-совместимые чипы – это суперскалярные суперконвейерные микропроцессоры, построенные на основе CISC-архитектуры.

ARM-процессоры – 32-битные чипы на базе архитектуры RISC (Reduced Instruction Set Computer), то есть с сокращённым набором команд. В основу этой архитектуры положена идея повышения быстродействия за счёт максимального упрощения инструкций и ограничения их длины.

История ARM-процессоров началась в том же 1978 году, когда была создана британская компания Acorn Computers. Под маркой Acorn выпускались несколько чрезвычайно популярных на местном рынке моделей персональных компьютеров на основе восьмибитных чипов MOS Tech 6502. Этот же ЦП, кстати, стоял в Apple I и II и Commodore PET.

Однако с появлением более совершенной модели 6510, которая в 1982 году стала устанавливаться в Commodore 64, линейка компьютеров Acorn, включая популярнейший образовательный BBC Micro, потеряла актуальность. Это подтолкнуло владельцев Acorn к созданию собственного процессора на базе архитектуры 6502, который позволил бы на равных конкурировать с машинами класса IBM PC.

Первая серийная модель ARM2, разработанная в рамках проекта Acorn RISC Machine, была выпущена в 1986 году и стала самым конструктивно простым и недорогим 32-битным процессором на тот момент: в нём отсутствовала не только кэш-память, что было нормой для чипов того времени, но и микропрограммы: в отличие от CISC-процессоров, микрокод исполнялся как и любой другой машинный код, путём преобразования в простые инструкции. Кристалл ARM2 состоял из 30000 транзисторов, и эта компактность конструкции осталась характерным признаком этого семейства: в ARM6 всего на 5000 транзисторов больше.

В отличие от Intel или AMD, ARM сама не занимается выпуском процессоров, предпочитая продавать лицензии другим. Среди компаний, располагающих такими лицензиями, есть те же Intel и AMD, а также VIA Technologies, IBM, NVIDIA, Nintendo, Texas Instruments, Freescale, Qualcomm и Samsung. Показательный факт: если AMD, вторая компания на рынке x86-процессоров, в 2009 году отметила выпуск своего 500-миллионного ЦП, то в одном только 2009 году на рынок было поставлено почти три миллиарда ARM-процессоров!

Современные ARM-процессоры – это суперскалярные суперконвейерные микросхемы, построенные на основе RISC-архитектуры.

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

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

Тогда что же делить столь разным продуктам? Конечно, нелепо сравнивать четырёхъядерный Core i5 и «телефонный» Qualcomm MSM7201A, стоящий в коммуникаторах HTC Dream и Hero, но есть масштабы, где рынки ARM и i86 перекрываются уже сегодня. Это, с одной стороны, такие новейшие чипы ARM, как Cortex-A8 (архитектура ARMv7-A), а с другой – низковольтные x86-процессоры класса Intel Atom. На основе Cortex-A8 построен модный планшет Apple iPad, а Intel Atom работают в подавляющем большинстве нетбуков.

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

Есть у Atom и несколько принципиальных отличий от Cortex-A8. Прежде всего, практически все микросхемы этого семейства поддерживают технологию параллельных вычислений Hyper-Threading, которая позволяет представить одно физическое ядро как два виртуальных. Это весьма существенное преимущество, заметно повышающее производительность, причём не только в относительно редких до сих пор многопоточных приложениях, но и при выполнении команд с интенсивным использованием систем ввода-вывода. К примеру, Atom с Hyper-Threading заметно быстрее загружает Windows, чем сравнимый с ним по возможностям одноядерный VIA Nano без поддержки такого режима.

Практическое сравнение производительности Atom и Cortex-A8 провёл Вэн Смит, автор тестовых пакетов OpenSourceMark, miniBench и один из соавторов SiSoftware Sandra. Тестировались машины на базе процессоров Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050 и, для сравнения, на основе мобильного Athlon XP-M на ядре Barton. Поскольку за точку отсчёта были приняты характеристики Cortex-A8 с тактовой частотой 800 МГц, рабочие частоты VIA Nano и Athon были снижены до того же значения, а Atom – до 1000 МГц (дальнейшее снижение оказалось невозможным). При этом у Cortex-A8 осталось несколько заведомо слабых мест: поддержка медленной 32-битной памяти DDR2-200 и более чем скромная встроенная графика с максимальным разрешением 1024 на 768 при шестнадцатибитной глубине цвета. Все тесты проводились на системах под управлением операционной системы Ubuntu 9.04 Linux.

Результаты тестирования оказались более чем любопытными: Cortex-A8 продемонстрировал вполне конкурентоспособную производительность в целочисленных вычислениях при значительно более низком энергопотреблении по сравнению с соперниками. Ожидаемо провальными оказались лишь тесты на пропускную способность памяти и на вычисления с плавающей запятой – традиционной «ахиллесовой пятой» ARM-чипов. В течение продолжительного времени в ARM-процессорах вообще отсутствовали модули FPU и хотя в Cortex-A8 есть два таких модуля (Neon 32-бит SP и VFP), их мощности явно недостаточно. Вычисления с плавающей запятой – это и трёхмерные игры, и научное моделирование, и некоторые виды обработки и кодирования видео и звука. Так что если производители процессоров ARM действительно нацелились на нишу нетбуков, неттопов и планшетников, им нужно существенно улучшить производительность FPU. С подробными результатами всех тестов можно ознакомиться здесь (http://www.brightsideofnews.com/news/2010/4/7/the-coming-war-arm-versus-x86.aspx).

Стоит ли нам ожидать схватки между столь разными и столь похожими семействами процессоров ARM и x86? Пока по производительности в массовых развлекательных приложениях «армы» существенно уступают даже «атомам». Однако перспективы внушают оптимизм: новейшая архитектура Cortex-A9 рассчитана на создание процессоров с одним-четырьмя ядрами и, как утверждают в ARM Limited, в них значительно улучшена производительность вычислений с плавающей запятой. Первые чипы на базе Cortex-A9 – NVIDIA Tegra 2 – это двухъядерные микросхемы с графическим ядром, поддерживающим видео формата Full HD 1080p и трёхмерную графику с программным интерфейсом OpenGL ES 2.0. Планшет или нетбук с такими характеристиками запросто поспорит с любым устройством на основе Atom. Добавим сюда исключительную экономичность, а значит, и длительное время автономной работы. Так что Apple iPad вполне может стать символом начала борьбы чипов ARM с x86-процессорами на их же собственном поле.