Как малоизвестный британский производитель ПК изобрел ARM и изменил мир
Давайте будем честными: 2020 год — отстой. Так много в этом году было много плохих новостей и печальных событий, что очень трудно за этим всем угнаться. Тем не менее, большинство из нас постоянно следит за происходящим благодаря небольшим карманным компьютерам, которые мы всегда носим с собой. В Америке мы до сих пор называем их по-старому «телефонами».
Телефоны и большая часть нашего цифрового окружения работают на семействе процессоров ARM. И новые компьютеры Apple с новым процессором M1 (на базе ARM) получают фантастические отзывы. Поэтому самое время вспомнить о странных корнях этих микросхем, распространившихся по всему миру.
Если бы вы писали сценарий для фильма и по какой-то непонятной причине вам нужно было выбрать, какой процессор чаще всего используется в большинстве телефонов, игровых консолей, банкоматов и других устройств, вы, вероятно, выбрали бы одного из крупных производителей наподобие Intel. Такое положение вещей имело бы смысл и соответствовало бы реальности, какой понимают её люди, ведь доминирование на рынке пары представителей отрасли не вызывает ни у кого удивления.
Но что если бы вместо этого вы решили выбрать процессоры малоизвестной компании из страны, которая не приходит на ум в качестве мирового лидера в области высокотехнологичных инноваций (по крайней мере не в 1800-х годах)? А что, если бы этот процессор был обязан своим рождением, по крайней мере косвенно, образовательному телешоу? Скорее всего, продюсеры посоветуют вам немного отмотать сценарий — «Давай же, отнесись к этому серьезно». И все же на самом деле все было именно так.
Вначале было телевидение
Процессор ARM, кусок кремния, который используется в более чем 130 миллиардах устройств по всему миру, и без которого современный мир фактически остановится, имеет действительно странную историю происхождения. На его пути были неудачи, которые в конечном итоге открыли ключевые возможности и неожиданные технические преимущества, оказавшиеся решающими.
Все началось с телешоу 1982 года на BBC под названием The Computer Programme («Компьютерная программа»). Это была попытка BBC рассказать британцам о новых необыкновенных машинах, похожих на пишущие машинки, подключенные к телевизору.
Шоу было частью более крупного проекта компьютерной грамотности, запущенного британским правительством и BBC в ответ на опасения о том, что Великобритания была не готова к революции в области персональных компьютеров, которая происходила в Америке. В отличие от большинства телешоу, в этом сериале BBC хотела использовать компьютер для объяснения фундаментальных вычислительных концепций и базового обучения программированию на языке BASIC. Концепции включали графику и звук, возможность подключения к службам телетекста, синтез речи и даже простейший ИИ. Поэтому компьютер, необходимый для шоу, должен был быть довольно производительным. Требования продюсеров изначально были настолько высоки, что на рынке не было ничего, что бы удовлетворяло потребности BBC.
Итак, BBC обратилась с призывом к молодой компьютерной индустрии Великобритании, в которой тогда доминировала компания Sinclair, которая сделала свое состояние на калькуляторах и крошечных телевизорах. Но в конечном итоге прибыльный контракт получила более маленькая и молодая компания — Acorn Computers.
Расцвет Acorn
Acorn, компания родом из Кембриджа, начала свою деятельность в 1979 году с разработки компьютерных систем, изначально предназначенных для игровых автоматов, которые затем превратила в небольшие любительские компьютерные системы на базе процессоров 6502. Эти процессоры также использовались в компьютерах Apple II, Atari 2600 и Commodore 64. Архитектура этого процессора окажет важное влияние на будущее, поэтому не забудьте про него.
Acorn разработала домашний компьютер под названием Atom, и при появлении проекта от BBC, начала работу над преемником Atom в виде BBC Micro.
Список требований BBC гарантировал, что получившаяся машина будет достаточно мощной для той эпохи, хотя и не такой мощной, как оригинальная разработка Acorn — преемник Atom. Преемник Atom должен был иметь два процессора: проверенный временем 6502 и еще не выбранный 16-разрядный процессор.
Позже Acorn отказался от этого процессора, но сохранил интерфейсную систему, называемую Tube, которая позволяла подключать дополнительные процессоры к машине. (Это тоже важно)
Разработка BBC Micro действительно раздвинула пределы возможностей Acorn, поскольку это была довольно современная машина для того времени. В результате были приняты некоторые сырые, но работоспособные инженерные решения, как, например, необходимость повторить касание пальцем платы с помощью блока резисторов, чтобы заставить машину работать.
Никто так и не понял, почему машина работает только тогда, когда инженер прикасался пальцем к определенной точке на материнской плате, но как только с помощью резисторов сделали имитацию прикосновения пальца, то все заработало и они двинулись дальше.
Послушайте, что рассказывает один из ключевых инженеров:
BBC Micro оказался большим успехом для Acorn, став основным компьютером для образовательных целей в Великобритании в 1980-х годах. Каждый читатель этой статьи наверняка знает, что 80-е годы были очень важным временем в истории компьютеров. В 1981 был выпущен персональный компьютер от IBM, который задал стандарт для ПК на десятилетия вперед. ПК Apple Lisa в 1983 году предвосхитила Mac и революционный графический пользовательский интерфейс «окна-значки-мышь», который будет доминировать в будущем.
Все это происходило на глазах Acorn и они понимали, что для конкуренции необходимо что-то более мощное, чем стареющий, но надежный 6502. В Acorn экспериментировали с множеством 16-битных процессоров: 65816, 16-битным вариантом 6502, Motorola 68000, используемом в Apple Macintosh, и сравнительно редким National Semiconductor 32016.
Однако ни один из них не подходил, и тогда Acorn обратилась к Intel с вопросом об использовании процессоров Intel 80286 в своей новой архитектуре. Но Intel их проигнорировала.
RISCованный бизнес
Спойлер: это окажется очень плохим решением для Intel.
Затем компания Acorn приняла судьбоносное решение разработать собственный процессор. Вдохновленная бережливым производством Western Design Center (компания, которая разрабатывала новые версии 6502) и исследованиями в области RISC-процессоров (англ. Restricted (reduced) Instruction Set Computer, сокращ. RISC, компьютер с сокращённым набором команд), Acorn решила двигаться вперед. Ключевыми участниками проекта были инженеры Стив Фербер (Steve Furber) и Софи Уилсон (Sophie Wilson).
Процессоры RISC называются так, как они называются, по сравнению с процессорами CISC (англ. complex instruction set computing или complex instruction set computer, сокращ., компьютер с полным набором команд). Попытаюсь дать очень упрощенное объяснение того, что это на самом деле означает.
Процессоры могут выполнять некоторый набор команд. У процессоров CISC большое количество комплексных команд, позволяющих им выполнять сложные задачи в течение нескольких тактов процессора. Это означает, что сложность фактически заложена в аппаратной архитектуре самого чипа, что в свою очередь значит, что программный код может быть менее сложным. Таким образом, код для машин с процессором CISC содержит меньше команд, но количество циклов, необходимых процессору для их выполнения больше.
У RISC, как вы, наверное, уже догадались, наоборот — меньше команд, он проще сам по себе, и каждая инструкция может быть выполнена за один такт. В результате код оказывается больше и кажется менее эффективным, но сам чип становится проще и может выполнять простые инструкции быстрее.
Компания Acorn правильно подошла к разработке процессора RISC, поскольку чип 6502, с которым они были хорошо знакомы, часто называют своего рода прототипом дизайна RISC. Интернет полон всевозможных мнений по этому поводу, и я не собираюсь порождать болезненный и утомительный спор, но хотя бы в благодарность этой статье просто поверьте, что 6502 обладает по крайней мере некоторыми чертами, очень похожими на RISC.
Новый чип Acorn был настолько похож на RISC, что Софи Уилсон (Sophie Wilson), разрабатывая набор инструкций для нового процессора Acorn, кажется, явно вдохновлялась рядом концепций архитектуры 6502.
Используя BBC Micro Tube для экспериментов Acorn разработала новый RISC-процессор под названием Acorn RISC Machine, или ARM. Компания VLSI, поставщик микросхем для Acorn, начала производить процессоры ARM сначала для внутреннего R&D Acorn. Вскоре была готова и серийная версия ARM2.
В 1987 году был представлен первый серийный ПК на базе RISC — Acorn Archimedes, работающий на процессоре ARM2. ARM показал лучшую производительность, чем Intel 286, несмотря на то, что в нем на 245 000 меньше транзисторов, чем у большого чипа Intel.
Archimedes с его ОС Arthur в ПЗУ (постоянное запоминающее устройство) оказался гибкой, быстрой и мощной машиной. У него была хорошая графика для того времени, графический пользовательский интерфейс, а также несколько крутых и быстрых низкополигональных демонстраций и игр, которые демонстрировали производительность машины — спасибо ее «худому и голодному» процессору.
В то время эта первая машина на базе ARM претендовала на звание самого быстрого персонального компьютера той эпохи с рейтингом производительности в несколько раз выше, чем у Intel 80286.
Меньше значит больше
Уменьшение количества транзисторов в ARM свидетельствовало об относительной простоте самого ARM, и в результате чип потреблял гораздо меньше энергии и выделял меньше тепла по сравнению с конкурентами.
Низкое энергопотребление и тепловыделение ARM не входило в состав первоначального задания на проектирование, поскольку Acorn проектировал процессор для настольного компьютера, но это стало, вероятно, самым удачным и полезным незапланированным побочным эффектом в истории вычислительной техники.
Низкое энергопотребление и низкое тепловыделение сделали ARM естественным выбором для мобильных устройств. Поэтому в конце 1980-х Apple при выборе процессора, который справился бы с распознаванием рукописного текста и графическим интерфейсом с питанием от батареек типа АА, выбрала ARM. Карманное устройство, о котором идет речь — печально известный Newton.
Apple и VLSI заключили партнерство с Acorn для выделения подразделения ARM в отдельную компанию под названием Advanced RISC Machines, что позволило сохранить название ARM. В рамках этого альянса, при значительном участии Apple, ARM разработает ядро ARM6. При этом процессор ARM610 станет первым промышленным чипом, основанным на этом ядре, а в 1993 году версия с частотой 20 МГц будет использоваться для Apple Newton.
Хотя, конечно, Newton был впечатляющим провалом, в ретроспективе он стал чем-то гораздо большим: портативным устройством с сенсорным экраном на батарейках и процессором ARM. Сегодня то же самое описание можно использовать, чтобы описать миллиарды смартфонов, которые постоянно используются по всему миру. В полевых условиях ARM впервые был испытан с устройством, которое большинство людей помнит по эпизоду «Симпсонов», в котором рукописная фраза «Ударь Мартина» («Beat up Martin») была распознана как «Съешь Марту» («Eat up Martha»)
ARM610 будет использоваться в новом поколении компьютеров Acorn Archimedes и странного ноутбука на базе Newton под названием eMate. В 2001 году 7-ядерный процессор ARM будет работать в iPod от Apple и игровой консоли Game Boy Advance от Nintendo. В 2004 году пара ARM будет управлять двумя экранами Nintendo DS.
Затем, в 2007 году, Apple выпустит первый iPhone с процессором серии ARM11. С этого момента все помешаются на ARM.
Процессоры ARM стали выбором по умолчанию для смартфонов, будь то Apple или какие-либо другие. Процессоры ARM присутствуют в каждой «умной» машине, помимо настольных компьютеров, ноутбуков или серверов на базе Intel. Теперь, похоже, что с Chromebook и новыми настольными компьютерами и ноутбуками Apple, ARM, наконец, вернется туда, откуда все начиналось — к настольному компьютеру.
Так много лет спустя история происхождения ARM остается достойной рассказа, потому что она настолько невероятна. Несмотря на абсолютное доминирование ARM в мире его скромное появление на свет делает его менее бесчувственным гигантом индустрии, чем, скажем, почти «биополия» (от «монополия») Intel / AMD.
Резюмируя: поскольку британцы чувствовали свое отставание от компьютерной революции, они решили снимать телешоу о компьютерах. Для этого им был нужен компьютер, и одна, не самая прорывная компания, создала его. А когда этой маленькой компании потребовалось создать более производительный процессор, потому что Intel не потрудилась ответить на их звонки, они сделали свой собственный. Просто так случилось, что этот процессор не потребляет много энергии и не выделяет много тепла, что и привлекло внимание Apple, которая стала его использовать. После чего эта компания, конечно же, захватила мир.
Если бы я это выдумал, то вы бы сказали, что я придумал слишком причудливую историю или что насмотрелся фильмов Уэса Андерсона (Wes Anderson). Но в реальности все так и было.
Однако… если реальность на самом деле является симуляцией, могу поспорить, что она тоже работает на ARM.
Реклама которая может быть полезна
Прямо сейчас в OTUS действуют максимальные новогодние скидки на все курсы. Ознакомиться с полным списком курсов вы можете по ссылке ниже. Также у всех желающих есть уникальная возможность отправить адресату подарочный сертификат на обучение в OTUS.
История ARM. Часть 1 — От возникновения до акционерной компании
Шел 1979 год. Atari представила свою версию игрового автомата Asteroids. На свет появился язык программирования ADA. Основались такие компании, как 3COM, Oracle, и Seagate. TI вышла на компьютерный рынок. Hayes начала продажи своих первых модемов, которые впоследствии стали промышленным стандартом. Были представлены процессоры Motorola 68K и Intel 8088. И в это же время Герман Хаузер (Hermann Hauser) и Крис Керри (Chris Curry) с группой студентов и исследователей из различных лабораторий Кембриджского университета основали Acorn Computers, чтобы начать разработку персональных компьютеров в Кембридже.
![]() |
Основатели Acorn Герман Хаузер и Крис Керри в конце 1970-х годов |
Первым продуктом Acorn стал британский домашний компьютер Atom с быстрым по тем временам процессором 1 МГц и 12 килобайтами ПЗУ и ОЗУ. После этого, в целях расширения производства и сбыта домашних компьютеров, а также, для повышения компьютерной грамотности британцев компания начала работу с Британской телерадиовещательной корпорацией (BBC). Получившийся продукт, BBC micro, достиг поразительного успеха после выхода в свет в 1982 году.
![]() |
Персональный компьютер Atom – первый продукт компании Acorn |
![]() |
Компьютер BBC micro |
Однако остальные игроки на компьютерном рынке тоже не сидели сложа руки. Например, компания Apple представила компьютер Lisa, который сочетал в себе первую для ПК коммерческую оконную среду и 16-разрядный процессор. Это дало понять людям из Acorn, что все увеличивающаяся производительность будет необходима за пределами сферы 8-разрядных вычислительных машин. И в качестве непосредственного результата в Acorn был организован отдел Перспективных исследований и разработок, чтобы попытаться реализовать специальный проект процессора с сокращенным набором команд (RISC). На тот момент эта идея была довольно-таки революционной.
Рождение ARM процессоров
Результатом этой научно-исследовательской работы стал первый ARM процессор (от сокращения фразы Acorn RISC Machine, которая потом сменилась на Advanced RISC Machine). Первые экземпляры процессора, изготовленного компанией VLSI Technology на основе кремния по 3-мкм технологии, Acorn представила в 1985 году. Результат превзошел первоначально поставленные цели разработки, так как в процессоре использовалось менее 25000 транзисторов.
ARM1 вскоре сменился моделью ARM2, первой версией ARM процессора, запущенной в массовое производство, и, возможно, самым простым RISC процессором в мире, состоящем всего лишь из 30000 транзисторов. По сравнению с ARM1 он имел улучшенный набор инструкций, повышающий производительность окружающих его систем. Процессор имел 32-разрядную шину данных, 26-разрядную шину адреса, 16 регистров, а также внешний кэш. Среди прочего, были добавлены инструкции умножения и умножения с накоплением, облегчающие цифровую обработку сигналов, необходимую для генерации звуков – важной функции для домашних компьютеров и компьютеров, используемых в сфере образования. Несмотря на все эти дополнения, кристалл ARM2 все равно отличался малыми размерами и небольшим количеством транзисторов. Новый процессор, как и ARM1, также производился компанией VLSI Technology, получившей права на его продажу.
![]() |
Кристалл процессора ARM2 |
Первым продуктом на базе ARM2 была ARM система разработки, включающая в себя сам ARM процессор и три дополнительные микросхемы, 4 Мб ОЗУ и набор средств разработки с расширенной версией BBC BASIC.
Вторым изделием, в котором использовался ARM процессор, был мультимедийный ПК компании Acorn под названием Archimedes, выпущенный в 1987 году. Компьютер состоял из 8-мегагерцовой версии процессора ARM2, трех микросхем поддержки (MEMC, VIDC и IOC), контроллера ввода/вывода и простой операционной системы. После выхода на рынок Archimedes получил довольно прохладные отзывы, поскольку тогда большинство персональных компьютеров придерживалось стандарта IBM PC, в то время как Acorn представила компьютер с новым процессором, новой операционной системой и без какого-либо программного обеспечения, необходимого пользователям. Потребовалось два-три года, чтобы разработать достаточное количество приложений для ARM процессора и ПК Archimedes. После этого компания Acorn улучшила и развила свои модели компьютеров, чтобы утвердиться в качестве лидера на британском рынке компьютеров для дома и образования.
![]() |
Персональный компьютер Acorn Archimedes |
После выхода Archimedes Acorn продолжала поддерживать свою команду исследователей и разработчиков в создании улучшенных версий ARM процессоров. Для обеспечения такого уровня производительности, который отвечал бы требованиям самых современных персональных компьютеров, были добавлены 4 Кб встроенного кэша данных и команд, а тактовая частота увеличена до 25 МГц. Так появился ARM3. В 1990 он стал использоваться в настольных компьютерах компании Acorn.
Acorn падает с дерева: яблоко и Ньютон
Тем временем, Герман Хаузер начал новый бизнес, основав компанию Active Book Company, сфокусировавшую свою деятельность на формирующемся рынке персональных электронных помощников (PDA). А команда разработчиков ARM переделала продукт, сделав процессор полностью статическим, что позволяло останавливать тактирование для снижения потребляемой мощности – непременное условие для подобных приложений.
Между тем, компания Apple также выходила на рынок PDA, и уже разработала первый Newton, основанный на процессоре AT&T с низким энергопотреблением, названным Hobbit. Джон Стоктон (John Stockton), научный сотрудник VLSI Technology, убедил проектную группу и Ларри Теслера (Larry Tesler), который возглавлял команду в Apple, в необходимости использования ARM. Оба пришли к согласию в том, что компания Apple желала бы использовать в своей продукции процессоры ARM, но по причинам конкуренции в этом плане хочет сотрудничать с какой-либо другой компанией, а не с Acorn. Только через шесть недель, в 1990 году, удалось договориться о создании совместного предприятия между Apple, VLSI Technology и Acorn.
Причудливым завихрением в этой истории со сделкой было то, что Герман заключил ее с AT&T через Active Book Company, и все это стало называться EO Ltd. Конструкция EO перешла с процессоров ARM на процессоры Hobbit, а Newton фирмы Apple стал, в свою очередь, использовать ARM вместо Hobbit!
Двенадцать инженеров и паб
В свое время Герман Хаузер также создал компанию Cambridge Processor Unit (CPU). Робин Сэксби (Robin Saxby) из Motorola поставлял чипы Герману для CPU, и у них уже тогда наладились хорошие отношения. После собеседования Робин был приглашен на должность генерального директора, но прежде чем согласиться, он попросил организовать ему встречу с «командой двенадцати». Робин вспоминает: «Следовало принять ключевое решение: смогу ли я расширить команду, или же не создавать дополнительных затрат, нанимая кого-нибудь со стороны. После этой встречи я выбрал последнее». Члены команды вспоминают, что Робин хотел встретиться с ними на нейтральной территории, поэтому они выбрали паб неподалеку. Все пришли вовремя, но Робин пришел за 10 минут до назначенного времени. Робин был известен команде как «наемный убийца», который привел в порядок бизнес ES2, поэтому его приветствие «Вы опоздали на четыре минуты, еще одна минута – и я бы ушел» оставило незабываемое впечатление.
![]() |
Сэр Робин Сэксби |
Новый ARM на перепутье
В своей новой роли генерального директора, 27 ноября 1990 Робин официально создал компанию Advanced RISC Machines Ltd. (ARM). По заявлению Робина, целью новой компании было «повернуться к растущему рынку и атаковать его высокопроизводительными, малопотребляющими и дешевыми 32-разрядными микросхемами с RISC-архитектурой».
На тот момент Робину пришлось решать множество стратегических дилемм. Так, один из вариантов развития состоял в том, чтобы слить бизнес с полупроводниковой компанией, а затем выделить и возглавить новое подразделение с крупной финансовой поддержкой. Другой путь заключался в создании полупроводниковой компании, которая разрабатывала бы и поставляла на рынок микросхемы, в то время как их производство выполнялось бы на субподрядной основе. Возможно, ARM могла бы стала бы партнером Apple, чтобы стимулировать разработку всей новой продукции. Однако принятое в конечном итоге решение заключалось в разработке основных технологий с последующим их лицензированием в качестве интеллектуальной собственности (IP). Оригинальной мыслью для ARM, в данном случае, было создание «партнерской модели», посредством которой могли бы быть созданы глобальные стандарты. В последствии это развилось в модель лицензирования IP, используемую сегодня.
По мере развития полупроводниковой отрасли с 1960-х, игроки на этом поле становились все менее интегрированы по вертикали. Впервые это проявило себя, когда компании стали продавать собственные подразделения по изготовлению оборудования для полупроводникового производства. Fairchild, Motorola и Texas Instruments – все прошли этот путь. В 1980-х в Кремниевой долине зародился новый вид бизнеса – фаблесс-компании, т.е., компании без собственного производства. Они заключали субподрядные договоры на производство своей продукции в Японии и на Тайване. В 1990-х появилась новая модель маленьких инновационных компаний, создающих продукцию интеллектуальной собственности, которая превращалась в реальные изделия с помощью уже других компаний, занимающихся также ее продажей и представлением на рынке. И ARM была первооткрывателем этой модели.
Первый год ARM
ARM приступила к работе, невзирая на скептицизм, исходящий от отрасли полупроводниковых приборов. Один из близких друзей Робина настаивал на том, что такая модель совместного предприятия никогда не заработает, потому что все партнеры (которые также были первыми клиентами ARM) имели определенные капиталовложения – Acorn предоставляла персонал, Apple обеспечивала финансовую поддержку, а VLSI Technology – технологии средств разработки. В первый год ARM столкнулась с серьезной проблемой, исчерпав практически все финансовые ресурсы. Как утверждал Робин, «В первые дни мы были очень экономны и скупы, считая мили, потраченные на перелеты. Начальная фаза была очень тяжела, и получение кредитной линии также было тяжелым испытанием. В конечном счете, благодаря старым контактам с одним банковским служащим, я все же получил кредит». В качестве одной из мер экономии, маленькая команда ARM располагает свои офисы в переделанном амбаре в местечке Swaffham Bulbeck близ Кембриджа.
![]() |
Первый офис ARM вблизи Кембриджа |
А где же ARM4 и ARM5?
Они никогда не производились, но ARM зарезервировала место для ARM4 и ARM5 в своей линейке на случай, если бы компания пошла по пути создания упрощенной продукции. Так как данная разработка переходила от Acorn к ARM Ltd., числовое обозначение процессоров было изменено. И, в итоге, номера 4 и 5 оказались пропущены.
Первая микросхема ARM
Хотя процессор ARM создавался как заказное устройство для совершенно конкретной цели, разрабатывающая его команда чувствовала, что самый правильный путь – это путь производства процессоров с характеристиками, удовлетворяющими как можно более широкому кругу приложений. Однако надо отметить, что судьба архитектуры ARM сложилась случайно. В то время как большинство производителей процессоров с RISC архитектурой занималось конструированием сравнительно больших микросхем (SPARC RISC, Intel i860, AMD 29000 и т. д.), ARM предпочла создавать процессоры с малой степенью интеграции. Одной из причин такого решения, было то, что имеющихся у компании на тот момент средств разработки было недостаточно для создания больших и сложных устройств. Сейчас это является несомненным преимуществом ARM-процессоров, но начиналось все с того, что команде талантливых, но неопытных инженеров (большинство членов команды было программистами и разработчиками схем на уровне печатных плат) потребовалось создать процессор, используя новые для нее инструменты разработки, многие из которых, к тому же, давно устарели.
Несмотря на стесненные условия работы, мотивация и азарт у маленькой команды были высоки. Как и для большинства стартаповых компаний, главной целью ARM было выпустить свою первую готовую продукцию. В данном случае, таковой стал процессор ARM610, специально разработанный для Apple. Это устройство поддерживало полную 32-разрядную адресацию и обратный порядок байтов – одно из многочисленных требований компании Apple, необходимых для использования процессора ARM в ее будущих разработках. Были также разработаны улучшенный видеоконтроллер VIDC20 и сопроцессор с плавающей точкой. Целью Apple было использование их продукта в процессоре персонального карманного органайзера. От процессора, ставшего известным под названием ARM600, впоследствии произошел 20-мегагерцовый ARM610, использовавшийся в компьютерах Newton. Одновременно, команда разработчиков программного обеспечения из ARM создала межплатформенный кросс-инструментарий разработки, позволявший проектировщикам при работе на разных платформах применять средства разработки ARM, ассемблер, компиляторы, отладчики и эмуляторы.
![]() |
Процессор ARM610 |
Производились также аппаратные оценочные комплекты, с помощью которых разработчики могли экспериментировать с ARM6 и начинать разработку операционной системы и программ поддержки для своих приложений, не дожидаясь появления законченной системы. ARM разработала также оценочную кросс-платформу PIE (Platform Independent Evaluation), позволявшую конструктору проверять свои идеи, вставив кросс-плату ARM процессора в хост-компьютер и запустив инструментарий кросс-разработки.
Первая настоящая сделка
В конце 1991 года ARM впервые получила возможность показать себя в телевизионной рекламе, когда продала лицензию на свою продукцию британской компании GEC-Plessey Semiconductor.
Между тем, Sharp лицензировала компьютер Newton фирмы Apple, что повысило интерес к процессорам ARM. ARM начала переговоры с представителями Sharp в Соединенном Королевстве, Японии и Америке, но окончательный договор был подписан в отеле неподалеку от британского городка Мэйденхэд. Стороны не могли прийти к соглашению на протяжении целого вечера. В конце концов, вошел служащий отеля, чтобы сказать, что конференц-зал забронирован для свадебной церемонии, и все должны покинуть помещение. Тогда Робин позвонил жене и сообщил, что они отправляются домой. Чтобы не давить на его семью, вся делегация Sharp и команда ARM, вместе с семьей Робина, пошли на обед, заключили соглашение, и затем принялись обсуждать американский футбол.
Момент решающего прорыва для ARM настал в 1993 году с началом сотрудничества с Texas Instruments (TI). Это был прорыв, который повысил уровень доверия к ARM и доказал жизнеспособность новой бизнес-модели лицензирования. Соглашение подтолкнуло ARM к формализации этой модели, а также к созданию более рентабельных продуктов.
Вслед за TI, за лицензией к ARM обратилась компания Samsung, и всего лишь после четырех встреч соглашение было достигнуто. Деловые связи внутри отрасли оказали существенное влияние на повышение уровня восторженной поддержки продукции ARM и принесли компании новые соглашения о лицензировании. Эти сделки также открыли дополнительные возможности для развития RISC-архитектуры. Относительно небольшая, но динамичная культура ARM дала этому направлению преимущество в сроках разработки продукции, что является существенным фактором в такой быстро развивающейся сфере производства. Подтверждением этому явилась лицензия Digital Equipment Corporation (DEC), ставшая той движущей силой, которая привела ARM к созданию версии ARM10 названной StrongARM.
![]() |
Процессор StrongARM |
Время выхода в большое плавание
К концу 1997 года капитал компании вырос до 26.6 миллионов фунтов стерлингов, £2.9 миллиона из которых были чистой прибылью, и пришло время выходить в большое плавание. Хотя компания готовилась к расширению на протяжении трех лет, Робин на счет этого советовал всем: «Подождите, пока вы не поймете, что уже готовы, и затем подождите еще шесть месяцев».
17 апреля 1998 года ARM Holdings plc была внесена в объединенный список Лондонской Биржи и рынка NASDAQ. Для такого шага были две причины. Во-первых, как полагала ARM, NASDAQ был тем рынком, выход на который позволит компании получить ту оценку, которую она заслужила. Во-вторых, два основных акционера ARM были американцами и англичанами, и компания хотела позволить продолжать сотрудничество существующим акционерам Acorn в Великобритании.
![]() |
Уоррен Ист |
Другая проблема для ARM заключалась в продвижении их бренда, так как новые условия требовали привлечения внимания со стороны новой аудитории, включая обычного потребителя. Как говорил Уоррен Ист (Warren East), занявший в феврале 1998 г. пост исполнительного директора ARM, «Наша архитектура лежит в основе широкого спектра потребительской электроники, и нам необходимо учитывать влияние и важность формирования осведомленности о нашей продукции в среде потребителей. Такая осведомленность поможет как ARM, так и нашим партнерам. Но мы не будем решать эту задачу в одиночку. Наш успех основан на стратегических отношениях с нашими партнерами, и мы продолжим разрабатывать наши стратегические планы, включая планы по продвижению бренда, в тесном сотрудничестве с ними».
ARM (архитектура)
Архитектура ARM (Advanced RISC Machine, Acorn RISC Machine, усовершенствованная RISC-машина) — семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited. Компания занимается исключительно разработкой ядер и инструментов для них (компиляторы, средства отладки и т. п.), зарабатывая на лицензировании архитектуры сторонним производителям.
В 2007 году около 98 % из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены по крайней мере одним процессором ARM. [1] По состоянию на 2009 на процессоры ARM приходилось до 90 % всех встроенных 32-разрядных процессоров. [2] Процессоры ARM широко используются в потребительской электронике — в том числе КПК, мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях, калькуляторах и компьютерных периферийных устройствах, таких как жесткие диски или маршрутизаторы.
Эти процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и доминируют на рынке мобильных устройств, для которых немаловажен данный фактор.
Значимые семейства процессоров: ARM7, ARM9, ARM11 и Cortex. Многие лицензиаты делают собственные версии ядер на базе ARM: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, Apple A4/A5/A6 и HiSilicon K3.
Содержание
История
После достижения некоторых успехов с компьютером BBC Micro британская компания Acorn Computers задумалась над переходом от относительно слабых процессоров MOS Technology 6502 к более производительным решениям и выходом на рынок бизнес-компьютеров с той же платформой BBC Micro. Такие процессоры как Motorola 68000 и 32016 от National Semiconductor были для этого непригодны [источник не указан 502 дня] , а 6502 был недостаточно мощным, чтобы поддерживать графический пользовательский интерфейс.
Компании была нужна совершенно новая архитектура после того, как она протестировала все доступные ей процессоры и сочла их неэффективными. Acorn серьёзно настроился на разработку собственного процессора, и их инженеры начали изучать документацию проекта RISC, разработанного в Университете Калифорнии в Беркли. Они подумали, что раз уж группе студентов удалось создать вполне конкурентоспособный процессор, то их инженерам это будет не сложно. Поездка в Western Design Center в Фениксе показала инженерам Стиву Ферберу и Софи Уилсон, что им не потребуются невероятные ресурсы для осуществления этого плана.
Уилсон приступила к разработке системы команд, создавая симулятор нового процессора на компьютере BBC Micro. Это убедило инженеров Acorn, что они на верном пути. Но все же перед тем, как идти дальше, им требовалось больше ресурсов. Настало время для Уилсон подойти к директору Acorn Герману Хаузеру и объяснить, в чем же дело. После того как он дал добро, собралась небольшая команда для реализации модели Уилсон на аппаратном уровне.
Acorn RISC Machine: ARM2
Официальный проект Acorn RISC Machine был начат в октябре 1983 года. VLSI Technology (англ.) была выбрана в качестве поставщика кремниевых компонентов, так как она уже снабжала Acorn микросхемами ПЗУ и некоторыми нестандартными интегральными схемами. Разработку возглавили Уилсон и Фербер. Их основной целью было достижение низкой латентности обработки прерывания, как у MOS Technology 6502. Архитектура доступа к памяти, взятая от 6502, позволила разработчикам достичь хорошей производительности без использования дорогостоящего в реализации модуля DMA. Первый процессор был произведен VLSI 26 апреля 1985 года — тогда он впервые заработал и был назван ARM1. Первые серийные процессоры под названием ARM2 стали доступны в следующем году.
Его первое применение было в качестве второго процессора в BBC Micro, где он был использован при разработке программного обеспечения для моделирования, что позволило завершить работу над вспомогательными микросхемами компьютера, а также ускорить работу программного обеспечения CAD, используемого при разработке ARM2. Уилсон оптимизировала набор инструкций ARM для исполнения BBC BASIC. Изначальная цель компьютера, полностью построенного на базе ARM, была достигнута в 1987 году с выходом Acorn Archimedes.
Атмосфера вокруг проекта ARM была настолько секретна, что когда компания Olivetti вела переговоры о покупке контрольного пакета акций Acorn в 1985 году, они не стали рассказывать о развитии проекта до конца переговоров. В 1992 году Acorn еще раз выиграл премию королевы за ARM.
В ARM2 была 32-разрядная шина данных, 26-битное адресное пространство и 16 32-разрядных регистров. Программный код должен был лежать в первых 64 мегабайтах памяти, а программный счётчик был ограничен 26 битами, так как верхние 4 и нижние 2 бита 32-битного регистра служили флагами. ARM2 стал, возможно, самым простым из популярных 32-битных процессоров в мире, имея всего лишь 30000 транзисторов (для сравнения, в сделанном на 6 лет раньше процессоре Motorola 68000 было около 70000 транзисторов). Многое из этой простоты обусловлено отсутствием микрокода (который в процессоре 68000 занимает от одной четверти до одной трети площади кристалла), и отсутствием кэша, как и в многих процессорах того времени. Эта простота привела к низким затратам энергии, в то время как ARM был гораздо более производителен, чем Intel 80286 [источник не указан 502 дня] . У его преемника — процессора ARM3 — уже был кэш 4 кб, что еще больше увеличило производительность.
Apple, DEC, Intel: ARM6, StrongARM, XScale
В конце 1980-х годов Apple Computer и VLSI Technology начали работать с Acorn Computers над новыми версиями ядра ARM. Работа была настолько важна, что Acorn преобразовала команду разработчиков в 1990 году в новую компанию под названием Advanced RISC Machines. По этой причине ARM иногда расшифровывают как Advanced RISC Machines вместо Acorn RISC Machine. Advanced RISC Machines стала ARM, когда ее родительская компания ARM Holdings вышла на Лондонскую фондовую биржу и NASDAQ в 1998 году.
Новая работа Apple-ARM в конечном итоге превратилась в ARM6, впервые выпущенный в 1992 году. Apple использовала основанный на базе ARM6 процессор ARM610 в качестве основы для своего продукта Apple Newton PDA. В 1994 году Acorn стала использовать ARM610 как главный процессор в своих компьютерах RISC PC. Компания DEC также купила лицензию на архитектуру ARM6 (чем вызвала небольшую путаницу, поскольку они так же производили процессоры Alpha) и начала производить StrongARM. На 233МГц этот процессор требовал всего 1 Вт мощности (более поздние версии требовали гораздо меньше). Позднее Intel получил права на эту работу в результате судебного процесса. Intel воспользовалась возможностью дополнить их устаревшую линейку I960 процессором StrongARM. Intel позднее разработал свою версию ядра под торговой маркой XScale, которую они впоследствии продали компании Marvell.
Рост патентования
Ядро ARM сохранило все тот же размер после всех этих изменений. У ARM2 было 30000 транзисторов, в то время как ARM6 дорос всего лишь до 35000. Бизнесом компании ARM всегда была продажа лицензий на производство ядер и сопутствующих элементов полупроводниковым компаниям, которые создавали микропроцессоры и микроконтроллеры на их основе. Самой успешной версией ядра, продажи которой достигли сотен миллионов штук, был ARM7TDMI.
Под лицензией ARM к 2005 году было произведено около 1,6 миллиардов ядер. В 2005 году около миллиарда ядер ARM пошло на мобильные телефоны. По состоянию на январь 2008 года было произведено более 10 миллиардов ядер, а iSuppli прогнозирует, что к 2011 году будут производиться 5 миллиардов ядер ежегодно. [источник не указан 502 дня]
Современные смартфоны, КПК и другие портативные устройства используют в основном версию ядра ARMv5. Процессоры XScale и ARM926 (ARMv5TE) сейчас более многочисленны в высокотехничных устройствах, чем, например, процессоры StrongARM и процессоры ARMv4 на базе ARM9TDMI и ARM7TDMI [источник не указан 502 дня] , но менее сложные приборы могут использовать старые версии с меньшей лицензионной стоимостью. Процессоры ARMv6 по своей производительности на голову выше, чем стандартные ARMv5. [источник не указан 502 дня] Cortex-A создан специально для смартфонов, которые раньше использовали ARM9 и ARM11. Cortex-R созданы для приложений, работающих в реальном времени, а Cortex-M — для микроконтроллеров.
Влияние ARM-технологии на рынок
К концу 2012 года новые модели ARM-процессоров Apple и Samsung достигли производительности бюджетных процессоров Intel для ноутбуков. В частности, планшет Samsung Nexus 10 показал рейтинг производительности 2348 баллов [3] , в то время как бюджетный процессор Intel Core Duo в ноутбуке Apple MacAir показывает рейтинг только 1982 балла [4] .
Отдельные компании заявляют о разработках эффективных серверов на базе кластеров ARM процессоров [5] . Тем не менее, на 2012 год продажи серверов на ARM исчезающе малы (< 1% рынка серверов) [6] .
Процессоры ARM
- Процессор Intel 80219 включает высокоскоростное 32-разрядное ядро XScale с частотой 400 или 600 МГц с 64-разрядным интерфейсом PCI-X
- Шина PCI/ PCI-X позволяет подключать гигабитные контроллеры Ethernet
Архитектура
Уже давно существует справочное руководство по архитектуре ARM, которое разграничивает все типы интерфейсов, которые поддерживает ARM, так как детали реализации каждого типа процессора могут отличаться. Архитектура развивалась с течением времени, и начиная с ARMv7 были определены 3 профиля: ‘A’(application) — приложения, ‘R’(real time) — в реальном времени,’M’(microcontroller) — микроконтроллер.
Профили могут поддерживать меньшее количество команд (команды определенного типа).
Режимы
Процессор может находиться в одном из следующих операционных режимов:
- User mode — обычный режим выполнения программ. В этом режиме выполняется большинство программ.
- Fast Interrupt (FIQ) — режим быстрого прерывания (меньшее время срабатывания)
- Interrupt (IRQ) — основной режим прерывания.
- System mode — защищённый режим для использования операционной системой.
- Abort mode — режим, в который процессор переходит при возникновении ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера).
- Supervisor mode — привилегированный пользовательский режим.
- Undefined mode — режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию.
Переключение режима процессора происходит при возникновении соответствующего исключения, или же модификацией регистра статуса.
Набор команд
Чтобы сохранить дизайн чистым, простым и быстрым, оригинальное изготовление ARM было исполнено без микрокода, как и более простой 8-разрядный процессор 6502, используемый в предыдущих микрокомпьютерах от Acorn Computers.
Набор команд ARM
Режим, в котором исполняется 32-битный набор команд.
Набор команд Thumb
Для улучшения плотности кода процессоры, начиная с ARM7TDMI, снабжены режимом «thumb». В этом режиме процессор выполняет альтернативный набор 16-битных команд. Большинство из этих 16-разрядных команд переводятся в нормальные команды ARM. Уменьшение длины команды достигается за счет сокрытия некоторых операндов и ограничения возможностей адресации по сравнению с режимом полного набора команд ARM.
В режиме Thumb меньшие коды операций обладают меньшей функциональностью. Например, только ветвления могут быть условными, и многие коды операций имеют ограничение на доступ только к половине главных регистров процессора. Более короткие коды операций в целом дают большую плотность кода, хотя некоторые операции требуют дополнительных команд. В ситуациях, когда порт памяти или ширина шины ограничены 16 битами, более короткие коды операций режима Thumb становятся гораздо производительнее по сравнению с обычным 32-битным ARM кодом, так как меньший программный код придется загружать в процессор при ограниченной пропускной способности памяти.
Аппаратные средства типа Game Boy Advance, как правило, имеют небольшой объем оперативной памяти доступной с полным 32-битным информационным каналом. Но большинство операций выполняется через 16-битный или более узкий информационный канал. В этом случае имеет смысл использовать тумбовый код и вручную оптимизировать некоторые тяжелые участки кода, используя переключение в режим полных 32-битных инструкций ARM.
Первым процессором с декодером тумбовых команд был ARM7TDMI. Все процессоры семейства ARM9, а также XScale, имели встроенный декодер тумбовых команд.
Набор команд Thumb-2
Thumb-2 — технология, стартовавшая с ARM1156 core, анонсированного в 2003 году. Он расширяет ограниченный 16-битный набор команд Thumb дополнительными 32-битными командами, чтобы задать набору команд дополнительную ширину. Цель Thumb-2 — достичь плотности кода как у Thumb, и производительности как у набора команд ARM на 32 битах. Можно сказать, что в ARMv7 эта цель была достигнута.
Thumb-2 расширяет как команды ARM, так и команды Thumb еще большим количеством команд, включая управление битовым полем, табличное ветвление, условное исполнение. Новый язык «Unified Assembly Language» (UAL) поддерживает создание команд как для ARM, так и для Thumb из одного и того же исходного кода. Версии Thumb на ARMv7 выглядят как код ARM. Это требует осторожности и использования новой команды if-then, которая поддерживает исполнение до 4 последовательных команд испытываемого состояния. Во время компиляции в ARM код она игнорируется, но во время компиляции в код Thumb-2 генерирует команды. Например:
Все чипы ARMv7 поддерживают набор команд Thumb-2, а некоторые чипы, вроде Cortex-m3, поддерживают только Thumb-2. Остальные чипы Cortex и ARM11 поддерживают наборы команд как Thumb-2, так и ARM.
Набор команд Jazelle
Jazelle — это технология, которая позволяет байткоду Java исполняться прямо в архитектуре ARM в качестве 3-го состояния исполнения (и набора команд) наряду с обычными командами ARM и режимом Thumb. Поддержка технологии Jazelle обозначается буквой «J» в названии процессора — например, ARMv5TEJ. Данная технология поддерживается начиная с архитектуры ARMv6, хотя новые ядра содержат лишь ограниченные реализации, которые не поддерживают аппаратного ускорения.
Функции RISC
Архитектура ARM обладает следующими особенностями RISC:
- Архитектура загрузки/хранения
- Нет поддержки нелинейного (не выровненного по словам) доступа к памяти (теперь поддерживается в процессорах ARMv6 за некоторыми исключениями и полностью в ARMv7)
- Равномерный 16х32-битный регистровый файл
- Фиксированная длина команд (32 бита) для упрощения декодирования за счет снижения плотности кода. Позднее режим Thumb повысил плотность кода.
- Одноцикловое исполнение
Чтобы компенсировать простой дизайн, в сравнении с современными процессорами вроде Intel 80286 или Motorola 68020 были использованы некоторые особенности дизайна:
- Арифметические инструкции заменяют условные коды только когда это необходимо
- 32-битное многорегистровое циклическое сдвиговое устройство, которое может быть использовано без потерь производительности в большинстве арифметических инструкций и адресных расчетов.
- Мощные индексированные адресные режимы
- Регистр ссылок для быстрого вызова функций листьев
- Простые, но быстрые, с двумя уровнями приоритетов подсистемы прерываний с включенными банками регистров.
Условное исполнение
Одним из существенных отличий архитектуры ARM от других архитектур ЦПУ является так называемая предикация — возможность условного исполнения команд. Под «условным исполнением» здесь понимается то, что команда будет выполнена или проигнорирована в зависимости от текущего состояния флагов состояния процессора.
В то время как для других архитектур таким свойством, как правило, обладают только команды условных переходов, в архитектуру ARM была заложена возможность условного исполнения практически любой команды. Это было достигнуто добавлением в коды их инструкций особого 4-битового поля (предиката). Одно из его значений зарезервировано на то, что инструкция должна быть выполнена безусловно, а остальные кодируют то или иное сочетание условий (флагов). С одной стороны, с учётом ограниченности общей длины инструкции, это сократило число бит, доступных для кодирования смещения в командах обращения к памяти, но с другой — позволило избавляться от инструкций ветвления при генерации кода для небольших if-блоков.
Пример, обычно рассматриваемый для иллюстрации — основанный на вычитании алгоритм Евклида. В языке C он выглядит так:
А на ассемблере ARM — так:
Из кода видно, что использование предикации позволило полностью избежать ветвления в операторах else и then. Заметим, что если Ri и Rj равны, то ни одна из SUB инструкций не будет выполнена, полностью убирая необходимость в ветке, реализующей проверку while при каждом начале цикла, что могло быть реализовано, например, при помощи инструкции SUBLE (меньше либо равно).
Один из способов, которым уплотнённый (Thumb) код достигает большей экономии объёма — это именно удаление 4-битового предиката из всех инструкций, кроме ветвлений.
Другие особенности
Другая особенность набора команд это возможность соединять сдвиги и вращения в инструкции «обработки информации» (арифметическую, логическую, движение регистр-регистр) так, что, например выражение С:
может быть преобразовано в команду из одного слова и одного цикла в ARM:
Это приводит к тому, что типичные программы ARM становятся плотнее, чем обычно, с меньшим доступом к памяти. Таким образом, конвейер используется гораздо более эффективно. Даже несмотря на то, что ARM работает на скоростях, которые многие бы сочли низкими, он довольно-таки легко конкурирует с многими более сложными архитектурами ЦПУ.
ARM процессор также имеет некоторые особенности, редко встречающиеся в других архитектурах RISC — такие, как адресация относительно счетчика команд (на самом деле счетчик команд ARM является одним из 16 регистров), а также пре- и пост-инкрементные режимы адресации.
Другая особенность, которую стоит отметить, это то, что некоторые ранние ARM процессоры (до ARM7TDMI), например, не имеют команд для хранения 2-байтных чисел. Таким образом, строго говоря, для них невозможно сгенерировать эффективный код, который бы вел себя так, как ожидается от объектов С, типа «volatile int16_t».
Конвейер и другие аспекты реализации
ARM7 и более ранние версии имеют трехступенчатый конвейер. Это ступени переноса, декодирования и исполнения. Более производительные архитектуры, типа ARM9, имеют более сложные конвейеры. Cortex-a8 имеет 13-ступенчатый конвейер.
Сопроцессоры
Архитектура предоставляет способ расширения набора команд, используя сопроцессоры, которые могут быть адресованы, используя MCR, MRC, MRRC, MCRR и похожие команды. Пространство сопроцессора логически разбито на 16 сопроцессоров с номерами от 0 до 15, причем 15-й зарезервирован для некоторых типичных функций управления, типа управления кэш-памятью и операции блока управления памятью (на процессорах, в которых они есть).
В машинах на основе ARM периферийные устройства обычно подсоединяются к процессору путем сопоставления их физических регистров в памяти ARM или в памяти сопроцессора, или путем присоединения к шинам, которые в свою очередь подсоединяются к процессору. Доступ к сопроцессорам имеет большее время ожидания, поэтому некоторые периферийные устройства проектируются для доступа в обоих направлениях. В остальных случаях разработчики чипов лишь пользуются механизмом интеграции сопроцессора. Например, движок обработки изображений должен состоять из малого ядра ARM7TDMI, совмещенного с сопроцессором, который поддерживает примитивные операции по обработке элементарных кодировок HDTV.
Усовершенствованный SIMD (NEON)
Расширение усовершенствованного SIMD, также называемое технологией NEON — это комбинированный 64- и 128-битный набор команд SIMD (single instruction multiple data), который обеспечивает стандартизованное ускорение для медиа приложений и приложений обработки сигнала. NEON может выполнять декодирование аудио формата mp3 на частоте процессора в 10 МГц, и может работать с речевым кодеком GSM AMR (adaptive multi-rate) на частоте более 13МГц. Он обладает внушительным набором команд, отдельными регистровыми файлами, и независимой системой исполнения на аппаратном уровне. NEON поддерживает 8-, 16-, 32-, 64-битную информацию целого типа, одинарной точности и с плавающей запятой, и работает в операциях SIMD по обработке аудио и видео (графика и игры). В NEON SIMD поддерживает до 16 операций единовременно.
Технология VFP (Vector Floating Point, вектора чисел с плавающей запятой) — расширение сопроцессора в архитектуре ARM. Она производит низкозатратные вычисления над числами с плавающей запятой одинарной/двойной точности, в полной мере соответствующие стандарту ANSI/IEEE Std 754—1985 Standard for Binary Floating-Point Arithmetic. VFP производит вычисления с плавающей запятой, подходящие для широкого спектра приложений — например, для КПК, смартфонов, сжатие звука, трёхмерной графики и цифрового звука, а также принтеров и телеприставок. Архитектура VFP также поддерживает исполнение коротких векторных команд. Но, поскольку процессор выполняет операции последовательно над каждым элементом вектора, то VFP нельзя назвать истинным SIMD набором инструкций. Этот режим может быть полезен в графике и приложениях обработки сигнала, так как он позволяет уменьшить размер кода и выработку команд.
Другие сопроцессоры с плавающей запятой и/или SIMD, находящиеся в ARM процессорах включают в себя FPA, FPE, iwMMXt. Они обеспечивают ту же функциональность, что и VFP, но не совместимы с ним на уровне опкодов.
Расширения безопасности
Расширения безопасности, позиционируемые как TrustZone Technology, находятся в ARMv6KZ и других, более поздних, профилированных на приложениях архитектурах. Оно обеспечивает низкозатратную альтернативу добавлению специального ядра безопасности, обеспечивая 2 виртуальных процессора, поддерживаемых аппаратным контролем доступа. Это позволяет ядру приложения переключаться между двумя состояниями, называемыми «миры» (чтобы избежать путаницы с названиями возможных доменов), чтобы не допустить утечку информации из более важного мира в менее важный. Этот переключатель миров обычно ортогонален всем другим возможностям процессора. Таким образом, каждый мир может работать независимо от других миров, используя одно и то же ядро. Память и периферия соответственно изготавливаются с учетом особенностей мира ядра, и могут использовать это, чтобы получить контроль доступа к секретам и кодам ядра. Типичные приложения TrustZone Technology должны запускать полноценную операционную систему в менее важном мире, и компактный, специализированный на безопасности, код в более важном мире, позволяя Digital Rights Management’у намного точнее контролировать использование медиа на устройствах на базе ARM, и предотвращая несанкционированный доступ к устройству.
На практике же, так как конкретные детали реализации TrustZone остаются собственностью компании и не разглашаются, остается неясным, какой уровень безопасности гарантируется для данной модели угрозы.
Отладка
Все современные процессоры ARM включают аппаратные средства отладки, так как без них отладчики ПО не смогли бы выполнить самые базовые операции типа остановки, отступа, установка контрольных точек после перезагрузки.
Архитектура ARMv7 определяет базовые средства отладки на архитектурном уровне. К ним относятся точки останова, точки просмотра и выполнение команд в режиме отладки. Такие средства были также доступны с модулем отладки EmbeddedICE. Поддерживаются оба режима — остановки и обзора. Реальный транспортный механизм, который используется для доступа к средствам отладки, не специфицирован архитектурно, но реализация, как правило, включает поддержку JTAG.
Существует отдельная архитектура отладки «с обзором ядра», которая не требуется архитектурно процессорами ARMv7.
Регистры
ARM предоставляет 31 регистр общего назначения разрядностью 32 бит. В зависимости от режима и состояния процессора пользователь имеет доступ только к строго определённому набору регистров. В ARM state разработчику постоянно доступны 17 регистров:
- 13 регистров общего назначения (r0..r12).
- Stack Pointer (r13) — содержит указатель стека выполняемой программы.
- Link register (r14) — содержит адрес возврата в инструкциях ветвления.
- Program Counter (r15) — биты [31:1] содержат адрес выполняемой инструкции.
- Current Program Status Register (CPSR) — содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др.
Во всех режимах, кроме User mode и System mode, доступен также Saved Program Status Register (SPSR). После возникновения исключения регистр CPSR сохраняется в SPSR. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент непосредственно перед прерыванием. [40]
usr | sys | svc | abt | und | irq | fiq |
---|---|---|---|---|---|---|
R0 | ||||||
R1 | ||||||
R2 | ||||||
R3 | ||||||
R4 | ||||||
R5 | ||||||
R6 | ||||||
R7 | ||||||
R8 | R8_fiq | |||||
R9 | R9_fiq | |||||
R10 | R10_fiq | |||||
R11 | R11_fiq | |||||
R12 | R12_fiq | |||||
R13 | R13_svc | R13_abt | R13_und | R13_irq | R13_fiq | |
R14 | R14_svc | R14_abt | R14_und | R14_irq | R14_fiq | |
R15 | ||||||
CPSR | ||||||
SPSR_svc | SPSR_abt | SPSR_und | SPSR_irq | SPSR_fiq |
Работа с памятью
Поддерживаемые системы ввода-вывода
В большинстве существующих моделей микропроцессоров реализована шина PCI и возможность работы с внешней динамической оперативной памятью (DRAM). В процессорах, предназначенных для потребительских устройств, также обычно интегрируются: контроллеры шин USB, IIC, AC’97-совместимое звуковое устройство, устройство для работы с флэш-носителями стандарта SD и MMC, контроллер последовательного порта.
Все процессоры имеют линии ввода-вывода общего назначения (GPIO). В потребительских устройствах к ним могут быть подключены кнопки «быстрого запуска», сигнальные светодиоды, колесо прокрутки (JogDial), клавиатура.
Процесс запуска ОС на ARM-машинах
Поддержка Unix-подобными системами
Архитектура ARM поддерживается Unix и Unix-подобными ОС GNU/Linux, BSD, QNX, Plan 9, Inferno, Solaris, Mac OS X, iOS, WebOS и Android.
Linux
Следующие дистрибутивы поддерживают процессоры ARM:
Следующие производные от BSD поддерживают процессоры ARM:
- (Acorn ARM2/ARM3-based systems only) [54][55][56]
Solaris
Поддержка других операционных систем
ARM лицензиаты и приблизительная стоимость лицензии
ARM не производит и не продает процессоры, сделанные по своим разработкам, но зато дает лицензии на процессоры заинтересованным партнерам. ARM предлагает широкий выбор условий лицензирования, различающихся по стоимости и деталям. Для всех владельцев лицензии ARM поставляет описание аппаратной части ядра, а также полный набор средств разработки программного обеспечения (компилятор, отладчик), а также право продавать произведенные процессоры ARM. Некоторые клиенты занимаются производством процессоров для сторонних компаний.
Годовой отчет ARM за 2006 год сообщает что в результате лицензирования 2,5 миллиардов единиц (процессоров) был выручен 161 миллион долларов. Это эквивалентно 0.067 доллара за единицу. Однако это очень усредненный показатель — ведь сюда входят и лицензии на очень дорогие новейшие процессоры, и старые дешевые процессоры.
Примечания
- ↑«ARMed for the living room».
- ↑«An interview with Steve Furber»
- ↑samsung Nexus 10 — Geekbench Browser
- ↑MacBook Air — Geekbench Browser
- ↑Apache Benchmarks for Calxeda’s 5-Watt Web Server – ARM Servers, Now!
- ↑http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
- ↑«ARM810 — Dancing to the Beat of a Different Drum» ARM Holdings presentation at Hot Chips 1996-08-07.
- ↑Register 13, FCSE PID register ARM920T Technical Reference Manual
- ↑Neo1973: GTA01Bv4 versus GTA02 comparison. Архивировано из первоисточника 13 марта 2012.Проверено 15 ноября 2007.
- ↑S3C2410. Архивировано из первоисточника 13 марта 2012.Проверено 13 января 2010.
- ↑Rockbox Samsung SA58xxx series. Архивировано из первоисточника 13 марта 2012.Проверено 22 февраля 2008.
- ↑Rockbox Meizu M6 Port – Hardware Information. Архивировано из первоисточника 13 марта 2012.Проверено 22 февраля 2008.
- ↑Datasheets — Magic Lantern Firmware Wiki
- ↑STR9 – STR912 – STR912FW44 microcontroller – documents and files download page. Mcu.st.com. (недоступная ссылка — история) Проверено 18 апреля 2009.
- ↑Starlet.
- ↑Benchmarks – Albatross. Albatross-uav.org (18 июня 2005). (недоступная ссылка — история) Проверено 18 апреля 2009.
- ↑ARM1136J(F)-S – ARM Processor. Arm.com. Архивировано из первоисточника 13 марта 2012.Проверено 18 апреля 2009.
- ↑Qualcomm chips kernel ARM — from phones to laptops. xi0.info. Архивировано из первоисточника 13 марта 2012.Проверено 8 мая 2010.
- ↑Qualcomm MSM7227 RISC Chipset. pdadb.net. Архивировано из первоисточника 13 марта 2012.Проверено 8 мая 2010.
- ↑GoForce 6100. Nvidia.com. Архивировано из первоисточника 13 марта 2012.Проверено 18 апреля 2009.
- ↑Mediatek MT6573. http://www.mediatek.com. Архивировано из первоисточника 6 июня 2012.Проверено 18 апреля 2009.
- ↑Samsung S3C6410 and S3C6430 Series ARM Proccessors. Samsung. Проверено 8 октября 2009. , and the Qualcomm MSM7627 as seen in the Palm Pixi and Motorola Calgary/Devour
- ↑Merrit, Rick«ARM stretches out with A5 core, graphics, FPGAs». EE Times (21 октября 2009). Архивировано из первоисточника 13 марта 2012.Проверено 28 октября 2009.
- ↑Clarke, PeterARM tips plans for Swift and Sparrow processor cores. EE Times (3 февраля 2009). Архивировано из первоисточника 13 марта 2012.Проверено 18 апреля 2009.
- ↑Segan, SaschaARM’s Multicore Chips Aim for Netbooks. PC Magazine (9 апреля 2009). Архивировано из первоисточника 13 марта 2012.Проверено 18 апреля 2009.
- ↑ 1234http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
- ↑Cortex-A15 Processor — ARM
- ↑Cortex-A7 Processor — ARM
- ↑Benz, BenjaminCortex Nachwuchs bei ARM. Heise.de (2 февраля 2010). Архивировано из первоисточника 13 марта 2012.Проверено 3 мая 2010.
- ↑Clarke, PeterARM preps tiny core for low-power microcontrollers. EE Times (23 февраля 2009). Архивировано из первоисточника 13 марта 2012.Проверено 30 ноября 2009.
- ↑Walko, JohnNXP first to demo ARM Cortex-M0 silicon. EE Times (23 марта 2009). Архивировано из первоисточника 13 марта 2012.Проверено 29 июня 2009.
- ↑ARM Powered VCAs » Triad Semiconductor
- ↑Cortex-M0 used in low power touch controller — 10/06/2009 — Electronics Weekly
- ↑Chungbuk Technopark Chooses ARM Cortex-M0 Processor
- ↑Google Translate
- ↑Austriamicrosystems Chooses ARM Cortex-M0 Processor For Mixed Signal Applications
- ↑«ARM Extends Cortex Family with First Processor Optimized for FPGA», ARM press release, March 19, 2007. Retrieved April 11, 2007.
- ↑«ARM Cortex-M1», ARM product website. Retrieved April 11, 2007.
- ↑ARM Extends Cortex Family with First Processor Optimized for FPGA.
- ↑ARM7TDMI (rev 3) Technical Reference Manual (англ.) . Архивировано из первоисточника 13 марта 2012.Проверено 22 августа 2009.
- ↑ALT Linux поддерживает архитектуру ARM (28 июля 2010). Архивировано из первоисточника 13 марта 2012.
- ↑Порт Archlinux на платформу ARM. Поддерживаются процессоры ARM v5, 6, 7. Архивировано из первоисточника 6 июня 2012.Проверено 2012-03-161.
- ↑Debian GNU/Linux on ARM. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑ELinOS supported boards. Архивировано из первоисточника 13 марта 2012.Проверено 22 апреля 2010.
- ↑Architectures/ARM. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑Gentoo Linux ARM Development. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑New release for ARM cpus (25 января 2007). Архивировано из первоисточника 13 марта 2012.Проверено 17 сентября 2009.
- ↑Platform Support for MontaVista Linux. Архивировано из первоисточника 13 марта 2012.Проверено 16 февраля 2010.
- ↑Slackware Linux for ARM. Архивировано из первоисточника 22 августа 2011.Проверено 1 июня 2009.
- ↑T2 SDE. Архивировано из первоисточника 13 марта 2012.Проверено 12 марта 2010.
- ↑Ubuntu on Arm. Canonical Ltd. (2009). Архивировано из первоисточника 13 марта 2012.Проверено 15 июня 2009.
- ↑ARM. Проверено 1 июня 2009.
- ↑Wind River — Board Support Packages. Архивировано из первоисточника 13 марта 2012.Проверено 16 февраля 2010.
- ↑FreeBSD/ARM Project. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑Hardware supported by NetBSD. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑OpenBSD/armish. Архивировано из первоисточника 13 марта 2012.Проверено 1 июня 2009.
- ↑OpenSolaris Project: ARM Platform Port. Sun Microsystems. Архивировано из первоисточника 13 марта 2012.
- ↑ARM Port — ReactOS
- ↑ReactOS Portable Systems Group — ReactOS
Ссылки
- Проставить шаблон-карточку, который существует для предмета статьи. Пример использования шаблона есть в статьях на похожую тематику.
- Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проставив сноски, внести более точные указания на источники.
- Перевести текст с иностранного языка на русский.
Altera Nios II • AMD 29000 • Apollo PRISM • Analog Devices Blackfin • ARM • Atmel (AVR • AVR32) • Cambridge Consultants XAP • DEC Alpha • DLX • PA-RISC • Intel i960 • M32R • LatticeMico32 • Microchip PIC • MIPS • Motorola 88000 • OpenRISC • POWER • PowerPC • SPARC • SuperH • Xilinx (MicroBlaze • PicoBlaze) • XMOS XCore
Что такое ARM
Название 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 (820, 821, 835) оснащены полностью кастомными ядрами Kryo – для центрального процессора и Adreno – для графического ускорителя.
Что касается Apple, то для iPhone и iPad компания использует собственные чипы А-серии с графическим ускорителем PowerVR, производством которых занимаются сторонние компании. Так, в iPhone 7 и iPhone 7 Plus установлен 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 еще впереди.