Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на экзамен уменьш.doc
Скачиваний:
22
Добавлен:
15.04.2019
Размер:
193.54 Кб
Скачать

1.4.1 Система прерывания программ эвм

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

Запросы прерывания вызываются внутренними причинами и внешними источниками.

Внутренние причины:

  • сбой в аппаратуре, в том числе в системе электропитания;

  • переполнение разрядной сетки при выполнении команды;

  • нарушение правил адресации;

  • попытка деления на 0.

Внешние источники:

  • периферийные устройства, в том числе терминалы пользо­вателя;

  • аппаратура передачи данных от удаленных терминалов и других ЭВМ;

  • датчики технологического процесса и т. п.

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

а) запоминание состояния прерываемой программы;

б) приоритетный выбор запроса для исполнения из поступивших запросов и организация перехода к соответствую­щей обрабатывающей программе;

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

г) программное изменение приоритетов запросов.

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

1.4.2 Пересылки по прерыванию

Последовательность действий в алгоритме пересылок по прерыванию может быть описана следующими шагами:

1. Периферийное устройство запрашивает прерывание, выставляя сигнал «Запрос» на соответствующий вход процес­сора.

2. Процессор завершает выполнение очередной команды текущей программы и, если он находится в состоянии «раз­решения прерываний», проверяет наличие сигнала «Запрос». (В режиме «запрещения прерывания» проверка входа «За­прос» не производится). При обнаружении сигнала «Запрос» процессор переходит в состояние ожидания и выставляет на линию «Добро» (подтверждение прерывания) соответствую­щий уровень сигнала.

3. ПУ принимает сигнал «Добро» и выставляет на шину данных двоичный код, идентифицирующий данное устройст­во. Одновременно на линию «Готов» выставляется соответст­вующий сигнал.

4. Приняв сигнал «Готов», процессор снимает идентифи­цирующий ПУ код с шины данных и организует переход к программе обработки данного прерывания аналогично пере­ходу к обычной подпрограмме (например, используя стек).

5. Первыми командами подпрограммы обработки преры­вания должно быть обеспечено сохранение (в стеке) значений флагового регистра и регистров РОН, соответствующих моменту прерывания текущей программы. Далее в подпро­грамме обработки прерывания производятся программно-уп­равляемая пересылка данных (например, по асинхронному алгоритму) и, возможно, какие-либо преобразования.

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

7. Возобновляется счет по прерванной программе.

Код, идентифицирующий выдавшее запрос прерывания ПУ, ис­пользуется тем или иным способом (в зависимости от конст­рукции процессора) для определения начального адреса хра­нящейся в главной памяти программы обработки данного запроса — вектора прерывания. Кроме описанного выше «векторного» способа обработки запросов существуют и другие. Однако данный способ имеет в настоящее время наиболь­шее распространение.