Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСиС / shpory.docx
Скачиваний:
46
Добавлен:
18.02.2017
Размер:
74.06 Кб
Скачать

17_17_17_Основные режимы функционирования микропроцессорной системы. Обработка

прерываний и исключений

ПА - периферийный адаптер, КВВ – контроллер ввода/вывод, КПДП – контроллер прямого доступа к памяти, КП – контроллер прерываний.

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

Виды прерываний: · Программные

Реализуются с помощью специальных команд. Фактически это переход по указанному адресу.

· Аппаратные

Запросы от внешних устройств. Маскируемые – можно запретить или разрешить с помощью соответствующих битов в регистре управления. Немаскируемые прерывания обслуживаются в первую очередь и не могут быть запрещены.

· Исключения

При поступлении запроса на прерывание процессор:

· формирует код номера запроса.

· определяет уровень приоритета поступившего запроса.

· завершает выполнение текущей программы.

· сохраняет в стековой области памяти значение программного счетчика и регистра состояния.

· переходит к выполнению подпрограммы обработчика прерывания, для этого в программе счетчика загружается вектор прерывания.

· после окончания выполнения подпрограммы обработчик прерывания из стека восстанавливает значение программного счетчика и регистра состояния.

Вектор прерывания – начальный адрес подпрограмм обработчика. Обычно такие вектора

хранятся в таблице.

Основой характеристикой прерывания является время реакции на прерывание. Это время

между поступившим запросом и первой выполненной полезной команды обработчика.

18_18_18_Системы с циклическим опросом. Блок приоритетных прерываний.

Способы реализации контроллера прерываний:

· система с циклическим запросом

Система должна сформировать код

номера запроса INT-N и общий

запрос по прерыванию INT. По

сигналу RESET счетчик и триггер

установить в нулевое состояние. На

тактовый вход счетчика начинает

поступать сигнала CLK. Код со

счетчика поступает на вход

дешифратора, на выходе которого

будет только один активный

сигнал, соответствующий входному

коду. Если 1-й уровень одного из

выходов дешифратора совпадает с

соответствующим запросом на прерывание, триггер устанавливает единичное состояние,

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

запрос на прерывание, с выхода счетчика – код номера запроса. Данная схема просто реализуется,

но является очень медленной и отсутствует ранжировка прерываний по приоритету.

· дейзи-цепочки

0 I - имеет высший приоритет

Блок приоритетных прерываний

1 - шифратор уровней приоритетов.

2 - регистр текущего состояния

(память). Имеет два режима работы:

Активный. Происходит обработка

запросов на прерывание, TG1

устанавливается в 1, триггер TG2 в 0. С

помощью компаратора сравнивается

приоритет поступающего запроса и

текущего состояния. Если приоритет

поступившего запроса выше, то по

сигналу ЗМ TG2 устанавливается в 1,

а ТG1 - в 0 и система переходит в

неактивный режим.

Неактивный. В этом состоянии схема

находится до тех пор, пока процессор

не обработает запрос и не запишет

приоритет текущего состояния (ЗТС) в элемент памяти 2.

Соседние файлы в папке МПСиС