ARM1
ARM1 — это первое поколение микропроцессоров с архитектурой ARM (Acorn RISC Machine), разработанное британской компанией Acorn Computers Ltd. в 1985 году. ARM1 стал первым коммерчески реализованным процессором, использующим сокращённый набор команд (RISC), и заложил основы для всей последующей линейки ARM-процессоров, которые в XXI веке доминируют на рынке мобильных устройств, встраиваемых систем и микроконтроллеров.
История создания
Предпосылки
В начале 1980-х годов компания Acorn Computers, известная своими домашними компьютерами BBC Micro и Acorn Electron, столкнулась с ограничениями процессоров, доступных на рынке. Используемые чипы 6502 (8-битные) и 68000 (16-битные) от Motorola не обеспечивали достаточной производительности для новых задач, таких как графические интерфейсы и многозадачность. Попытки лицензировать архитектуру Intel 80286 или Motorola 68020 оказались неудачными из-за высокой стоимости и сложности интеграции.
Разработка
В 1983 году инженеры Acorn Софи Уилсон и Стив Фербер начали проектирование собственного процессора, вдохновлённого архитектурой RISC, описанной в исследованиях Калифорнийского университета в Беркли (проект RISC-I) и Стэнфордского университета (MIPS). Ключевой идеей было использование минимального набора простых команд, выполняемых за один такт, что позволяло достичь высокой производительности при низком энергопотреблении.
Проект получил кодовое название «Acorn RISC Machine» (ARM). Разработка велась на языке описания аппаратуры (HDL) с использованием симуляторов на BBC Micro. Первый образец ARM1 был изготовлен по технологии 3 мкм (3000 нм) на фабрике VLSI Technology в 1985 году. Чип содержал около 25 000 транзисторов и работал на частоте 6 МГц.
Первое применение
ARM1 не был выпущен в массовое производство как отдельный продукт. Он использовался в качестве тестовой платформы и в составе прототипов для Acorn. Первым коммерческим устройством на базе ARM1 стал компьютер Acorn Archimedes (1987 год), который, однако, уже использовал процессор ARM2 (второе поколение). ARM1 применялся в основном в исследовательских целях и для отладки архитектуры.
Архитектура и характеристики
Основные особенности
ARM1 был 32-битным процессором с полной 32-битной шиной данных и адресации. Его архитектура RISC включала:
- 32 регистра общего назначения (из них 16 доступны программисту в любой момент, остальные — для системных нужд).
- Фиксированная длина команд — 32 бита (все команды занимают одно слово).
- Трёхадресная архитектура — большинство команд оперируют двумя регистрами-источниками и одним регистром-приёмником.
- Отсутствие микрокода — каждая команда выполняется аппаратно за один такт (кроме команд умножения и деления, которые занимали несколько тактов).
Технические характеристики
| Параметр | Значение |
|---|---|
| Технологический процесс | 3 мкм (3000 нм) |
| Количество транзисторов | ~25 000 |
| Тактовая частота | 6 МГц |
| Производительность | ~4–5 MIPS (миллионов инструкций в секунду) |
| Разрядность | 32 бита (данные и адреса) |
| Кэш-память | Отсутствовала (внешняя память через контроллер) |
| Энергопотребление | Около 0,5 Вт (при 6 МГц) |
| Корпус | 84-контактный PLCC (Plastic Leaded Chip Carrier) |
Система команд
Набор команд ARM1 включал около 40 базовых инструкций, разделённых на группы:
- Арифметические и логические (ADD, SUB, AND, OR, XOR, CMP).
- Пересылки данных (LDR — загрузка из памяти, STR — сохранение в память).
- Управления потоком (B — безусловный переход, BL — переход с сохранением адреса возврата, B{cond} — условные переходы).
- Специальные (SWI — программное прерывание, MUL — умножение).
Важной особенностью ARM1 была возможность условного выполнения многих команд (в зависимости от флагов состояния), что позволяло сократить количество ветвлений и повысить производительность.
Отличия от последующих поколений
ARM1 значительно отличался от более поздних ARM-процессоров:
- Отсутствие кэш-памяти — все обращения к памяти происходили через внешний контроллер.
- Простая система прерываний — только один вектор прерывания (IRQ), без поддержки вложенных прерываний.
- Нет блока управления памятью (MMU) — адресация была прямой, без виртуальной памяти.
- Нет конвейера — команды выполнялись последовательно, без конвейерной обработки (в отличие от ARM2, где появился 3-ступенчатый конвейер).
- Отсутствие режимов Thumb и Jazelle — эти расширения появились в более поздних версиях.
Применение и значение
Роль в истории вычислительной техники
ARM1 стал первым шагом к созданию энергоэффективной архитектуры, которая впоследствии определила развитие мобильных и встраиваемых систем. Хотя сам ARM1 не нашёл широкого коммерческого применения, его архитектурные решения (RISC, 32-битные регистры, фиксированная длина команд) были использованы в ARM2, ARM3 и последующих поколениях.
Влияние на индустрию
- Энергоэффективность — ARM1 потреблял значительно меньше энергии, чем конкурирующие процессоры CISC (например, Intel 80386), что сделало архитектуру ARM привлекательной для портативных устройств.
- Лицензирование — успех ARM1 и ARM2 привёл к созданию в 1990 году компании ARM Holdings (изначально Advanced RISC Machines), которая начала лицензировать архитектуру другим производителям (Apple, Texas Instruments, Samsung, Qualcomm и др.).
- Наследие — к 2020-м годам процессоры ARM стали основой для более 95 % всех мобильных устройств, а также широко используются в IoT, автомобильной электронике, сетевом оборудовании и серверах.
Интересные факты
- Название — первоначально аббревиатура ARM расшифровывалась как «Acorn RISC Machine», но после выделения компании в 1990 году была изменена на «Advanced RISC Machines».
- Разработка на BBC Micro — симуляция ARM1 выполнялась на компьютере BBC Micro, который сам был продуктом Acorn, с использованием языка ассемблера и эмулятора.
- Первый патент — архитектура ARM1 была запатентована в 1985 году (патент США № 4,782,447), что защитило ключевые идеи RISC-реализации.
- Сохранившиеся экземпляры — несколько чипов ARM1 сохранились в музеях (например, в Музее науки в Лондоне и в частных коллекциях). Один из них был продан на аукционе в 2019 году за 10 000 фунтов стерлингов.
- Сравнение с современными процессорами — ARM1 имел производительность около 4–5 MIPS, что в тысячи раз меньше, чем у современных ARM-чипов (например, Apple M1 — более 100 000 MIPS), но при этом потреблял в сотни раз больше энергии на единицу производительности.
Критика и ограничения
Несмотря на инновационность, ARM1 имел ряд недостатков:
- Низкая производительность для своего времени — современные процессоры CISC (Intel 80386, Motorola 68020) были быстрее в задачах с интенсивными вычислениями, хотя и потребляли больше энергии.
- Отсутствие поддержки плавающей запятой — все вычисления с плавающей точкой требовали программной эмуляции, что замедляло работу.
- Сложность программирования — из-за отсутствия микрокода и ограниченного набора команд разработчикам приходилось писать более длинные последовательности инструкций для сложных операций.
- Ограниченная экосистема — на момент выпуска ARM1 не было компиляторов, операционных систем или библиотек, оптимизированных под эту архитектуру (всё это появилось позже с ARM2 и Acorn Archimedes).
Источники
- Furber, S. (2000). ARM System-on-Chip Architecture. Addison-Wesley. — ISBN 0-201-67519-6.
- Acorn Computers Ltd. (1985). ARM1 Technical Reference Manual. — Внутренняя документация Acorn.
- Patterson, D. A., & Hennessy, J. L. (2017). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann. — ISBN 978-0-12-812275-4.
- ARM Holdings. (2020). The History of ARM. — Официальный исторический обзор на сайте arm.com.
- Музей науки (Лондон). Acorn ARM1 Processor. — Экспонат и описание.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →