Микроконтроллеры

ARM процессоры

На рынке процессоров сегодня соседствуют множество различных моделей микросхем. При этом их все можно отнести к нескольким разным группам. Одной из таких групп можно назвать ARM-процессоры.  Сегодня эта архитектура чрезвычайно популярна для мобильных приложений, но ее успешное развитие постепенно приводит к появлению и  других устройств.

Аббревиатура ARM расшифровывается как Acorn RISC Machine или усовершенствованная RISC-машина. Конструктивно эти процессоры построены по 32-разрядной RISC-архитектуре.  Изначально процессоры ориентировались на рынок специализированных и встраиваемых применений, поэтому по сравнению с архитектурой х86 имеют меньшую производительность и универсальность, зато обладают множеством других достоинств.

Популярность архитектуры ARM обусловлена тем, что фирма разработчик ARM Limited занимается только проектированием процессоров. Доработку под конкретные цели и производство микросхем осуществляют другие компании по специальной лицензии.  Такой подход позволил разработчикам создавать удачные процессорные ядра с отличными характеристиками, а производителям получить готовые устройства с минимальными затратами на разработку. В итоге сегодня можно найти огромное количество различных микросхем, иногда с полностью отличающимися возможностями, но имеющими в основе ARM-ядро.

Процессоры ARM конструктивно имеют множество особенностей, существенно выделяющих их из ряда подобных разработок. Использование RISC-архитектуры и оптимизированная система команд позволили ARM создавать процессорные ядра с малым числом транзисторов, что обеспечивает низкую стоимость и малое энергопотребление. Предикатное исполнение команд позволяет избежать многих «близких» условных переходов внутри программы, и как следствие улучшить быстродействие. Этому же способствует и оптимизированная система команд, намного более эффективная, чем у других разработчиков.

Также ARM процессоры могут содержать и другие интересные решения. В зависимости от модели процессора в нем могут применяться специализированные блоки и модули. Например, блок Thumb, позволяет процессору использовать не 32 а 16 разрядные инструкции и соответственно повысить плотность программного кода. Блок Jazelle позволяет исполнять байт-код языка Java. Также имеются и другие расширения процессора ARM.

В виду того, что процессоры ARM постоянно развиваются и при этом предназначаются для использования в различных устройствах, существует множество версий данной архитектуры. Некоторые из этих версий развиваются параллельно. При этом в обозначениях процессоров имеется некоторая путаница. Это связано с практически одинаковым обозначением номера архитектуры ядра и семейства процессоров. Первое в воем составе имеет букву v (ARMv4), второе просто обозначается цифровым индексом. Сегодня наиболее распространены семейства ARM7, ARM9, ARM11, Cortex. ARM стала первой 32-разрядной архитектурой, получившей широкое распространение в микроконтроллерах. Учитывая особенности реализации процессоров для разных устройств, разработчики ввели обозначения, позволяющие определить нацеленность процессора. Существуют три базовых направления:

A – Ядра для классического применения

M – Ядра для микроконтроллеров

R – Ядра для встраиваемых систем, работающих в режиме реального времени.

Внутрифирменная маркировка разработчиков предусматривает отображение большого количества информации. Выглядит эта маркировка следующим образом: ARM[NN][R][Z][Ext]. Здесь:

NN – номер семейства

R – тип блока защиты или управления памятью

Z – кэш-память

Ext – расширения процессора. В настоящее время имеются следующие варианты: T – поддержка режима Thumb; D – JTAG порт; M – быстрый умножитель; I – встроенный блок эмуляции; E – расширенный набор инструкций (подразумевает обязательное наличие функций TDMI, поэтому в случае использования индекса E индексы TDMI из названия опускаются); J – поддержка Java инструкций (режим Jazelle); F – блок векторной арифметики над числами с плавающей точкой; S – синтезируемая версия (поставляется производителю кристалла в виде исходного текста, требующего компиляции (синтеза), в отличие от несинтезируемых версий, которые имеют заданную и неизменяемую топологию).

Например, процессорное ядро ARM7TDMI принадлежит семейству ARM7, не имеет кэш-памяти и блока защиты памяти, поддерживает набор 16-разрядных команд, оснащено JTAG-отладчиком, имеет встроенные средства аппаратного умножения и блок эмуляции.

You have no rights to post comments