
Нынешний мейнстрим среди бытовой техники и электроники наберает все большие и боьшие обороты. Процессор с тактовой частотой в 1 Ггц в устройстве вмещающемся в карман штанов уже не мечта а реальность. Действительно уже немало анонсов подобных смартфонов/коммуникаторов впечатляще мощной вычислительной базой а так же неплохими инными характеристиками. И вот мне стало как же эти мобильные процессоры работют, а именно процессор находящийся внутри моего мобильного компаньйона построенный на основе архитектуры ARM — Samsung S3C2440.
Архитектура ARM (ранее Advanced RISC Machine — усовершенствованная RISC-машина, предшественник — Acorn RISC Machine) — 32-битная микропроцессорная архитектура с сокращённым набором команд (RISC), разрабатываемая ARM Limited. Данные процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и доминируют на рынке мобильных устройств, для которых важно низкое энергопотребление.
Процессор базируеться на ядре Arm 9.
Общие характеристики:
Семейство Версия архитектуры Кэш (I/D)/MMU Типичная MIPS при MHz
ARM9E ARMv5TEJ 16 KB/16 KB, 220 MIPS @ 200 MHz,
Уже давно существует «справочное руководство по архитектуре ARM» которое разграничивает все типы интерфейсов которые поддерживает ARM так как детали реализации каждого типа процессора могут отличаться. Архитектура развивалась с течением времени и начиная с ARMv7 были определены 3 профиля: ‘A’(application)-приложения, ‘R’(real time)- в реальном времени,’M’(microcontroller)-микроконтроллер.
Профили могут поддерживать меньшее количество команд(команды определенного типа).
Архитектура ARM содержит следующие особенности RISC:
Архитектура загрузки/хранения
Нет поддержки нелинейного (не выровненного по словам) доступа к памяти(теперь поддерживается в процессорах ARMv6 за некоторыми исключениями)
Равномерный 16х32- битный файл регистра
Фиксированная длина команд (32 бита) для упрощения декодирования за счет снижения плотности кода. Позднее режим Thumb повысил плотность кода.
Одноцикловое исполнение
Чтобы компенсировать простой дизайн, в сравнении с современными процессорами вроде Intel 80286 или Motorola 68020 были использованы некоторые особенности дизайна:
Арифметические инструкции заменяют условные коды только когда это необходимо
32-битное многорегистровое циклическое сдвиговое устройство, которое может быть использовано без потерь производительности в большинстве арифметических инструкций и адресных расчетов.
Мощные индексированные адресные режимы
Регистр ссылок для быстрого вызова функций листьев
Простые, но быстрые, с двумя уровнями приоритетов подсистемы прерываний с включенными банками регистров.