Стек подпрограмм и прерываний, память данных, Время выполнения команд - Программа для управления регулятором скорости вращения двигателя

Для обработки прерываний и вызовов подпрограмм AT90S1200 использует 3-х уровневый аппаратный стек. Аппаратный стек имеет ширину 9 бит и сохраняет значение программного счетчика - адрес возврата из подпрограмм и программ обслуживания прерываний.

Команда RCALL и прерывания записывают значение программного счетчика на 0 уровень стека. Данные, хранящиеся в стеке на уровнях 1 и 2, сдвигаются на один уровень вглубь. При выполнении команды RET или RETI значение программного счетчика выбирается с 0-го уровня стека, данные с уровней 1 и 2 сдвигаются на один уровень вверх.

При вызове более 3-х подпрограмм или прерываний, в стеке сохраняются только 3 последних адреса.

память данных

AT90S1200 содержит 64 байта электрически стираемой энергонезависимой памяти (EEPROM). EEPROM организована как отдельная область данных, каждый байт которой может быть прочитан и перезаписан. EEPROM выдерживает не менее 100000 циклов записи/стирания. Доступ к энергонезависимой памяти данных задается регистром адреса, регистром данных и управляющим регистром.

Время выполнения команд

ЦПУ процессора AVR управляется системной частотой генерируемой внешним резонатором. Внутреннее деление частоты генератора не используется.

В процессоре организован буфер (pipeline) команд, при выборе команды из памяти программ происходит выполнение предыдущей команды. Подобная концепция позволяет достичь быстродействия 1MIPS на МГц..

Похожие статьи




Стек подпрограмм и прерываний, память данных, Время выполнения команд - Программа для управления регулятором скорости вращения двигателя

Предыдущая | Следующая