Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Белоглазов (2).doc
Скачиваний:
27
Добавлен:
03.08.2013
Размер:
261.63 Кб
Скачать

3.2. Система прерывания программ.

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

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

Функции системы прерывания:

  • Организация вхождения в прерывающую программу

  • Организация приоритетного выбора между запросами, поступающими одновременно

  • Организация возврата в прерванную программу

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

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

Реализована возможность установки и считывания центральным процессором маски прерываний по шине данных. Режим запись / чтение маски устанавливается соответствующими битами микрокоманды. Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам прерывания. Состояние «1» в данном разряде регистра маски разрешает, а состояние «0» запрещает (маскирует) прерывание от соответствующего запроса. Изменяя маску прерывания можно устанавливать произвольные приоритетные соотношения без перекоммутации линий, по которым поступают запросы прерываний.

Последовательность действий при обработке прерываний:

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

  2. Контроллер в соответствии с заданными приоритетами и словом маски выбирает устройство и формирует вектор одновременно с подачей запроса на прерывания в ЦП.

  3. После завершения текущей микрокоманды, секвенсор сохраняет текущее слово состояния процессора (ССП) во внутреннем стеке и выдаёт на контроллер прерываний сигнал подтверждения прерывания INTC (Interrupt Confirmation), после чего осуществляет переход к стандартной микропрограмме обработки прерываний.

  4. После приёма сигнала INTC, контроллер прерываний выдаёт сформированный вектор прерывания, который связан с шиной данных интерфейсным буфером, контролируемым битом микрокоманды.

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

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

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

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

Структурная схема системы прерывания программ приведена на рис. 3.2.1.

Рис. 3.2.1. Структурная схема системы прерывания программ

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