Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
5 Мб
Скачать
☆

Тема 4.2 Система прерываний (Угрюмов, с. 270)

4.2.1 Назначение и принципы организация прерываний

При событиях, требующих немедленной реакции МПС, выполняемая программа прерывается и МПС обслуживает источник запроса на прерывание. Причины запросов на прерывания: сбои в работе МПС, заявки от внешних устройств ВУ, неисправность источников питания, аварии на управляемых объектах.

Прерывания по запросам от медленно действующих ВУ позволяют занимать время процессора только при их готовности к обмену, что увеличивает производительность

МПС.

Когда ВУ нуждается в обслуживании, оно выдаёт сигнал запроса, по которому МП система завершает выполнение текущей программы, запоминает своё состояние перед прерыванием, выполняет программу обслуживания прерывания и затем возвращается к выполнению прерванной программы.

Обслуживание прерываний осуществляется при помощи стековой памяти.

МП КР580ВМ80 имеет один вход прерывания INT. Ответом на запрос МП является сигнал INTE, разрешения прерывания.

МП К1821ВМ85 имеет 5 входов (TRAP; RST 5,5; RST 6,5; RST 7,5; INTR) и один выход управления прерыванием – INTA (см. рисунок ).

а б

Рисунок 4.2.1 – Микропроцессор К1821ВМ85: а) структурная схема; б) УГО

Если прерывания разрешены, то вводится в действие команда CALL, по которой состояние программного счётчика РС передаётся в стек, а в РС загружается адрес первой команды программы, подлежащей выполнению, и МП выполняет

68

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

К входу INTR ИМС К1821ВМ85 подключается ИМС контроллера прерываний, который воспринимает запросы от нескольких внешних устройств, решает задачи маскирования и приоритета, вырабатывает единственный сигнал и пересылает соответствующую информацию от внешнего устройства ВУ в МП на вход INTR.

4.2.2 Средства обслуживания прерываний микропроцессора к1821вм85

При облуживании прерываний используются блоки (см. рисунок 2.6.1): «Управление прерываниями»; «Управление последовательным вводом/выводом»; регистры W и Z блока регистров; 16-разрядный регистр счётчика команд РС (Program Counter - программный счётчик); 16-разрядный регистр указателя стека SP (Stack Pointer); схема изменения передаваемых через него слов (адресов) на +1 или -1 INC/DEC (Increment/Decrement – сложение/вычитание); регистр команд IR (Instruction Register).

Для работы со стеком предназначены дополнительно к регистру SP два регистра, находящиеся в блоке «Управление прерываниями» (см. рисунок 2.6.1) МП К1821ВМ85: SS – регистр сегмента стека и BP/EBR – регистр указателя базы кадра стека.

Размеры сегмента стека задаются при программировании, они зависят от режима работы процессора и для МП ВМ85 не могут превышать 64К. В каждый момент времени доступен только один стек, текущий, начальный (стартовый) адрес сегмента которого содержится в регистре SS. Для обращения к другому стеку, для «переключения» стека, необходимо загрузить в регистр SS другой адрес. В МПК РС-46М стек переключается по сигналам прерывания, каждому из которых соответствует стартовый адрес в соответствии с таблицей 3.6.1. Области ОЗУ, где находятся подпрограммы обслуживания прерываний (сегменты стека) не должны перекрываться.

Таблица 3.6.1 – Начальные (стартовые) адреса стека в оперативной памяти