Архитектура ядра ARM7TDMI
Микропроцессор отладка аппаратный Процессор ARM7TDMI поддерживает два набора инструкций: 32-разрядное сдвиговое устройство и арифметико-логического устройство (АЛУ). Более высокую производительность по сравнению с 16-разрядной архитектурой. Более высокую плотность кода по сравнению с 32-разрядной архитектурой. Thumb наследует все преимущества 32-разрядного ядра: Пересылка в память 32-разрядных… Читать ещё >
Архитектура ядра ARM7TDMI (реферат, курсовая, диплом, контрольная)
микропроцессор отладка аппаратный Процессор ARM7TDMI поддерживает два набора инструкций:
- · 32-разрядный набор инструкций ARM;
- · 16-разрядный набор инструкций Thumb.
Процессор ARM7TDMI является разновидностью архитектуры ARMv4T. Более детально о наборах инструкций ARM и Thumb можно узнать в «ARM Architecture Reference Manual» (справочное руководство по архитектуре ARM).
В данном разделе описывается:
- · Сжатие инструкций;
- · Набор инструкций Thumb.
Сжатие инструкций.
Микропроцессорные архитектуры, как правило, используют набор инструкций той же разрядности, что и данные. Следовательно, 32-разрядные архитектуры обладают улучшенными характеристиками обработки 32-разрядных данных и могут более эффективно адресовать большие адресные пространства по сравнению с 16-разрядными архитектурами. 16-разрядные архитектуры в большинстве случаев обладают более высокой плотностью кода, но приблизительно вдвое уступают по производительности.
Thumb реализует 16-разрядный набор инструкций в составе 32-разрядной архитектуры, который обеспечивает:
- · более высокую производительность по сравнению с 16-разрядной архитектурой
- · более высокую плотность кода по сравнению с 32-разрядной архитектурой.
Набор инструкций Thumb.
Набор инструкций Thumb является выборкой наиболее часто используемых 32-разрядных инструкций ARM. Thumb-инструкции характеризуются размером 16 бит и имеют соответствующую 32-разрядную инструкцию ARM. Соответствующие инструкции оказывают одинаковое влияние на модель процессора. Thumb-инструкции работают со стандартной конфигурацией ARM-регистра, обеспечивая превосходное взаимодействие между состояниями ARM и Thumb.
В процессе выполнения 16-разрядная инструкция подвергается декомпрессии в реальном времени до полных 32-разрядных инструкций ARM без потери производительности.
Thumb наследует все преимущества 32-разрядного ядра:
- · 32-разрядное адресное пространство.
- · 32-разрядные регистры.
- · 32-разрядное сдвиговое устройство и арифметико-логического устройство (АЛУ).
- · Пересылка в память 32-разрядных данных.
Следовательно, инструкции Thumb характеризуются большим диапазоном перехода, мощными арифметическими операциями и большим адресным пространством.
Код Thumb обычно занимает 65% от ARM-кода и достигает 160% производительности ARM-кода при исполнении из 16-разрядной системы памяти. Следовательно, Thumb, делает ядро ARM7TDMI идеально подходящим во встраиваемые приложения, где в качестве критичных параметров выступают плотность кода и габариты.
Доступность обоих наборов инструкций, 16-разрядного Thumb и 32-разрядного ARM, дает разработчикам гибкость по оптимизации быстродействия или размера кода на уровне процедуры в соответствии с требованиями к их приложению. Например, критические циклы в таких приложениях, как обработка часто возникающих прерываний и алгоритмы цифровой обработки сигналов, могут кодироваться с помощью полных ARM-инструкций, а затем линкована Thumb-кодом.