Микропроцессоры. Особенности архитектуры. Понятие о состоянии процессора (программы). Вектор слова состояния. Принципы организации системы прерываний, страница 6

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

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

Для обслуживания прерываний в системе имеются специальные аппаратные и программные средства, которые образуют систему прерываний программ.

Основные функции системы прерываний:

1) запоминание состояния прерванной программы (т.е. формирование слова состояния процессора);

2) переход к программе, обрабатывающей прерывание;

3) восстановление состояния прерванной программы и возврат к ней.

Каждое событие, требующее прерывания, называется запросом прерывания.

Все прерывания делятся на классы:

1.  прерывания от схем контроля (прерывания по сбою)

2.  программные прерывания (по ошибкам программ)

3.  прерывания от внешних источников

4.  прерывания от устройств ввода-вывода.

Каждый запрос прерывания имеет свой код. Код запроса прерывания в каждом отдельном случае запоминается в ОЗУ. Код запроса необходимо хранить, т.к.:

1) одновременно могут выдать запросы несколько источников, а к обслуживанию принимается только один;

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

При наличии нескольких источников запросов прерываний устанавливается дисциплина обслуживания запросов. В МП-системах запросы прерывания обслуживаются на основе приоритетов (т.е. по старшинству).

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

1.Общее число запросов прерывания (число входов в систему прерывания).

2. время реакции – время между появлением запроса прерывания и началом выполнения прерывающей программы.

Упрощенная временная диаграмма процесса прерывания:

tp – время реакции

tзапр – время формирования сигнала запроса

tзапом – время формирования слова состояния процессора

tc – собственно время выполнения прерывающей программы

tв – время восстановления прерванной программы

3. затраты времени на переключение программ (издержки прерывания)

                      tизд = tp + tв

4. глубина прерывания – максимальное число программ, которые могут прерывать  друг друга.

5. число классов (уровней) прерываний.

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

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

Графически:

О  - основная (текущая) программа

1, 2 – программы, обслуживающие события Зап.1 и Зап.2.

Запрос прерывания – это сигнал, поступающий в процессор.

Схема расположения выводов микропроцессора 8085А.

А8 – А15 – адресная шина. Старший байт адреса паями или байт адреса ввода-вывода.

Д0 – Д7 – мультиплексная шина адреса/данных. Младший байт адреса памяти или адреса ввода-вывода появляются на этой шине в течение первого такта машинного цикла. В течение второго и третьего тактов она становится шиной данных.

ALE (выход) – разрешение фиксации адреса.

S0,S1,IO/M (выход) – состояние машинного цикла.                                                                                                             

IO/M

S0

S1

           состояние

   0

   0

   1

   1

   0

   1

   *

   *

   *

   0

   1

   0

   1

   1

   1

   0

   Х

   Х      

  1

  0

  1

  0

  1

  1

  0

  Х

  Х

Запись в память

Чтение из памяти

Запись при вводе-выводе

Чтение при вводе выводе

Выборка кода операции

Подтверждение прерывания

Останов

Захват

Сброс