Помощь в учёбе, очень быстро...
Работаем вместе до победы

Регистры. 
Исследование архитектуры процессоров ARM7TDMI и мобильных устройств на его основе

РефератПомощь в написанииУзнать стоимостьмоей работы

Во всех остальных случаях регистр r14 может использоваться как регистр общего назначения. Соответствующие банкированные регистры r14_svc, r14_irq, r14_fiq, r14_abt и r14_und аналогичным образом используются для запоминания значений возврата r15 при возникновении прерываний и исключительных ситуаций или при выполнении инструкции BL внутри процедур обработки прерываний или исключительных ситуаций… Читать ещё >

Регистры. Исследование архитектуры процессоров ARM7TDMI и мобильных устройств на его основе (реферат, курсовая, диплом, контрольная)

Процессор ARM7TDMI содержит всего 37 регистров:

  • · 31 32-разрядных регистра общего назначения
  • · 6 регистров статуса.

Не все регистры доступны в одно и тоже время. Доступность регистров для программиста зависит от состояния процессора и рабочего режима.

Набор регистров в состоянии ARM.

В состоянии ARM доступны 16 регистров общего назначения, один или два регистра статуса. В привилегированных режимах становятся доступными специфические банки регистров. На рисунке 2.3 демонстрируется, какие регистры доступны в каждом режиме.

В набор регистров в состоянии ARM входят 16 регистров r0… r15. Еще один регистр, CPSR, содержит флаги условия кода и биты текущего режима. Регистры r0… r13 являются регистрами общего назначения и могут использоваться как для хранения данных, так и для хранения адреса. Регистры r14 и r15 выполняют следующие специальные функции:

Регистр связи.

Регистр 14 используется как регистр связи (LR) подпрограммы.

Регистр r14 принимает копию регистра r15 при выполнении инструкции переход по ссылке (BL).

Во всех остальных случаях регистр r14 может использоваться как регистр общего назначения. Соответствующие банкированные регистры r14_svc, r14_irq, r14_fiq, r14_abt и r14_und аналогичным образом используются для запоминания значений возврата r15 при возникновении прерываний и исключительных ситуаций или при выполнении инструкции BL внутри процедур обработки прерываний или исключительных ситуаций.

Счетчик программы.

Регистр 15 хранит значение PC.

В состоянии ARM биты [1:0] регистра r15 имеют неопределенное значение и должны игнорироваться. Биты [31:2] содержат значение PC.

В состоянии Thumb бит [0] имеет неопределенное значение и должен игнорироваться. Биты [31:1] содержат значение PC.

Регистр r13 iиспользуется в качестве указателя стека (SP).

В привилегированных режимах доступен еще один регистр — регистр хранения статуса программы (SPSR). Он содержит флаги кода условия и биты режима, являющиеся результатом исключительной ситуации, которое вызвало вхождение в текущий режим.

Банки регистров — дискретные физические регистры в ядре, которые находятся в позициях доступных регистров в зависимости от текущего рабочего режима процессора. Содержимое банкированного регистра запоминается при изменениях рабочих режимов.

В режиме FIQ имеется семь банкированных регистров в позициях r8-r14 (r8_fiq-r14_fiq).

В состоянии ARM несколько обработчиков быстрых прерываний (FIQ) не должны выполнять запись в какой-либо регистр.

В режимах пользователя, IRQ, супервизорном, аварийном и неопределенном имеется два банкированных регистра в позиции r13 и r14, позволяя хранить собственное значение SP и LR в каждом режиме.

В системном режиме используются те же регистры, что и в режиме пользователя.

На рисунке 7 представлены регистры для состояния ARM.

Организация регистров в состоянии ARM.

Рисунок 7. Организация регистров в состоянии ARM.

Набор регистров в состоянии Thumb.

Набор регистров в состоянии Thumb является поднабором по отношению к набору регистров в состоянии ARM. Программист имеет доступ к:

  • · 8 регистрам общего назначения r0-r7
  • · Счетчику программ PC
  • · Указателю стека SP
  • · Регистру связи LR
  • · Регистру текущего состояния программы CPSR.

В каждом привилегированном режиме имеются банкированные регистры SP, LR и SPSR. Данный набор регистров показан на рисунке 8.

Организация регистров в состоянии Thumb.

Рисунок 8. Организация регистров в состоянии Thumb.

Показать весь текст
Заполнить форму текущей работой