В 1983 году небольшая британская компания Acorn Computers переживала свой звездный час. Успех был обусловлен контрактом с вещательной корпорацией BBC на производство компьютера BBC Micro. Машина создавалась для национального телевизионного шоу, посвященного компьютерной грамотности, и ее популярность превзошла все ожидания. Прогнозируемые объемы продаж превысили 1,2 млн экземпляров, а сам BBC Micro на долгие годы стал доминирующей силой в образовательном секторе Великобритании.

Однако на фоне этого триумфа рынок персональных компьютеров стремительно менялся. Сегмент 8-битных машин, где блистал BBC Micro, оказался перенасыщен. Из Соединенных Штатов надвигались новые, куда более мощные конкуренты — IBM PC и готовящийся к выходу Apple Macintosh. Эти устройства задавали совершенно иной стандарт производительности и возможностей…

Руководство Acorn осознавало экзистенциальную угрозу. Компании было необходимо конкурировать с американскими технологическими гигантами, но для этого не хватало главного — значительных средств на исследования и разработку. Таким образом, история ARM началась не с технологического озарения, а с классического кризиса.

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

Используйте навигацию, если не хотите читать текст целиком:
Рождение идеи
Принятие RISC
Разработка и триумф
Неожиданное преимущество — сверхнизкое энергопотребление
ARM’ируя новый компьютер
Кризис операционной системы
Наследие и взгляд в будущее

Рождение идеи


Софи Уилсон, одна из ключевых разработчиц BBC Micro, предвидела надвигающиеся проблемы. Проявляя незаурядную дальновидность, она встроила в материнскую плату компьютера специальный разъем расширения под названием «Tube». Этот интерфейс был спроектирован для подключения более мощного внешнего центрального процессора (ЦП). Идея заключалась в том, чтобы новый ЦП брал на себя основные вычисления, в то время как штатный чип 6502 занимался бы задачами ввода-вывода.

Вместе со своим коллегой Стивом Фербером Уилсон начала изучать доступные на рынке 16-битные процессоры. Они рассмотрели Intel 80286, National Semiconductor 32016 и Motorola 68000. Ни один из вариантов их не устроил. В более позднем интервью для Музея истории компьютеров Уилсон объясняла, что, по ее мнению, эти чипы были медленными, неэффективно использовали оперативную память и оказались на удивление сложными для программирования на языках высокого уровня для достижения желаемой производительности.


Процессоры 286, 32016 и 68000. Масштаб примерно равный. Источник: Wikipedia.

Мысль о том, чтобы Acorn создала собственный процессор с нуля, поначалу казалась пугающей. Сомнения лишь укрепились после визита на завод National Semiconductor в Израиле. Там Уилсон и Фербер увидели сотни инженеров и дорогостоящее оборудование, задействованное в производстве чипа 32016.

Переломный момент наступил во время поездки в Western Design Center в городе Меса, штат Аризона. Эта компания занималась производством процессора 6502 и разработкой его 16-битной версии 65C618. К своему удивлению, инженеры Acorn обнаружили не гигантский завод, а небольшую контору в «бунгало на окраине».


Western Design Center в 2022 году. Возможно, это то самое бунгало.

Над новым процессором трудилась горстка инженеров и студентов, используя самые базовые инструменты. Этот визит изменил их восприятие. Стало очевидно, что создание собственного ЦП — задача выполнимая, особенно для их небольшой, но очень компетентной команды, уже имевшей опыт разработки заказных микросхем для BBC Micro.

Их инициативу поддержал сооснователь Acorn Герман Хаузер, обладатель докторской степени по физике. Он не только одобрил проект, но и предоставил команде исследовательские работы IBM, посвященные новому типу процессорной архитектуры — RISC. Так, благодаря разочарованию в существующих решениях и преодолению психологического барьера, смутная идея превратилась в конкретный план действий.



Принятие RISC


Чтобы понять суть революции, предложенной Acorn, стоит кратко рассмотреть принципы работы ЦП. В их основе лежат транзисторы — микроскопические управляемые переключатели. Объединяясь, они формируют логические вентили (например, «И» и «ИЛИ»), которые позволяют компьютеру делать выбор. Все вычисления производятся в двоичной системе счисления, используя единицы и нули, называемые битами. «Битность» процессора, например 8-битный или 32-битный, определяет, какой объем данных он может обрабатывать одновременно.


Упрощенная анимация транзистора. Автор иллюстрации: Джереми Реймер.

Каждый процессор обладает набором инструкций — списком команд для перемещения данных, вычислений, сравнений и управления потоком программы. Доминировавшая в то время архитектура CISC (Complex Instruction Set Computing) стремилась сделать этот набор как можно богаче и сложнее. Идея заключалась в том, чтобы одна сложная инструкция могла выполнять многошаговую операцию. Такой подход позволял экономить дорогую в те годы оперативную память, поэтому у чипов вроде Intel 8080, 8088 и 80286 было так много команд.


Упрощенные вентили И и ИЛИ с использованием транзисторов. Автор иллюстрации: Джереми Реймер.

Центральная идея RISC (Reduced Instruction Set Computing) — прямо противоположная. Она заключается в радикальном сокращении набора команд для максимального упрощения внутренней логики процессора. Например, у чипа Intel 80286 было 357 уникальных инструкций. Новый процессор Софи Уилсон должен был иметь всего 45.


Полная схема сумматора, сделанная из вентилей И и ИЛИ. Автор иллюстрации: Джереми Реймер. Интерактивная версия Чарльза Петцольда.

Для этого Уилсон реализовала архитектуру «load and store» (загрузка и сохранение). В такой системе все арифметические и логические операции выполняются исключительно над данными, находящимися во внутренних ячейках процессора — регистрах. Обмен данными между регистрами и внешней оперативной памятью вынесен в отдельные, специализированные команды.


Сравнение набора инструкций Intel 80286 и ARM V1. Каждый вариант инструкции имеет отдельный числовой код. (Таблица составлена ​​автором.)

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


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

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


Конвейер ARM V1. Каждый этап занимает одинаковое время. Источник.

Чтобы обеспечить задел на будущее, было принято еще одно смелое решение — пропустить 16-битную стадию и сразу перейти к 32-битной архитектуре. Парадоксально, но это упрощало внутреннюю структуру чипа и реализацию прямого доступа ко всему адресному пространству памяти. Новый процессор получил название Acorn RISC Machine, или сокращенно — ARM.

Разработка и триумф


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

Стив Фербер написал программный эмулятор процессора ARM на интерпретируемом языке BASIC для компьютера BBC Micro. Несмотря на то, что эмулятор работал крайне медленно, он позволил проверить и подтвердить корректность логики и набора инструкций будущего чипа. Позже команда под руководством Софи Уилсон создала более продвинутый эмулятор, способный выполнять сотни тысяч инструкций ARM в секунду. Укреплялась уверенность в правильности выбранного пути.

Наконец, дизайн был отправлен на производство в компанию VLSI Technology Inc, и 26 апреля 1985 года инженеры Acorn получили первую партию готовых кристаллов. Софи Уилсон немедленно приступила к тестированию. Она установила чип в разъем Tube на плате BBC Micro, загрузила интерпретатор BBC BASIC и ввела простую команду PRINT. Процессор ответил сообщением: «Hello World, I am ARM».


Один из самых первых чипов ARM. Источник.

Это был феноменальный триумф. Команда, состоявшая из менее чем десяти человек, создала сложнейший 32-битный RISC-процессор, который заработал безупречно с первой же попытки. Для сравнения, 32-битный чип 32016 от National Semiconductor к тому моменту прошел уже десять ревизий и все еще содержал ошибки.


Чип ARM V1 и его структурная схема.Источник.

Первая версия, ARM V1, была по современным меркам очень простой, что хорошо видно на интерактивной странице. Она содержала всего 27 000 транзисторов — против 134 000 у Intel 80286 — и производилась по техпроцессу 3 мкм. Чип работал на тактовой частоте 6 МГц. В нем отсутствовали кэш-память, аппаратные блоки для выполнения операций умножения и деления, а также модуль для вычислений с плавающей запятой, вместо которого использовалось устройство быстрого сдвига (barrel shifter).

Тем не менее, тесты производительности показали, что ARM V1 был примерно в 10 раз быстрее, чем Intel 80286 на аналогичной тактовой частоте, и сопоставим по мощности с 32-битным Motorola 68020, работающим на частоте 17 МГц. Ограничения породили более совершенный и дисциплинированный процесс разработки, который сам по себе стал конкурентным преимуществом.

