Читайте также:
|
|
Основные понятия.
Во время выполнения компьютером текущей программы, внутри компьютера, а также во внешней среде, связанной с ним (клавиатура, дисплей, внешняя память, технологические и научно-исследовательские процессы, управляемые компьютером и т.д.) могут возникать события, требующие немедленной реакции на них с его стороны. Реакция компьютера заключается в том, что он прерывает обработку текущей программы и переходит к выполнению некоторой другой программы (подпрограммы, процедуры), специально предназначенной для выполнения требований, запрашиваемых данным событием. Процесс выполнения такой подпрограммы называется обработкой (обслуживанием) данного прерывания, а сама подпрограмма обслуживания прерывания часто называется обработчиком прерывания.
Прерыванием называется процесс, обуславливающий реакцию компьютера на некоторое событие, требующее немедленного его вмешательства.
Запрос прерывания – есть сигнал процессору о появлении события, требующего немедленной реакции процессора путем перехода на подпрограмму обслуживания этого события.
Системой прерывания называется комплекс аппаратных и программных средств, обеспечивающих выявление запросов прерывания и эффективное их обслуживание.
Основными функциями системы прерывания являются следующие.
1. Запоминание состояния процессора, которое определяется состоянием его основных регистров на момент прерывания текущей программы.
2. Осуществление передачи управления на процедуру обслуживания прерывания.
3. Восстановление состояния процессора после окончания выполнения процедуры обслуживания прерывания.
4. Передача управления на продолжение выполнения текущей программы.
Таким образом, после появления запроса прерывания и возможности осуществления самого процесса прерывания, процессор прерывает выполнение текущей программы, автоматически запоминая в стеке адрес возврата (CS и IP), а также содержимое регистра флагов Flags. В стек может, также, передаваться и сохраняться содержимое тех регистров, которые могут понадобиться при исполнении процедуры обслуживания прерывания и, следовательно, могут быть искажены.
Однако, если содержимое CS, IP (адрес возврата), и Flags записываются в стек автоматически, то для записи в стек содержимого, требующихся при исполнении процедуры обслуживания прерывания регистров, об этом должен позаботиться сам пользователь (процессор ведь не знает, что может потребоваться). Поэтому пользователь должен включить в начале процедуры обслуживания прерывания, команды сохранения в стеке этих регистров, а в конце процедуры – команды восстановления содержимого их, путем считывания из стека.
К основным характеристикам систем прерывания относятся.
а) Общее количество типов запросов прерывания (входов в систему прерывания).
б) Время реакции – интервал времени между появлением запроса прерывания и началом выполнения действий по обслуживанию прерывания.
в) Издержки прерывания – затраты времени на переключение программ (см. рис.XI.4).
Рис.XI.4 Временная диаграмма процесса прерывания программ.
Здесь: tр – время реакции, интервал времени, требующийся для окончания текущей команды или такта. Оно зависит как от момента появления запроса прерывания, так и от времени выполнения текущей команды. Сюда же входит время обнаружения запроса прерывания.
tз – время запоминания, интервал времени, требующийся для запоминания состояния прерванной программы, т.е. запоминания состояния регистров CS, IP, Flags. Если требуется запомнить в стеке состояние других регистров процессора, это необходимо предусмотреть самим пользователем в начале самой процедуры обработки прерывания.
tпроц – время выполнения собственнопроцедурыобслуживанияпрерывания.
tв – время восстановления состояния прерванной программы, интервал требующийся для выборки из стека и восстановления в исходное состояние регистров CS, IP и Flags.
Интервал времени tз + tв = tизд, т.е. время, затрачиваемое на переключение программ, обычно называют издержками прерывания.
tобсл – время обслуживания, интервал времени, требующийся для полного обслуживания данного запроса прерывания.
г) Глубина прерывания – максимальное число программ, которые могут прерывать друг друга (см. рис.ХI.5).
Если после перехода к процедуре обслуживания прерывания и вплоть до ее окончания прием других запросов запрещается, то говорят, что система прерываний имеет глубину прерывания равную 1. Глубина прерывания равна n, если допускается последовательное прерывание до n программ. Последовательность прерывания программ определяется заданными уровнями их приоритетов. Глубина системы прерывания обычно совпадает с числом уровней приоритета в системе прерываний.
д) Насыщение системы прерываний – насыщением системы прерывания называется ситуация, когда запрос прерывания окажется необслуженным к моменту прихода нового запроса от того же источника (этот случай обозначен пунктиром). В этом случае, предыдущий запрос прерывания от того же источника будет утрачен, что недопустимо. Поэтому быстродействие компьютера, характеристики системы прерывания, число источников прерывания и частота возникновения запросов должны быть согласованы таким образом, чтобы насыщение было невозможным.
Дата добавления: 2015-10-26; просмотров: 149 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРИНЦИПЫ ОСУЩЕСТВЛЕНИЯ В КОМПЬЮТЕРАХ ОПЕРАЦИЙ УМНОЖЕНИЯ И ДЕЛЕНИЯ | | | Внешние прерывания |