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

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

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

Итак, современные х 8 6 -совместимые чипы - это суперскалярные суперконвейерные микропроцессоры, построенные на основе 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, включая популярнейший образовательный ВВС 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, вторая компания на рынке х86-процессоров, в 2009 году отметила выпуск своего 500-миллионного ЦП, то в одном только 2009 году на рынок было поставлено почти три миллиарда ARM-процессоров!

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

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

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

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

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

Есть у 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 ХР-М на ядре Barton. Поскольку за точку отсчета были приняты характеристики Cortex-A8 с тактовой частотой 800 МГц, рабочие частоты VIA Nano и Athon были снижены до того же значения, a Atom - до 1000 МГц (дальнейшее снижение оказалось невозможным). При этом у Cortex-A8 осталось несколько заведомо слабых мест: поддержка медленной 32-битной памяти DDR2-200 и более чем скромная встроенная графика с максимальным разрешением 1024 на 768 при шестнадцатибитной глубине цвета. Все тесты проводились на системах под управлением операционной системы Ubuntu 9.04 Linux.

Результаты тестирования оказались более чем любопытными: Cortex-A8 продемонстрировал вполне конкурентоспособную производительность в целочисленных вычислениях при значительно более низком энергопотреблении по сравнению с соперниками. Ожидаемо провальными оказались лишь тесты на пропускную способность памяти и на вычисления с плавающей запятой -традиционной «ахиллесовой пятой» ARM-чипов. В течение продолжительного времени BARM-процессо pax вообще отсутствовали модули 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 и х86? Пока по производительности в массовых развлекательных приложениях «армы» существенно уступают даже «атомам». Однако перспективы внушают оптимизм: новейшая архитектура Cortex-A9 рассчитана на создание процессоров с одним-четырьмя ядрами и, как утверждают в ARM Limited, в них значительно улучшена производительность вычислений с плавающей запятой. Первые чипы на базе Cortex-A9 - NVIDIA Tegra 2 - это двухъядерные микросхемы с графическим ядром, поддерживающим видео формата FullHD 1080р и трехмерную графику с программным интерфейсом OpenGL ES 2.0. Планшет или нетбук с такими характеристиками запросто поспорит с любым устройством на основе Atom. Добавим сюда исключительную экономичность, а значит, и длительное время автономной работы. Так что Apple iPad вполне может стать символом начала борьбы чипов ARM с х86-процессорами на их же собственном поле.