Основные характеристики ядра ARM7
- 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) и стандартных библиотечных ячеек периферии.
Общим для всех трех микропроцессоров является использование ядра ARM7, встроенного единого кэш команд и данных емкостью 8 Кбайт (ARM7100) и 4 Кбайт (ARM7500 и ARM7500FE), MMU, буфера записи, наличие режимов энергосбережения.
Основные характеристики:
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 системе команд. До настоящего времени эта технология считается лучшей из технологий, использующих сжатые системы команд.