Конспект лекций для студентов специальности 5В070200 Автоматизация и управление Алматы 2015



Pdf көрінісі
бет9/33
Дата13.03.2023
өлшемі0,92 Mb.
#73886
түріКонспект
1   ...   5   6   7   8   9   10   11   12   ...   33

разделить на два основных класса: внешние (асинхронные) и внутренние 
(синхронные).
Внешние прерывания вызываются асинхронными событиями, которые 
происходят вне прерываемого процесса: 
1) прерывания от таймера; 
2) прерывания от внешних устройств (прерывания по вводу-выводу); 
3) прерывания по нарушению питания; 
4) прерывания с пульта оператора вычислительной системы; 
5) прерывания от другого процессора или другой вычислительной 
системы. 
Внутренние прерывания вызываются событиями, которые связаны с 
работой процессора и являются синхронными с его операциями: 
1) при нарушении адресации; 
2) при наличии в поле кода операции незадействованной двоичной 
комбинации; 
3) при делении на ноль; 
4) вследствие переполнения или исчезновения порядка; 
5) от средств контроля (обнаружение ошибки четности, ошибок в 
работе различных устройств); 
6) попытка использования команды, запрещенной в данном режиме 
(привилегированные команды – команды ввода-вывода, переключения 
режима работы центрального процессора, команды инициализации некоторых 
системных регистров процессора). 
Программные прерывания - это прерывания, которые происходят по 
соответствующей команде прерывания, т.е. процессор осуществляет 
практически те же действия, что и при обычных внутренних прерываниях. 
Пре
рыв
ан
ие
Исполняемая 
программа 
Отключение прерываний, сохранение 
контекста прерванной программы, 
установка режима работы системы 
прерываний 
Собственно тело программы обработки 
прерывания 
Восстановление контекста прерванной 
ранее программы, установка прежнего 
режима работы системы прерываний 


17 
Этот механизм введен специально для того, чтобы, прежде всего, обеспечить 
автоматическое переключение процессора в привилегированный режим с 
возможностью исполнения любых команд. 
Сигналы, вызывающие прерывания, формируются вне процессора или в 
самом процессоре и могут возникать одновременно. Выбор одного из них для 
обработки осуществляется на основе приоритетов, приписанных каждому 
прерыванию. На рисунке А.3 изображен обычный порядок (приоритеты
обработки прерываний в зависимости от типа прерываний. 
Учет приоритета может быть встроен в технические средства, а также 
определяться ОС, т.е. допускается программно-аппаратное управление 
порядком обработки сигналов прерывания. Другой способ позволяет 
применять различные дисциплины обслуживания прерываний.
Наличие сигнала прерывания не обязательно должно вызывать 
прерывание исполняющейся программы. Процессор может обладать 
средствами защиты от прерываний: отключение системы прерываний, 
маскирование (запрет) отдельных сигналов прерывания. Программное 
управление этими средствами позволяет ОС регулировать обработку сигналов 
прерывания, заставляя процессор обрабатывать их сразу по приходу; 
откладывать обработку на некоторое время; полностью игнорировать 
прерывания. Обычно операция прерывания выполняется только после 
завершения выполнения текущей команды. Поскольку сигналы прерывания 
возникают в произвольные моменты времени, то на момент прерывания 
может существовать несколько сигналов, которые могут быть обработаны 
только последовательно в соответствии с назначенными приоритетами. 
Программное управление специальными регистрами маски (маскирование 
сигналов прерывания) позволяет реализовать различные дисциплины 
обслуживания: 
- с относительными приоритетами, т.е. обслуживание не прерывается 
даже при наличии запросов с более высокими приоритетами. После окончания 
обслуживания данного запроса обслуживается запрос с наивысшим 
приоритетом для организации такой дисциплины необходимо в программе 
обслуживания данного запроса наложить маски на все остальные сигналы 
прерывания или просто отключить систему прерываний; 
- с абсолютными приоритетами, т.е. всегда обслуживается прерывание 
с наивысшим приоритетом. На время обработки маскируются все запросы с 
более низким приоритетом, причем возможно многоуровневое прерывание 
(т.е. прерывание программ обработки прерываний);
- по принципу стека (по дисциплине LCFS – Last Come First Served – 
последним пришел, первым обслужен), т.е. запросы с более низким 
приоритетом могут прерывать обработку прерывания с более высоким 
приоритетом. Для этого маска не накладывается ни на один из сигналов 
прерывания и не выключается система прерываний. 
Для правильной реализации последних двух дисциплин нужно 
обеспечить полное маскирование системы прерываний при выполнении шагов 


18 
1-4 и 6-7. Это необходимо для того, чтобы не потерять запрос и правильно его 
обслужить. Многоуровневое прерывание должно происходить на этапе 
обработки прерывания, а не на этапе перехода с одного процесса вычислений 
на другой.


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   33




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет