Открыть сервис

Архитектура ARM7

ARM7 — это семейство 32-битных микропроцессорных ядер, разработанных британской компанией ARM Holdings (ныне Arm Ltd.) на основе архитектуры ARMv4 и ARMv5. Ядра ARM7 относятся к классу RISC-процессоров (Reduced Instruction Set Computer) и характеризуются низким энергопотреблением, высокой производительностью на такт и компактностью кода. Семейство ARM7 было одним из самых популярных в мире встраиваемых систем, мобильных устройств и микроконтроллеров с середины 1990-х до конца 2000-х годов.

История

Разработка архитектуры ARM7 началась в начале 1990-х годов как продолжение успешной линейки ARM6. Первое ядро ARM7, ARM7TDMI, было представлено в 1994 году. Оно стало базовым для многих последующих реализаций. Название ARM7TDMI расшифровывается как: ARM7 — номер поколения, T — Thumb (16-битный набор команд), D — Debug (отладка), M — Multiplier (аппаратный умножитель), I — EmbeddedICE (встроенная эмуляция и отладка).

В 1995 году компания ARM Holdings лицензировала ядро ARM7TDMI компании Texas Instruments, что положило начало массовому использованию этой архитектуры в мобильных телефонах, в частности, в серии Nokia 6110. В 1996 году вышло ядро ARM710, интегрированное в однокристальные системы. В 1998 году ARM7TDMI стал основой для процессора Intel StrongARM, который использовался в карманных компьютерах (PDA) и сетевом оборудовании.

В 2000-х годах ARM7 был вытеснен более производительными ядрами ARM9 и ARM11, но оставался востребованным в простых микроконтроллерах и датчиках до конца 2010-х годов. В 2023 году ARM Holdings прекратила поддержку архитектуры ARM7, сосредоточившись на ARM Cortex-M и Cortex-A.

Архитектура и особенности

Основные характеристики

  • Разрядность: 32-битная архитектура с 32-битными регистрами, шиной данных и адреса.
  • Набор команд: Поддерживает как 32-битные инструкции ARM, так и 16-битные инструкции Thumb (в ядрах с суффиксом T). Thumb-режим позволяет уменьшить размер кода на 30–40 % за счёт снижения производительности.
  • Регистровый файл: 16 регистров общего назначения (R0–R15), включая указатель стека (SP), счётчик команд (PC) и регистр состояния (CPSR).
  • Конвейер: 3-ступенчатый конвейер (выборка, декодирование, выполнение) в ядрах ARM7TDMI; в более поздних версиях — до 5 ступеней.
  • Тактовая частота: Обычно от 20 до 100 МГц в зависимости от техпроцесса и производителя.
  • Энергопотребление: Менее 0,5 мВт/МГц в режиме активной работы, что делает ARM7 пригодным для батарейных устройств.

Режимы работы

ARM7 поддерживает 7 режимов работы процессора, включая пользовательский (User), системный (System), режимы прерываний (IRQ, FIQ), а также режимы исключений (Undefined, Abort, Supervisor). Переключение режимов происходит при выполнении инструкций SWI (Software Interrupt) или при возникновении аппаратных прерываний.

Исключения и прерывания

Архитектура ARM7 имеет векторизованную систему прерываний с фиксированными адресами векторов в памяти (например, 0x00000000 для сброса, 0x00000008 для прерывания IRQ). Вектор прерываний может быть перемещён в высокую память (0xFFFF0000) с помощью регистра VBAR (Vector Base Address Register) в некоторых реализациях.

Классификация ядер ARM7

Семейство ARM7 включает несколько ключевых ядер, различающихся производительностью, функциональностью и областью применения:

  • ARM7TDMI — базовое ядро с поддержкой Thumb, отладки и умножения. Использовалось в мобильных телефонах, MP3-плеерах, игровых консолях (Game Boy Advance).
  • ARM7TDMI-S — синтезируемая версия ARM7TDMI, оптимизированная для реализации на ПЛИС (FPGA) и ASIC.
  • ARM720T — ядро с интегрированным кэшем инструкций (8 КБ) и кэшем данных (8 КБ), а также с MMU (Memory Management Unit) для поддержки операционных систем (Linux, Windows CE).
  • ARM710T — упрощённая версия ARM720T без MMU, но с кэшем.
  • ARM7EJ-S — ядро с поддержкой Java-ускорения (Jazelle) и DSP-инструкций.
  • ARM7S — вариант с поддержкой синхронного последовательного интерфейса (SSP).

Применение

Мобильные устройства

ARM7TDMI был основным процессором в мобильных телефонах конца 1990-х — начала 2000-х годов, таких как Nokia 3310, Siemens C35, Motorola V60. Он обеспечивал выполнение базовых функций: обработка звонков, SMS, работа с меню и проигрывание мелодий.

Встраиваемые системы

ARM7 широко применялся в:

  • Микроконтроллерах: Например, семейство LPC2000 от NXP (Philips) на базе ARM7TDMI-S, использовавшееся в промышленной автоматике, автомобильной электронике и бытовой технике.
  • Сетевом оборудовании: Маршрутизаторы, коммутаторы, точки доступа Wi-Fi (например, Linksys WRT54G с процессором Broadcom BCM4702 на ARM7).
  • Медицинских приборах: Кардиомониторы, портативные анализаторы крови.
  • Игровых консолях: Nintendo Game Boy Advance (2001) использовал процессор ARM7TDMI с частотой 16,78 МГц.

Автомобильная электроника

ARM7 применялся в блоках управления двигателем (ECU), системах ABS, панелях приборов и мультимедийных системах. Например, чип Renesas SH-2 на ARM7 использовался в автомобилях Toyota и Nissan.

Программная поддержка

ARM7 поддерживается большинством популярных операционных систем реального времени (RTOS), таких как FreeRTOS, µC/OS-II, ThreadX, а также полноценными ОС — Linux (сборки для ARM7), Windows CE, Symbian OS. Для разработки программного обеспечения используются компиляторы GCC (arm-none-eabi-gcc), Keil MDK, IAR Embedded Workbench.

Критика и ограничения

Несмотря на успех, архитектура ARM7 имела ряд недостатков:

  • Отсутствие кэша в базовых ядрах: ARM7TDMI не имел встроенного кэша, что приводило к снижению производительности при работе с памятью.
  • Ограниченная производительность: 3-ступенчатый конвейер и отсутствие суперскалярности делали ARM7 медленнее конкурентов (например, MIPS32 или PowerPC).
  • Устаревшая система прерываний: Векторизованная система с фиксированными адресами усложняла реализацию многозадачности.
  • Энергопотребление: Хотя ARM7 был энергоэффективным для своего времени, современные ядра Cortex-M потребляют на порядок меньше энергии.

Интересные факты

  • ARM7TDMI стал первым процессором, в котором была реализована технология Thumb, позволяющая уменьшить размер кода без потери функциональности.
  • Процессор Intel StrongARM (SA-1100) на базе ARM7 работал на частоте до 233 МГц и использовался в КПК Compaq iPAQ.
  • В 2001 году ARM7TDMI был установлен на борту космического аппарата Mars Odyssey, где использовался для управления научными приборами.
  • Суммарный объём продаж лицензий на ядра ARM7 превысил 10 миллиардов единиц к 2010 году.

Источники

  • ARM Architecture Reference Manual (ARM DDI 0100E)
  • Steve Furber. ARM System-on-Chip Architecture (2nd edition). Addison-Wesley, 2000.
  • Andrew N. Sloss, Dominic Symes, Chris Wright. ARM System Developer’s Guide. Morgan Kaufmann, 2004.
  • Документация ARM Holdings: ARM7TDMI Technical Reference Manual (ARM DDI 0210C)
  • Журнал «Компоненты и технологии» (2005–2010), статьи о микроконтроллерах на ARM7.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →