Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Система прерываний






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

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

Микропроцессор К1821 имеет пять входов прерывания и один выход управ­ления им . Прерывание должно ввести в действие команду CALL, со­гласно которой состояние программного счетчика PC передается в стек, а в PC загружается адрес подпрограммы, подлежащей выполнению. Инициати­ва ввода команды CALL принадлежит аппаратным средствам микропроцес­сорной системы. Если прерывания разрешены, то они осуществляются мик­ропроцессором в конце выполнения текущей команды.

Входы МП, связанные с прерываниями, называются TRAP; RST 5, 5;

RST 6, 5; RST 7, 5; INTR. При организации прерываний решаются задачи маскирования запросов и определяются их уровни приоритета при кон­фликтах из-за одновременного поступления нескольких запросов.

Маскирование состоит в запрещении действия соответствующего входа. Вхо­ды запросов прерывания могут быть маскируемыми или не маскируемыми, т. е. принимаемыми всегда.

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

Начальный адрес подпрограммы обслуживания прерывания TRAP размещен в фиксированной ячейке памяти с адресом 24Н. Таким образом, появление запроса прерывания по входу TRAP независимо ни от чего вызовет соответ­ствующее прерывание после завершения выполнения текущей команды.

Обозначение входов RSTn (n = 5, 5; 6, 5; 7, 5) происходит от слова Restart. Прерывания по этим входам маскируемые, т. е. могут быть разрешены или запрещены командами El (Enable Interrupt) и DI (Disable Interrupt), дейст­вующими на все три входа одновременно. Начальный сброс микропроцес­сора запрещает обслуживание этих запросов, для их последующего разреше­ния следует подать команду EI. Имеется также возможность раздельного маскирования запросов RSTn с помощью специальной команды SIM (Set Interrupt Mask), no которой маски устанавливаются в соответствии со значе­ниями битов А0 -.А2 содержимого аккумулятора. Загрузив предварительно 1 в соответствующий бит, можно запретить (замаскировать) тот или иной вход. Приоритеты входов RSTn фиксированы, они снижаются в порядке RST 7, 5; RST 6, 5; RST 5, 5. Начальные адреса подпрограмм обслуживания прерываний типа RSTn известны. Команды RSTn заканчиваются загрузкой в программный счетчик числа 8n. Цифры 5, 5; 6, 5 и 7, 5 определяют началь­ные адреса 002СН, 0034Н и ООЗСН. Иными словами, для входов этого типа векторы прерывания определяются автоматически и их не требуется переда­вать в МП из внешних устройств.

Напомним, что вектором прерываний называют информацию, необходимую для перехода к соответствующей подпрограмме обслуживания, в простей­шем случае это просто начальный адрес прерывающей подпрограммы.

Вход RST 7, 5 является динамическим, реагирует на положительный фронт сигнала, а входы RST 6, 5 и RST 5, 5 — статические, реагируют на уровень сигнала и, следовательно, автоматически снимаются при исчезновении за­просов по этим входам. Запрос RST 7, 5, принимаемый триггером с динами­ческим входом, после снятия сигнала запроса не снимается и сохраняется, пока не будет обработано прерывание или до команды SIM или RESET.

При поступлении запроса по входу INTR (Interrupt) вектор прерывания должен быть передан в МП извне. К этому входу, в частности, подключают контроллер прерываний — блок, который воспринимает несколько запросов от внешних устройств, решает задачу приоритетности и маскирований и вы­рабатывает для МП единственный сигнал INTR, с пересылкой в МП соответствующего вектора прерывания. В данном случае также выполняется ко­манда RSTn, но n зависит от источника прерываний. Аппаратный ввод бай­та в ответ на запрос INTR может быть реализован, например, согласно рис. 5.10. Появление запроса INTR при разрешенных прерываниях ведет к ответу микропроцессора сигналом , во время действия которого на шине AD появляется вводимый байт.

Рис. 5.10. Аппаратная реализация пересылки байта при выполнении операции рестарта

Сигнал при этом поступает на входы разрешения выхода буферных усилителей ОЕ.

Во время обработки прерываний, пока не выполнится команда EI, запре­щаются другие прерывания кроме TRAP. Немаскируемое же прерывание TRAP блокирует другие прерывания, но сохраняет состояние разрешения поступившего уже сигнала прерывания.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.