"Процессоры персонального компьютера"


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


Download 152.79 Kb.
bet4/8
Sana08.10.2023
Hajmi152.79 Kb.
#1695362
TuriКурсовая
1   2   3   4   5   6   7   8
Bog'liq
захро

1.2 Понятие прерывания и основные виды прерываний

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


Основной целью введения прерываний является реализация асинхронного режима работы и осуществления распараллеливания действий различных механизмов вычислительного комплекса.
Функция механизма прерываний осуществляется аппаратно-программным способом. Прерывание во всех случаях влечет за собой изменение порядка выполнения команд процессором.
Система прерывания - это эффективный способ выполнения контрольных и управляющих функций операционной системы в целях поддержания заданных режимов функционирования ЭВМ, как аппаратно-программного комплекса.
Указанная система прерывания возникла в процессорах ЭВМ второго поколения, которые применялись в качестве программных устройств управления различными объектами.
Основные причины, которые способствовали появлению системы прерывания, это:
 целью разработчиков было снизить количество простоев ЭВМ при появлении внештатных ситуаций в процессоре (попытки деления на ноль, использование несуществующей команды, сбой в устройстве и т.д.);
загрузить полезной работой процессор, в то время, когда он ожидает сигнал от управляемого объекта, то есть реализовать фоновую работу ЭВМ.
Основными функциями механизма прерываний являются:
 их распознавание или классификация;
передача управления на их обработку;
корректный возврат к прерванной программе.
Прерывания, которые возникают при работе вычислительной системы, разделяют на два основных класса:
 внешние (асинхронные). Указанные прерывания вызываются появлением асинхронных событий, которые происходят вне прерываемого процесса. Например: прерывания от таймера, от внешнего устройства (прерывания по вводу/выводу), из-за нарушения питания, прерывания с пульта оператора вычислительной системы, от другого процессора или другой вычислительной системы.
внутренние (синхронные). Данные прерывания вызываются появлением событий, которые связаны с функцией процессора и являются синхронными с его операциями. Например,нарушение адресации, наличие в поле адреса несуществующей инструкции, деление на нуль,переполнение или исчезновение порядка, ошибка четности, ошибка в работе различных аппаратных устройств.
Данные программные прерывания срабатывают по соответствующей команде прерывания. По этой команде процессор осуществляет те же действия, что и при обычных внутренних прерываниях. Этот механизм введен для переключения на системные программные модули как обычное прерывание, а не как переход в подпрограмму, что обеспечивает автоматическое переключение процессора в привилегированный режим с возможностью выполнения всех команд.
Сигналы, которые вызывают прерывания, формируются либо в процессоре, либо вне него. Они могут возникнуть одновременно. Процесс выбора одного из них происходит с учетом приоритетов, которые установлены для каждого их них. Самым высоким приоритетом обладают прерывания от схем контроля процессора. Учет приоритетов либо встроен в технические средства, либо может определяться операционной системой. Программно-аппаратное управление порядком обработки сигналов прерывания позволяет применять различные дисциплины обслуживания прерываний.
Исходя из уровня приоритета, то есть от низкого к высокому, распределение прерываний выглядит следующим образом:
программные;
от внешних устройств: терминалов;
от внешних устройств: сетевого оборудования;
от внешних устройств: магнитных дисков;
от системного таймера;
от средств контроля процессора.
Кроме того, процессор способен обладать средствами защиты от прерываний:
 отключение системы прерываний;
маскирование (запрет) отдельных их видов.
В большинстве случаев, операция прерывания осуществляется только после завершения выполнения текущей команды.
Процесс возникновения сигналов прерывания происходит в произвольные моменты времени, в связи с этим, к моменту обработки возможно накопление нескольких сигналов. Им присваиваются приоритеты, и в первую очередь происходит обработка сигнала с более высоким приоритетом.
Существующее программное управление специальными регистрами маски, то есть маскирование сигналов прерывания, способна реализовывать самые различные дисциплины обслуживания:
с относительными приоритетами. В данном случае обслуживание не прерывается даже при наличии запросов с более высоким приоритетом. В программе обслуживания указанного запроса накладываются маски на все остальные сигналы прерывания или просто необходимо отключить систему прерываний;
с абсолютными приоритетами. В этом случае, осуществляется обслуживание прерывания с наибольшим приоритетом. В программе обслуживания прерываний накладываются маски на сигналы прерывания с более низким приоритетом. Также, возможно многоуровневое прерывание - прерывание программы обработки прерывания, число уровней изменяется и зависит от приоритета запроса;
 по принципу стека (последним пришел - первым обслужен). В данном случае, запросы с более низким приоритетом способны прервать обработку прерывания с более высоким. В программе обслуживания прерываний не накладываются маски ни на один сигнал прерывания и отключают систему прерываний.
Оперативная система осуществляет управление ходом выполнения задач, которая заключается в:
организации реакций на прерывание;
обмена информацией;
предоставление необходимых ресурсов;
динамике выполнения задачи;
организации сервиса.
Оперативная система определяет причины прерываний (супервизор прерываний) и осуществляет действия, которые необходимы при указанном прерывании и ситуации.
Супервизор прерываний осуществляет действия:
сохраняет в дескрипторе текущей задачи рабочие регистры процессора, которые определяют контекст прерванной задачи;
определяет программу, которая обслуживает текущий запрос на прерывание;
устанавливает необходимый режим ее обработки;
передает управление подпрограмме обработки прерывания.
По окончанию выполнения подпрограммы обработки прерывания управление передается супервизору в модуль управления диспетчеризацией задач.
В момент появления запроса на прерывание система идентифицирует сигнал. В случае, если прерывание разрешено, то управление передается на соответствующую подпрограмму обработки прерываний.
Подпрограмма обработки прерываний состоит их трех секций:
1) отключение прерываний, сохранение контекста прерванной программы, установка режима работы системы прерываний;
2) собственно тело программы обработки прерываний;
3) восстановление контекста прерванной ранее программы, установка прежнего режима работы системы прерываний.
1-я и 3-я секции подпрограммы обработки прерываний являются служебными, они сохраняют и восстанавливают контекст задач. Поскольку эти действия необходимо выполнять практически в каждой подпрограмме обработки прерывания, во многих ОС первые секции подпрограмм обработки прерываний выделяются в специальный системный модуль - супервизор прерываний.
Таким образом, принимая во внимание выше изложенное, можно сказать, что прерывание является очень важным механизмом, который извещает процессор о возникновении какого-либо высокоприоритетного события. Программа, заставшая прерывание, останавливает свою работу в совершенно произвольном месте. После окончания прерывания, программа возобновляется с того момента, где прервалась, что очень удобно для пользователя персонального компьютера.










Download 152.79 Kb.

Do'stlaringiz bilan baham:

1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling