32-разрядный RISC процессор (32-разрядные шины данных и адреса) с производительностью 17 MIPS при тактовой частоте 25 МГц (пиковая производительность 25 MIPS)
32-разрядная адресация - линейное адресное пространство в 4 Гбайта - исключает потребность в сегментированной, разделенной на банки или оверлейной памяти
Тридцать один 32-разрядный регистр общего назначения и шесть регистров состояния
Регистры адресов, записи и конвейера
Циклическое сдвиговое устройство и перемножитель
Трехуровневый конвейер (выборка команды, ее декодирование и выполнение)
Рабочие режимы Big Endian и Little Endian
Напряжение питания 3, 3 и 5 В
Малое потребление 0, 6 мА/МГц, при изготовлении по CMOS технологии с топологическими нормами 0, 8 мкм.
Полностью статическая работа, позволяющая дополнительно снижать потребление за счет уменьшения тактовой частоты, что идеально для критичных к потреблению применений
Быстрый отклик на прерывания применений реального масштаба времени
Поддержка систем виртуальной памяти
Простая но мощная система команд
Необходимо отметить, что перевод ядра на технологию с уменьшенными топологическими нормами позволяет как повысить его производительность, так и еще больше снизить потребление.
Блок-схема ядра ARM7
32-разрядная система команд ядра ARM7 содержит одиннадцать базовых типов команд:
Два типа используют встроенное арифметико-логическое устройство, циклическое сдвиговое устройство и умножитель при операциях над данными в банке из 31 регистра, форматом по 32 разряда каждый;
Три класса команд управления перемещением данных между памятью и регистрами, один оптимизированный на обеспечение гибкости адресации, другой под быстрое контекстное переключение и третий под подкачку данных;
Три команды управляют потоком и уровнем привилегии выполнения;
Три типа предназначены для управления внешними сопроцессорами, что позволяет расширить функциональные возможности системы команд за пределами ядра.
Система команд ARM хорошо обрабатывается компиляторами языков высокого уровня. В отличие от некоторых RISC процессоров, процессор ARM7, при возникновении необходимости в некотором уменьшении объема кодов, допускает программирование и на ассемблере.
Предоставляя, на лицензионной основе, ядро ARM7 своим кремниевым партнерам фирма ARM на основе разработала микроконтроллеры ARM7100, ARM7500 и ARM7500FE и, пожалуй, небольшое описание этих микроконтроллеров позволит оценить возможности, предоставляемые ядром ARM7.
Микроконтроллер ARM7100 можно назвать микроконтроллером широкого применения, поскольку он ориентирован на использование в таких устройствах как: персональные информационные устройства (PDA) и органайзеры, интеллектуальные мобильные телефоны и многофункциональные пейджеры, карманные измерительные устройства и системы сбора данных - в двух словах - от карманных игр до офисного оборудования. Микроконтроллер организован по модульному принципу с использованием внутренней шины AMBA, организующей взаимодействие ядра со стандартными библиотечными ячейками периферии.
Два других микроконтроллера ARM7500 и ARM7500FE являются однокристальными микрокомпьютерами, ориентированными реализацию мультимедиа устройств, портативных и настольных компьютеров, карманных вычислительных и измерительных устройств, интерактивных приставок цифрового TV, игровых консолей. Эти два микроконтроллера отличаются друг от друга наличием в приборе ARM7500FE ускорителя операций с плавающей точкой (FPA) и, соответственно, его более высокой производительностью. Они также реализованы по модульному принципу и объединяют ядро ARM7 с самодостаточными макроячейками видео, звука, FPA (ARM7500FE) и стандартных библиотечных ячеек периферии.
Общим для всех трех микроп
Основные характеристики:
ARM7100
Производительность 18, 4 MIPS при тактовой частоте 18, 4 МГц и напряжении питания 3, 3 В
Потребление 66 мВт при напряжении питания 3, 3 В
Встроенный единый кэш команд и данных емкостью 8 Кбайт
Интерфейс ROM и расширения (сегменты 8x256 Мбайт 8-, 16- и 32-разрядные)
Контроллер DRAM с поддержкой быстрого страничного режима (8-, 16- и 32-разрядных)
Адресуемое пространство в 3072 Мбайт
Порты I/O (4x8 + 1x4)
Телефонный CODEC интерфейс с FIFO на 16 байт
Программируемый контроллер LCD (halfVGA - 640x240) с поддержкой DMA
Полнодуплексный UART с двумя 16-разрядными FIFO и логикой протокола IrDA
Синхронный последовательный интерфейс
Два 16-разрядных таймера/счетчика и сторожевой таймер
Часы реального времени с компаратором
Два интерфейса с DC-DC преобразователями
Корпус PQFP с 208 выводами
ARM7500
Производительность 30 Dhrystone 2.1 MIPS при тактовой частоте 33 МГц и напряжении питания 5 В
Потребление 680 мВт при напряжении питания 5 В и работе на драйвер SVGA монитора
Встроенный единый кэш команд и данных емкостью 4 Кбайта
Прямое подсоединение ROM и быстрый страничный режим DRAM (16- и 32-разрядных)
Адресуемое пространство в 288 Мбайт
Трехканальный контроллер DMA (видео, курсор и звук) с производительностью 63, 6 Мбайт/с
Контроллер I/O, поддерживающий AT-PC шину и подключение PCMCIA
Два последовательных порта (клавиатура/мышь)
Четырехканальный ADC (подключение джойстика)
Система обработки звука с качеством CD и 8-канальный стерео выход
Видеоконтроллер с частотой пикселей 120 МГц и разрешением SVGA/SGA (1024x768)
8-разрядные DAC (R, G, B) для управления драйвером CRT
Формирователь сигнала с 16 уровнями серого для LCD дисплея
Корпус PQFP с 240 выводами
ARM7500FE - характеристики аналогичны характеристикам ARM7500 за исключением:
Производительность 36, 3 Dhrystone 2.1 MIPS при тактовой частоте 40 МГц и напряжении питания 5 В
Потребление 800 мВт при напряжении питания 5 В и работе на драйвер SVGA монитора
Встроенный ускоритель операций с плавающей точкой (FPA), совместимый с IEEE 754-1985, обеспечивающий 5, 7 млн циклов SAXPY и до 6 MFLOP Linpack (на частоте 40 МГц)
Пиковая полоса пропускания памяти 128 Мбайт/с
Исключен аналоговый порт звука
Уровень интеграции функций на одном кристалле иллюстрируется блок-схемой микроконтроллеров ARM7500 и ARM7500FE.
Примечание: FPA размещен только в приборе ARM7500FE.
Как видно из выше перечисленного, на основе ядер ARM7 реализуются достаточно мощные и сложные приборы, по своей производительности приближающиеся к производительности рабочих станций недавнего прошлого, что обеспечивается высокопроизводительным RISC ядром и мощной 32-разрядной ARM системой команд.
Необходимо отметить, что программы, подготовленные даже для довольно эффективной 32-разрядной ARM системы команд, требуют памяти значительного объема, что в свою очередь приводит к росту общей стоимости системы. Специалисты фирмы ARM предложили решение этой проблемы, разработав и внедрив технологию Thumb, технологию, позволяющую существенно сократить объем кодов, необходимых для реализации той же программы, что выполняется на 32-разрядной ARM системе команд. До настоящего времени эта технология считается лучшей из технологий, использующих сжатые системы команд.