ARM (Advanced RISC Machines) — британская корпорация, один из крупнейших производителей, разработчиков и лицензиаров архитектуры 32-разрядных и 64-разрядных
RISC-процессоров (с архитектурой
ARM), ориентированных на использование в портативных и мобильных устройствах (
телефонах, органайзерах и т. п.).
Новый фаворит в гонке процессорных вооружений — фирма не из Кремниевой долины, а из английского научного городка Кембридж. Однако ее успех — вещь вовсе не внезапная, и за ним стоит история длиной в тридцать лет.
Бок о бок с Intel мы живем еще с восьмидесятых годов — имя этой компании встречается в новостях так часто, что название нынешнего поколения ее процессоров нередко известно даже далеким от техники людям. Но времена изменились, и планшеты со смартфонами стали потихоньку отбирать внимание и пользователей у персоналок, а отливают их ядра вовсе не на фабриках Intel. На передний план внезапно вышла британская компания ARM, о которой до недавних пор слышали лишь специалисты. Что за люди стоят за созданием процессоров, давших дорогу новому поколению компьютеров?
Формально фирма ARM Holdings была создана в 1990 году, а конкретнее — в тот момент, когда было подписано соглашение между тремя компаниями: Apple Computer, Acorn Computers и VLSI Technology. Apple в представлении не нуждается, а вот об Acorn и VLSI стоит поговорить подробнее.
Кембриджский желудь
История Acorn связана с другой известной британской компанией —
Sinclair Research, где был создан небезызвестный компьютер
ZX Spectrum. Будущий сооснователь Acorn Крис Карри сделал свою карьеру именно в Sinclair Radionics (позднее — Research). В те времена Карри и
Синклер были друзьями и вместе работали над карманным
калькулятором и другими проектами, но в 1978 году во время подготовки прототипа
ZX80 (одного из предшественников ZX Spectrum) они так сильно разошлись во мнениях относительно будущего компьютера, что Карри покинул Синклера и его компанию. А вскоре основал собственную — совместно с предпринимателем, изобретателем и инвестором Германом Хаузером. Фирма называлась Cambridge Processor Unit, или просто CPU.
Хаузер к тому времени уже успел завербовать одного гениального студента
Кембриджского университета — Роджера Уилсона. Тот был буквально влюблен в электронику, на память цитировал справочники компонентов и писал программы в машинных кодах без единой ошибки — по крайней мере такова легенда. Опыт настоящей работы у Уилсона был небольшой — за ним числилось разве что создание автоматизированной кормушки для коров на основе
чипа MOS Technology 6502. Но когда Хаузер предложил Уилсону поучаствовать в создании электронной записной книжки (которая так потом и не появилась на свет), тот немедленно согласился.
Герман Хаузер и Крис Карри на заре Acorn
Карри привел с собой в новую фирму еще одного студента Кембриджа — второкурсника Стива Фербера. Фербер, как и Карри, ранее работал на Синклера и занимался разработкой набора
MK14, из которого любой желающий мог собрать простенький домашний компьютер. Первое время Ферберу приходилось совмещать работу в CPU с учебой, но зато у него не было никаких сомнений в том, что после получения диплома он сможет продолжать заниматься любимым делом — придумывать компьютеры.
В 1979 году CPU был переименован в Acorn (что переводится как «желудь»), якобы чтобы числиться в телефонном справочнике до Apple. Но самое главное — фирма в тот год выпустила свой первый продукт, Acorn System 1. Это был очень скромный компьютер для научных расчетов, имевший однострочный ЖК-дисплей и продававшийся за 80 фунтов стерлингов. Для сравнения, ZX80, тоже считавшийся экстремально дешевым, в сборе стоил сотню.
Acorn System 1 выглядел очень скромно
— не сразу скажешь, что это компьютер
Настоящий успех ждал Acorn двумя годами позже, когда совместно с BBC (да-да, той самой Британской широковещательной корпорацией, что по сей день снабжает весь мир своими новостями и сериалом «Доктор Кто») Карри и Хаузеру удалось выиграть тендер на поставки компьютеров в британские школы, — так родился BBC Micro. Клайв Синклер тоже участвовал в тендере и был настолько взбешен поражением, что напал на своего бывшего друга и коллегу Криса Карри в одном из кембриджских пабов и отхлестал его свернутой в трубочку газетой.
BBC Micro в Англии известен не меньше, чем ZX Spectrum
Сверхбольшие интегральные схемы
В то время как индустрия переживала бум домашних компьютеров, в научной части отрасли происходили другие не менее захватывающие события. Одно из них имеет непосредственное отношение к появлению ARM.
Общеизвестно, что интернет был придуман в Агентстве по перспективным оборонным научно-исследовательским разработкам США (DARPA), однако это не единственный проект DARPA, оказавший мощное влияние на всю индустрию. VLSI Project как раз из таких разработок: его относительно малая известность просто несоизмерима с его важностью. VLSI расшифровывается как Very-large-scale integration — сверхбольшая интегральная схема, или СБИС. В начале восьмидесятых все шло к переходу на такие схемы, но при их разработке инженеры столкнулись с серьезными проблемами.
С ростом числа
транзисторов, умещающихся на кристалле интегральной схемы, проектировать процессоры становилось все сложнее, и, когда число транзисторов стало превышать сотню тысяч, старые методы начали приводить к появлению ошибок. Требовался новый способ проектирования, и вряд ли кого-то удивит, что решение заключалось в использовании компьютера.
Профессор
Калифорнийского технологического института Карвер Мид и программист из лаборатории
Xerox PARC Лин Конвей предложили создать систему автоматизированного проектирования (САПР), которая бы помогала делать процессоры фактически любой сложности. На тот момент для работы с такой программой понадобился бы
суперкомпьютер, так что DARPA пришлось профинансировать не только создание САПР, но и все вокруг: разработку рабочих станций и даже операционной системы. Позднее из этих проектов вырастут фирмы
Sun Microsystems и Silicon Graphics, а в качестве ОС будет создана новая ветвь
UNIX — Berkley Distribution Software (BSD).
Мид и Конвей полагали, что если разработка процессоров будет лучше автоматизирована, то делать их смогут небольшие фирмы или даже студенты в ходе обучения. Идея оказалась не только верной, но и очень удачной: с помощью новых инструментов процессоры стало намного легче проектировать и появилась возможность делать это в отрыве от производства. Мало того, новый софт позволил выявить доселе скрытые особенности строения процессоров.
RISC — благородное дело
Современные процессорные архитектуры принято делить на два класса:
CISC (Complex Instruction Set Computing — вычислители с комплексным набором команд) и
RISC (Reduced Instruction Set Computing — вычислители с сокращенным набором команд). Между этими подходами есть принципиальная разница, но появилась она не сразу.
Ранние восьмибитные процессоры вроде
Intel 8080 или
Motorola 6800 умели исполнять всего несколько простых инструкций. Например, не было специальной инструкции для перемножения чисел, это действие требовало нескольких процессорных команд — смещений и сложений. Такой подход кажется неудобным, и потому решение добавить более емкие инструкции было интуитивным.
Считалось к тому же, что операции, воплощенные непосредственно в железе, будут исполняться намного быстрее, чем выполненные в виде программ. Так что в последующих разработках создатели процессоров стали добавлять поддержку все новых и новых инструкций. Перемножение двух чисел, к примеру, превратилось в одну команду, зато устройство микросхемы усложнилось, поскольку стало включать в себя отдельную подсистему, предназначенную для умножения. Так появились процессоры с комплексным набором команд. К этому семейству относятся и последующие чипы Intel, и другие процессоры, пользовавшиеся популярностью в восьмидесятые годы.
Не сказать, что у комплексного набора команд нет своих достоинств, но за них пришлось заплатить хорошую цену. Если первые процессоры за один тик генератора тактовой частоты выполняли одну простую инструкцию, то более сложные инструкции стали требовать по несколько тактов.
В рамках все того же проекта VSLI профессор
Калифорнийского университета в Беркли Дэвид Паттерсон провел исследование, в ходе которого нащупал иной подход к процессоростроению, который он назвал RISC. Выяснилось, что если ограничить набор инструкций лишь теми, которые могут быть исполнены за один такт, то можно увеличить скорость их исполнения и таким образом повысить общую производительность. Житейская
логика подсказывает, что такого быть не должно: программы ведь получаются длиннее! Но когда речь идет о системах из сотен тысяч компонентов, житейская логика может отдохнуть, а верный ответ дадут моделирование и симуляция.
Заодно Паттерсону удалось значительно снизить влияние «бутылочного горлышка»
фон-неймановской архитектуры — медленного канала между процессором и
оперативной памятью. RISC отличается большим числом регистров, чем CISC, и это позволяет реже обращаться к оперативной памяти — в особенности если программа пропущена через оптимизирующий
компилятор и выгодно использует ресурсы. Еще лучше такой подход работает в многоядерных или многопроцессорных системах, где к одной и той же памяти обращаются несколько вычислителей. Чем реже они это делают, тем реже каждому из них приходится ждать своей очереди и, соответственно, тем больше прирост производительности.
По закону «Архимеда»
Вернемся, однако, к истории Acorn. Если не считать нелепой ссоры с отцом ZX Spectrum, дела у компании в 1983 году шли неплохо: BBC Micro был продан полуторамиллиардным тиражом, и прибыль Acorn подскочила с трех тысяч фунтов до почти девяти миллионов.
Билл Гейтс даже предлагал Хаузеру портировать
MS-DOS и фирменный интерпретатор
BASIC на BBC Micro, но Хаузер отказался.
Команда собственных разработчиков Acorn росла, а учредители подумывали о том, что пора перейти на новый виток развития: вместо компьютеров на основе восьмиразрядных чипов выпускать машины помощнее — с шестнадцатиразрядными ЦП.
В качестве варианта рассматривались процессоры National Semiconductor, но Роберт Уилсон посетил израильскую штаб-квартиру этой компании и остался недоволен: «У них там над чипом работает по сто человек, и все равно то и дело ошибки». Следом Уилсон отправился в американскую фирму Western Design Center, где увидел ровно противоположенную картину: процессоры разрабатывали небольшие группы инженеров, причем почти что в домашних условиях. Уилсон задался вопросом: а нужно ли покупать чужой процессор, если можно сделать собственный? Пример WDC показывал, что это не так сложно, как может показаться.
Идею в Acorn приняли благосклонно, и работа закипела. Уилсон придумал набор инструкций, а Фербер с небольшой командой разработал архитектуру будущего процессора. Именно тогда было принято судьбоносное решение использовать новомодный принцип RISC.
Схема одного из первых процессоров RISC
Первый в истории процессор ARM (Acorn RISC Machine) был выпущен в 1985 году, но компьютера на его основе так и не появилось. Его продавали в качестве дополнения к BBC Master — у этой продвинутой версии BBC Micro был специальный интерфейс для подключения сопроцессоров. В комплект также входил набор для разработки программ для RISC.
Следующую инкарнацию процессора — ARM 2 ждала куда более интересная судьба: он лег в основу уникальной машины под названием Archimedes, впервые поступившей в продажу в 1987 году. ARM 2 имел 32-разрядную архитектуру, а адресная шина поддерживала 26 разрядов, и таким образом могло быть адресовано до 64 Мб оперативной памяти (огромное пространство по тем временам и несерьезное по нынешним).
Частота ARM 2 сейчас тоже вряд ли кого-нибудь поразит, да и 1985 году 8 МГц можно было считать средним показателем. Вышедший примерно в то же время
Intel 80368 работал на вдвое большей частоте, но это не значит, что вдвое эффективнее. 386-й выдавал лишь на миллион операций больше — пять против четырех у ARM 2. Вот оно, преимущество RISC!
Archimedes стоил приличных денег — от 800 фунтов стерлингов (с учетом инфляции и в пересчете на сегодняшние рубли получилось бы не меньше ста тысяч), но пользовался определенной популярностью благодаря мощности, хорошему
видеоадаптеру (режимы до 256 цветов) и восьмиканальной
звуковой карте. По сути, это был этакий британский
Macintosh — рабочая станция для издательств и телестудий.
Империя Olivetti
Хоть Archimedes и выпускался под маркой Acorn, компания к тому времени уже не была частным бизнесом Хаузера и Карри. За успешным 1983 годом последовал ужасный 1984-й, когда рынок домашних компьютеров перенасытился. Это имело трагические последствия для многих игроков: Atari и Commodore сменили хозяев, а в Apple (в первый раз) столкнулись с перспективой банкротства.
В Acorn к этой альфа-версии краха доткомов тоже не были готовы: компания только-только вышла на биржу, и заработанных на этом денег стало достаточно, чтобы удовлетворить непрерывно росший до того момента спрос. В результате на складах Acorn скопилось 250 тысяч компьютеров, продать которые внезапно оказалось нереально.
И тут на горизонте появилась итальянская фирма Olivetti. Ее руководство уже и раньше предпринимало попытки перейти от производства пишущих машинок к компьютерам. С конвейеров Olivetti с 1983 по 1985 год сходили модели на основе Zilog Z8000 и
Intel 8088. Но ARM, Archimedes и его операционная система RISC OS казалась для менеджеров Olivetti лакомым кусочком: иметь собственные технологии всегда лучше — по крайней мере в то время так казалось.
Вскоре была заключена сделка, в результате которой к Olivetti перешло 80 процентов акций Acorn, а Герман Хаузер стал руководителем исследовательского подразделения. Второй основатель Acorn Крис Карри, получив дивиденды от продажи, предпочел основать новую компанию — General Information Systems. Она до сих пор функционирует и занимается смарт-картами, электронными денежными переводами и системами безопасности.
Итальянцы, правда, тоже предвидели будущее неверно: в конце восьмидесятых годов началось победное шествие IBM PC и его клонов. Стало понятно, что все несовместимое с PC скоро окажется на свалке истории, и компании вместо того, чтобы взращивать свои технологии, массово переходили на сборку компьютеров из готовых компонентов. Тогдашние действия Olivetti можно сравнить с HP, три года назад купившей Palm, чтобы затем отказаться от него и перейти на вездесущий Android.
Хаузер тоже не был горд тем, что продал свою компанию. В одном из интервью он сетует: можно было бы поступить, как
IBM, — дать возможность сторонним фирмам производить компоненты и собирать компьютеры. И тогда, возможно, Acorn и ARM, а не IBM и Intel оказались бы в центре новой индустрии. Но нужное решение вовремя принято не было, и стать британским IBM фирме Acorn было не суждено. Зато у Хаузера имелся запасной план.
Братство «проца»
То, что в Olivetti отказались от идеи развивать собственную компьютерную платформу, вовсе не означало погибель для ARM. Хаузер изыскал способ выделить процессорный бизнес в отдельную компанию и нашел двух заинтересованных в этом партнеров. Объединенное предприятие назвали так же, как и архитектуру процессора, — ARM, но расшифровку сменили с Acorn RISC Machines на Advanced RISC Machines.
Кому в тот момент могло понадобиться партнерство с разработчиком процессоров RISC? Очевидно, фирме, выпускающей устройства на их основе. Ей стала Apple: там в 1990 году как раз проектировали будущий наладонник Newton, и процессор ARM отлично годился для него благодаря своей экономичности по отношению к заряду
батареи.
Штаб-квартира ARM в Кембридже
В качестве третьего партнера была выбрана фирма VLSI Technologies. Это прямая наследница VLSI Project, которая занималась проектированием и производством интегральных микросхем. Для будущего совместного предприятия было важно то, что VLSI могла предоставить собственную систему автоматизированного проектирования.
Самой же VLSI был нужен новый заказчик процессоров. Это в чистом виде воплощение идеи Конвея и Мида, когда разработчик и производитель СБИС работают раздельно (а в данном случае даже находятся по разные стороны Атлантического океана). Наученный неудачей Acorn, Хаузер внес еще одну коррективу: вместо того, чтобы выпускать сам продукт, он предложил заниматься исключительно проектированием процессоров и продавать интеллектуальную собственность — то есть дизайны микросхем и лицензии на их производство.
Если Intel знаменита тем, что имеет десятки заводов по всему миру, то у ARM нет ни одного. Это не помешало сегодняшней ARM не только встать в один ряд с Intel и
AMD, но и потихоньку превратиться в серьезную угрозу для них.
Новая жизнь ARM
Бурный рост продаж клонов
IBM PC в девяностые годы сказался на популярности RISC не лучшим образом. Там, где стали заправлять Intel и
Microsoft, альтернативы процессорам семейства
x86 фактически не было. Зато оставались профессиональные применения: серверы и рабочие станции IBM и Sun Microsystems, где используются «рисковые» архитектуры
PowerPC и SPARC соответственно, а также рынок микроконтроллеров, долго служивший для ARM главной статьей дохода.
Первым процессором, дизайн которого выпустили в ARM Holdings после отсоединения от Acorn, стал ARM6, разработанный специально для наладонника Newton и в сотрудничестве с Apple. Впервые спецификация ARM6 была выпущена в 1992 году, а в 1993-м компания объявила о первых прибылях.
С тех пор рост и совершенствование архитектуры ARM не прекращались, а в 1998 году компания успешно вышла на биржу. Тогда же, кстати, Apple продала свою часть акций: для нее это был год тяжелого кризиса, и отказ от доли в ARM помог из него выбраться. Мог ли тогда
Стив Джобс предположить, насколько важной для Apple окажется продукция ARM через десять лет?
Среди клиентов ARM на сегодняшний день числится больше четырех десятков крупных производителей электроники. Процессоры на основе дизайнов ARM можно обнаружить в самых разных устройствах — от
жёстких дисков до автомобилей и от игровых приставок до
фото- и
видеокамер и
телевизоров. Даже в Intel одно время выпускали процессоры на основе ARM (серия называлась XScale, но в 2006 году была продана вместе с подразделением).
Однако самую большую славу ARM принесло развитие мобильных устройств. Apple Newton и наладонники Pocket PC были лишь предисловием к тому, что случилось после выпуска
iPhone в 2007 году и
iPad — в 2010-м. Энергоемкость архитектуры RISC оказалась ключом к строению портативных устройств, и, сколько Intel ни пытается соревноваться с ARM на этом поприще, сделать конкурентоспособный процессор для планшетов и смартфонов на основе x86 пока что не удалось.
Благодаря ARM архитектура RISC наконец получила заслуженную славу, но на этом история вовсе не заканчивается. Специалисты с интересом следят за ростом популярности многопроцессорных серверных решений на основе ARM (их, к примеру, активно внедряют в дата-центрах
Facebook) и обсуждают недавнее появление 64-разрядного ARMv8. Так что будущее ARM видится крайне интересным. Пока что это еще не «британский IBM», о котором мечтал Хаузер, но процветающая фирма, бодро идущая к этому званию.
© Андрей Письменный
Для xakep.ru
В начало