Скачиваний:
80
Добавлен:
01.05.2014
Размер:
817.66 Кб
Скачать
  1. Описание ядра

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

  • поведенческое описание на языке VHDL или Verilog (такие ядра называются синтезируемыми);

  • электрическая схема процессорного ядра;

  • топологическая макроячейка (описание топологии ядра для реализации в составе интегральной микросхемы).

Используя ту или иную форму представления, производители создают различные модели микроконтроллеров, дополняя процессорное ядро набором необходимых периферийных устройств. При изготовлении последних моделей микроконтроллеров используется современная микроэлектронная технология, обеспечивающая минимальные размеры 0,25, 0,18 или 0,13 мкм.

При этом получены характеристики процессорных ядер, приведённые в табл. 1.

Таблица 1. Характеристики процессорных ядер ARM

Ядро

MIPS (Million Instructions Per Second)/МГц

Площадь, мм²

Потребление, мВт/МГц

Тактовая частота

0,25 мкм

ARM7TDMI

0,9

1,02

0,78

60–70

0,18 мкм

ARM7TDMI

0,9

0,59

0,30

80–110

0,13 мкм

ARM7TDMI

0,9

0,30

0,08

100–133

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

В настоящее время самым младшим в ряду процессорных ядер ARM является семейство ARM7 Thumb, которое пришло на смену ARM6 Thumb. Это ядро с 32-разрядной целочисленной RISC-архитектурой, обеспечивающее производительность 130 млн.оп./с. Ядро очень компактно — при производстве по технологии 0,18 мкм базовая модификация ARM7TDMI занимает площадь всего 0,59 мм2, при этом энергопотребление ядра составляет не более 0,25 мВт/МГц.

Ядра семейства ARM7 имеют традиционную архитектуру фон-Неймана с общей памятью команд и данных.

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

  • 32-разрядный RISC процессор (32-разрядные шины данных и адреса) с производительностью 17 MIPS (Million Instructions Per Second) при тактовой частоте 25 МГц (пиковая производительность 25 MIPS).

  • 32-разрядная адресация - линейное адресное пространство в 4 Гбайта - исключает потребность в сегментированной, разделенной на банки или оверлейной памяти.

  • 16 32-разрядный регистр общего назначения и шесть регистров состояния.

  • Регистры адресов, записи и конвейера.

  • Циклическое сдвиговое устройство и умножитель.

  • Трехуровневый конвейер (выборка команды, ее декодирование и выполнение) .

  • Напряжение питания 3,3 и 5 В.

  • Малое потребление 0,6 мА/МГц, при изготовлении по CMOS (Complementary Metal Oxide Semiconductor) технологии с топологическими нормами 0,8 мкм.

  • Полностью статическая схемотехника, позволяющая дополнительно снижать потребление за счет уменьшения тактовой частоты, что идеально для критичных к потреблению применений.

  • Быстрый отклик на прерывания применений реального масштаба времени.

  • Поддержка систем виртуальной памяти.

  • Простая, но мощная система команд.

  • Следует отметить следующие особенности его архитектуры:

  • ядро может функционировать в двух состояниях: ARM и THUMB. В состоянии ARM процессор выполняет 32-разрядные команды, в состоянии THUMB — 16-разрядные команды;

  • наличие трёхступенчатого конвейера позволяет выполнять последовательно поступающие команды, как правило, за один такт (в том числе команды умножения);

  • ядро поддерживает функционирование внешнего сопроцессора;

  • в состав ядра включены отладочные интерфейсы JTAG и ETM.

Основной элемент ЦПУ ARM7 – это конвейер команд, который используется для обработки команд, считанных из памяти программ. Конкретно, в ARM7 реализован терхступенчатый конвейер (рис. 2). Трехступенчатый конвейер является наиболее простой формой конвейеров и не подвержен возникновению различных опасных ситуаций (например, «чтение раньше записи»). Он настолько эффективно ускоряет прохождение команд через ЦПУ ,что большинство команд ARM могут выполняться за 1 такт. Естественно, конвейер наиболее эффективен при реализации линейного кода. Поскольку конвейер является со­ставной частью ЦПУ. он полностью скрыт от программиста. Тем не менее, важно помнить, что значение счетчика команд (Program Counter — PC) на 8 байт превы­шает значение адреса текущей выполняемой команды. В связи с этим необходи­мо аккуратно подходить к вычислению смещений в случае относительной адреса­ции с использованием счетчика команд. Например, команда:

0x40000 LDR РС,[РС,#4]

загрузит в счетчик команд PC содержимое, находящееся по адресу PC + 4. По­скольку PC опережает текущую команду на 8 байт, в него будет загружено содер­жимое по адресу 0х400С, а не 0x4004.

Рис. 2. Конвейер команд