Неожиданное преимущество — сверхнизкое энергопотребление


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

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

Результат превзошел все ожидания. Реальное энергопотребление готового кристалла составило всего 0,1 Вт — в десять раз меньше целевого показателя. Сама Софи Уилсон позже назвала этот итог «чистой случайностью». Однако именно это непреднамеренное открытие предопределило будущее архитектуры. Спустя десятилетия, когда начнется эра мобильных устройств, именно сверхнизкое энергопотребление станет главным конкурентным преимуществом ARM и ключом к ее мировому господству.

ARM’ируя новый компьютер


К 1985 году продажи BBC Micro начали падать, теснимые дешевыми Sinclair Spectrums с одной стороны и клонами IBM PC с другой. В итоге Acorn, испытывая финансовые трудности, продала контрольный пакет акций итальянской компании Olivetti. Новый процессор ARM был настоящим инженерным чудом, но для демонстрации его мощи требовался полноценный компьютер. Acorn продавала платы для разработчиков с чипом ARM, но этого было недостаточно для выхода на массовый рынок.

В 1986 году увидела свет вторая версия процессора — ARM V2. В ней появилась поддержка сопроцессоров (например, для вычислений с плавающей запятой) и встроенные аппаратные схемы для операций умножения. Чип производился по более совершенному техпроцессу 2 мкм, что позволило поднять тактовую частоту до 8 МГц без увеличения энергопотребления. Одновременно команда разработала три вспомогательные микросхемы: графический контроллер, контроллер ввода-вывода и контроллер памяти.

К 1987 году все четыре чипа, включая ARM V2, были готовы. Вместе с ними был собран и прототип нового компьютера — Acorn Archimedes.


Одна из первых моделей Acorn Archimedes. Источник: Wikipedia.


Кризис операционной системы


В 1987 году от любого персонального компьютера уже ожидали наличия графического пользовательского интерфейса, подобного тем, что были у Amiga, Atari ST и Macintosh. Удаленная команда разработчиков Acorn в Пало-Альто (США) работала в штаб‑квартире Xerox PARK над операционной системой нового поколения под названием ARX. Проект сильно задерживался и продвигался крайне медленно.

Компания оказалась в кризисной ситуации. Руководство Acorn обратилось к Полу Феллоузу, главе программного подразделения Acornsoft, с почти невыполнимой задачей: сможет ли его команда написать и выпустить операционную систему для Archimedes всего за пять месяцев? Феллоуз согласился.

Так в авральном режиме появился «Project Arthur» — операционная система, названная, возможно, в честь известного британского ученого Артура Нормана или же просто как сокращение от «ARm by THURsday!» («ARM к четвергу!»). Она, по сути, представляла собой расширение языка BBC BASIC. Из-за нехватки времени ее даже не записывали на дискеты, а «зашивали» прямо в микросхемы постоянного запоминающего устройства (ПЗУ) первых компьютеров.


Скриншот операционной системы Arthur. Источник.

Первые модели Acorn Archimedes поступили в продажу в июне 1987 года. Они были невероятно быстрыми и конкурентоспособными по цене — около 800 фунтов стерлингов (примерно 1 300 долларов США) по сравнению с Macintosh II, который стоил 5 500 долларов США при сопоставимой мощности. Однако у Archimedes был фатальный недостаток — практически полное отсутствие программного обеспечения. В то время как для Macintosh уже существовали PageMaker, Microsoft Word и Excel, а также множество других полезных программ, для новой платформы Acorn их почти не было. Мир компьютеров стремительно двигался к доминированию IBM PC-совместимых машин и Macintosh (и, на несколько лет, Amiga), вытесняя всех остальных.

Несмотря на восторженные отзывы в британской прессе и преданную базу поклонников, за первые несколько лет было продано менее 100 000 систем Archimedes. Этот коммерческий провал, вызванный слабостью программной экосистемы, стал для компании суровым уроком. Он наглядно продемонстрировал, что даже самое передовое «железо» обречено на неудачу без поддержки со стороны ПО. Именно эта неудача подтолкнула Acorn к смене бизнес-модели, которая в будущем принесет ARM Ltd. мировой успех.

