Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора_МПСС.docx
Скачиваний:
14
Добавлен:
27.08.2019
Размер:
3.15 Mб
Скачать

14. Основные режимы функционирования микропроцессорной системы. Обработка прерываний и исключений.

1 режим: выполнение основной программы;

2 режим: вызов подпрограммы;

3 режим: обслуживание прерываний и исключений;

4 режим: прямой доступ к памяти.

Рассмотрим подробнее третий режим.

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

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

2. Аппаратные - это запросы от внешних устройств.

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

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

3. Исключения – прерывание, вызванное блоком, отслеживающим ошибочные ситуации при работе с процессором (например, деление на ноль).

Действия при поступлении запроса на прерывание:

1. необходимо определить уровень приоритета поступившего запроса

2. сохранить в стеке текущее состояние программы

3. загрузить в программу-счетчик вектор прерываний (начальный адрес подпрограмм обработчика, обычно такие вектора хранятся в таблице) адрес первой команды

4. выполнение обработчика

5. восстановить исходное состояние

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

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

Методы реализации контроллера:

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

IO, I1,…, IN – запросы на прерывание.

CT – Счетчик прерываний, DC – дешифратор, INT-N – номер прерывания

Временная диаграмма:

Система должна сформировать код номера запроса и общий запрос по прерыванию. По сигналу RESET счетчик и триггер установить в нулевое состояние. На тактовый ход счетчика начинает поступать сигнал CLK. Код со счетчика поступает на вход дешифратора, на выходе которого будет только один активный сигнал, соответствующий входному коду. Если единичный уровень одного из выходов дешифратора совпадает с соответствующим запросом на прерывание, триггер устанавливает единичное состояние, запрещающее подачу тактовых импульсов на вход счетчика. С выхода триггера снимается общий запрос на прерывание, с выхода счетчика – код номера запроса.

Достоинством этой системы является то, что необходимы минимальные аппаратные затраты, а также простота реализации. К недостаткам можно отнести значительное время реакции на прерывание. Увеличение запросов приводит к резкому возрастанию затрат. В системе отсутствует ранжир запросов по приоритету.Система прерываний, в которой отсутствует ранжир по приоритетам ,называется одноуровневой.

Устранение последнего недостатка возможно с помощью дейзи-цепочки.

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

1-шифратор уровней приоритетов; 2-регистр текущего состояния (память); ЗТС – занесение текущего состояния сигнала; ЗМ - занесение микрокоманды; Т1, Т2 – триггеры 1 и 2 соответственно.

Схема имеет два режима работы:

  • активно происходит обработка запросов на прерывание, Т1 устанавливается в 1, Т2 в 0-ое состояние. С помощью компаратора сравнивается приоритет поступающего запроса и текущего состояния. Если приоритет поступившего запроса выше, то по сигналу занесения микрокомандой T2 устанавливается в 1, а Т1 сбрасывается и система переходит в неактивный режим.

  • В этом состоянии схема находится до тех пор, пока процесс не обработает запрос и не запишет приоритет текущего состояния в элемент памяти 2. Когда Т1 снова установит 1, то снова в активное.