Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADuC70xx_K02.docx
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
1.68 Mб
Скачать

Режим 16-битных команд Thumb (t)

Инструкции процессоров ARM имеют длину 32 бита. Ядро ARM7TDMI поддерживает дополнительную 16-разряднуюкодировку для наиболее часто используемых команд, так называемый набор Thumb. При использовании набора Thumb вместо 32-разрядных инструкций обеспечивается более быстрое исполнение команд из 16-разрядной памяти и более высокая плотность кода, что делает процессор ARM7TDMI особенно привлекательным для встроенных систем. Время исполнения отдельной команды одно и то же, независимо от вида кодировки.

Однако режим Thumb вносит два ограничения:

В программе Thumb больше инструкций (в штуках), чем в эквивалентной программе, написанной в кодах ARM, для того же алгоритма, поэтому программа ARM выполняется быстрее и лучше подходит для тех участков кода, где требуется высокая скорость исполнения (например, для обработчиков прерывания);

В набор инструкций Thumb не входят некоторые инструкции, необходимые для управления исключительными ситуациями, поэтому ядро будет в таких случаях автоматически переключаться в режим ARM.

Для более детального ознакомления с архитектурой ядра, программной моделью и наборами инструкций ARM и Thumb обращайтесь к руководству "ARM7TDMI UserGuide".

Умножение 32-разрядных чисел (m)

В набор команд ARM7TDMI входят четыре дополнительных команды, позволяющие перемножать 32-битные числа и получать 64-битный результат, а также выполнять 32-битную операцию MAC (умножение с накоплением) с 64 разрядным результатом. Этот результат получается за меньшее число циклов, чем в стандартном ядре ARM7.

Встроенный отладчик EmbeddedIce (I)

Система EmbeddedICE представляет собой интегрированную в микросхему систему доступа к ядру.

Модуль EmbeddedICE содержит регистры точек останова и точек ожидания и позволяет останавливать выполнение программы в процессе отладки. Эти регистры управляются через интерфейс JTAG. Если программа доходит до точки останова или ожидания, процессор останавливается и переходит в режим отладки. В состоянии отладки имеется доступ к регистрам процессора, к памяти флэш/EE, к памяти SRAM, а также к отображённым в памяти регистрам.

Исключения

Ядро ARM поддерживает пять типов исключений и привилегированный режим обработки для каждой ситуации. Это следующие типы ситуаций:

  • Обычное прерывание (IRQ). Предназначено для обслуживания внутренних или внешних прерываний общего назначения;

  • Быстрое прерывание (FIQ). Предназначено для обслуживания передачи данных или каналов связи с малой задержкой. FIQ обладает приоритетом перед IRQ;

  • Сбой памяти

  • Попытка выполнить неопределенную команду;

  • Программное прерывание (SWI), оно может использоваться для вызова операционной системы.

Обычно программист использует прерывания типа IRQ, но если нужен более высокий приоритет и более быстрая реакция, применяются прерывания типа FIQ.

Регистры arm

В процессоре ARM7TDMI имеется в общей сложности 37 регистров размером в 32 бита (4 байта), из которых 31 регистр общего назначения и 6 – регистры статуса. Для каждого режима работы имеется соответствующий банк регистров.???

При написании пользовательской программы используются 15 четырехбайтовых регистров общего назначения (R0…R14), программный счетчик (R15) и регистрсостояния (CPSR – CurrentProgramStatusRegister). Остальные регистры используются только для системного программирования и для управления исключительными ситуациями.

В случае исключительной ситуации некоторые из стандартных регистров замещаются специальными регистрами, предназначенными для данного режима. Для каждого режима имеется свой банк регистров, замещающий указатель стека (R13) и регистр связи (linkregister, R14), как показано на рис. 3. Для работы в режиме быстрого прерывания (FIQ) имеются также регистры R8…R12, таким образом обработка прерывания может начинаться без сохранения или восстановления этих регистров, что существенно сокращает время обработки прерывания.

Более подробное описание программной модели и архитектуры ядра ARM7TDMI имеется в следующих документах фирмы ARMLtd:

DDI0029G, ARM7TDMI Technical Reference Manual.

DDI0100E, ARM Architecture Reference Manual.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]