Наследие и взгляд в будущее


В Acorn быстро извлекли уроки из провала. Команда исправила ошибки в «Project Arthur» и уже в 1989 году выпустила полноценную, многозадачную операционную систему с оконным интерфейсом — RISC OS. Вслед за ней последовала и новая ревизия процессора, ARM V3. Этот чип производился по техпроцессу 1,5 мкм, что позволило разместить на кристалле 4 Кб быстрой кэш-памяти первого уровня. Тактовая частота возросла до 25 МГц.

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

Именно в этот момент на пороге Acorn, как гласит история, «появился представитель другой компьютерной компании, названной в честь популярного фрукта». Этим представителем была Apple. Для своего революционного проекта карманного компьютера Newton компания отчаянно нуждалась в процессоре с уникальным сочетанием высокой производительности и сверхнизкого энергопотребления — именно тем, что создала Acorn. Ключевую роль в этом сыграл вице-президент Apple Ларри Теслер, который и убедил руководство инвестировать в технологию.

Их интересы совпали идеально. Apple нашла готовую технологию, а Acorn — инвестора, который был готов не просто вложить деньги, но и стать первым крупным клиентом. В ноябре 1990 года было основано совместное предприятие Advanced RISC Machines Ltd., или ARM. Компания Apple инвестировала тогда от 1,5 до 3 млн долларов, получив 43% акций. Acorn предоставила 12 своих лучших инженеров и всю интеллектуальную собственность. Третьим партнером стала VLSI Technology, обеспечившая производственные инструменты. Первым генеральным директором новой компании стал Робин Саксби, которого нанял Ларри Теслер.

По настоянию Apple, которая не хотела видеть имя компании-конкурента в названии своего поставщика, расшифровка аббревиатуры была изменена с «Acorn RISC Machine» на «Advanced RISC Machines». Этот шаг превратил ARM из внутреннего исследовательского отдела Acorn в независимую компанию с уникальной бизнес-моделью. Так был заложен фундамент для ее будущего доминирования в мире мобильных технологий и за его пределами.

Комментарии (2)


  1. SIISII
    05.07.2025 12:24

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

    «Битность» процессора, например 8-битный или 32-битный, определяет, какой объем данных он может обрабатывать одновременно

    Некорректно, если не добавить важное уточнение: с точки зрения программиста. Разрядность внутренних блоков, путей данных и т.д. и т.п. может быть любой. Скажем, сверхпопулярный в своё время Z80 имеет 4-разрядное АЛУ, хотя для программиста это 8-разрядный процессор. ЕС-1020, ЕС-1022, ЕС-1030 и ЕС-1050 реализуют одну и ту же архитектуру (32-разрядную IBM System/360), но у первой АЛУ 8-разрядное, у второй -- 16-разрядное, у третьей вообще дикая смесь всего (скажем, сумматор комбинация из 32- и 4-разрядного), а у четвёртой -- 64-разрядное, ну и так далее.

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

    Ничего парадоксального: либо ты сразу формируешь широкий адрес (кстати, у ранних АРМов он был, насколько помню, 26-разрядным), либо должен городить какую-то дополнительную аппаратуру для преобразования логических (виртуальных) адресов в физические. Правда, в конце концов всё равно городить пришлось, чтоб обеспечить поддержку виртуальной памяти, но это произошло намного позже (вроде, только в ARMv5).

    Команда, состоявшая из менее чем десяти человек, создала сложнейший 32-битный RISC-процессор, который заработал безупречно с первой же попытки.

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

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

    ...

    В 1986 году увидела свет вторая версия процессора — ARM V2. В ней появилась поддержка сопроцессоров (например, для вычислений с плавающей запятой) и встроенные аппаратные схемы для операций умножения.

    Аппаратное умножение отсутствовало даже в некоторых вариантах ARMv4, а деление появилось вообще лишь в ARMv7-M (а у микропроцессоров -- линейки -A -- оно отсутствует до сих пор; считается, что достаточно иметь FPU, который у -A есть, кажется, всегда).

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


    1. oneastok Автор
      05.07.2025 12:24

      Искренне благодарю за такой экспертный и подробнейший фидбек!