
- •1.Способы организации реакции процессора на внешние события.
- •2. Механизм обслуживания прерывания.
- •3. Особенности подпрограмм обработки прерываний.
- •4. Приоритеты прерываний, маскирование прерываний, флаги прерываний.
- •7. Опишите процесс вызова подпрограммы и возврата из неё.
- •9.Способы передачи параметров в подпрограммы, возвращения результата, сохранения контекста вызывающей программы.
- •10.Способы реализации стека для хранения адреса возврата из подпрограммы. Проблемы, связанные с использованием стека.
- •11.Какими средствами можно установить, сбросить, инвертировать значения отдельных битов регистров общего назначения?
- •12.Какими средствами можно установить, сбросить, инвертировать значения отдельных битов регистров ввода/вывода?
- •13.Почему для каждого порта ввода-вывода 3 регистра?
- •18. Сколько регистров имеют микроконтроллеры семейства avr?
- •19.Что такое risc-архитектура. Какие у неё достоинства?
- •20. Каким образом осуществляется доступ к регистрам, пространству ввода вывода, памяти данных?
- •22.Какие источники сброса есть у микрокантролеров avr?
- •24.Что такое шим?
- •25.Для чего нужен сторожевой таймер?
- •26.Что такое uart?
- •27.Как рассчитывается скорость передачи данных uart?
1.Способы организации реакции процессора на внешние события.
Имеется необходимость во взаимодействии процессора с внешним миром, его реакциях на внешние события. К организации этого взаимодействия можно подойти следующими способами:
– процессор может периодически опрашивать состояния внешних входов, периферийных устройств и т. п. Такую чисто программную обработку внешних событий называют поллингом.
– процессор может быть дополнен узлом, который независимо от самого процессора опрашивает состояния входов и периферийных устройств. В случае обнаружения какого-либо события (появление на внешнем входе того или иного фронта или уровня, изменение флага состояния периферийного устройства и т. п.) этот дополнительный узел прерывает выполнение процессором его текущего потока команд, загружая в программный счетчик адрес специальной подпрограммы. Такое принудительное изменение хода выполнения программы называется прерыванием.
2. Механизм обслуживания прерывания.
В случае обнаружения какого-либо события (появление на внешнем входе того или иного фронта или уровня, изменение флага состояния периферийного устройства и т. п.) этот дополнительный узел прерывает выполнение процессором его текущего потока команд, загружая в программный счетчик адрес специальной подпрограммы. Такое принудительное изменение хода выполнения программы называется прерыванием, а вызываемая подпрограмма – подпрограммой обслуживания или обработки прерывания (иногда используют термин «обработчик прерывания»). Событие, вызывающее прерывание называется источником прерывания.
3. Особенности подпрограмм обработки прерываний.
В случае обычной подпрограммы адрес ее начала в том или ином виде содержится в команде вызова. Адрес обработчика прерывания задается через таблицу векторов прерываний. Каждому источнику прерывания соответствует свой вектор – одна или несколько ячеек памяти. В некоторых процессорах вектор хранит адрес начала обработчика прерывания. В других (к ним относятся и микроконтроллеры AVR) – первую (или несколько первых) команду собственно обработчика прерывания. При этом, как правило, в векторе размещается команда безусловного перехода к основной части обработчика.
4. Приоритеты прерываний, маскирование прерываний, флаги прерываний.
Приоритет прерываний определяет очередность, в которой будут обслуживаться два и более ожидающих обслуживания незамаскированных прерывания: от разных источников.
Могут возникнуть одновременно несколько событий, вызывающих прерывания – возникает необходимость выбора порядка их обслуживания. Для решения этих задач существуют следующие механизмы:
– глобальный запрет (маскирование) прерываний – запрещает обслуживание прерываний от любых источников.
– индивидуальное маскирование прерываний – запрещает прерывания от определенного источника.
– событие, вызывающее прерывание, может быть кратковременным (например, фронт логического сигнала). Для того чтобы не потерять информацию о таком событии, если оно произошло в то время, когда прерывание было запрещено, существуют флаги прерываний.