<<
>>

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

В связи с большим разнообразием внешних устройств процесс обмена в целом является довольно сложной процедурой. Он не сводится только к выполнению начинающих или завершающих обмен команд in или out.
Так, например, кла- виатура, передающая данные при вводе, должна каким-то образом известить процессор о том, что очередной байт принят от пользователя (после нажатия им очередной клавиши) и передан во входной порт. Аналогичным образом устройст- во, принимающее очередной байт данных при выводе, должно иметь возможность информировать процессор о том, что оно готово к его приему. Следовательно, нужна детально проработанная схема взаимодействия между процессором и внеш- ними устройствами во время обмена в целом.

ВНИМАНИЕ --------------------------------------------------------------------------------------------------------

Здесь речь идет не об обмене данными между процессором и внешними устрой- ствами, а о взаимодействии между процессором и внешними устройствами во вре- мя обмена.

Теоретически возможны два способа такого взаимодействия: опрос и прерыва- ние.

Опрос представляет собой периодическое прекращение текущей работы про- цессора и посылку им запросов каждому из внешних устройств на возможность или необходимость выполнения операции по обмену. Опрос похож на следую- щую бытовую ситуацию. Учитель (процессор) по очереди обходит всех учеников (внешние устройства) и у каждого спрашивает, не появились ли у него вопросы по решаемой задаче или обсуждаемой теме. Очевидным недостатком такого спо- соба взаимодействия является то, что учитель (процессор) подавляющую часть времени будет заниматься не объяснением учебного материала (обработкой дан- ных), а выяснением наличия у учеников (внешних устройств) вопросов.

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

В рассмотренной ранее аналогии это соответствует ученику, который сам привлекает внимание учителя только тогда, когда у него появится вопрос.

ВНИМАНИЕ --------------------------------------------------------------------------------------------------------

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

Чтобы более точно понять сущность прерывания, вновь рассмотрим бытовой аналог понятия. Человек сидит за столом и читает книгу (процессор выполняет некоторую программу). Раздается звонок телефона (в процессор поступает сиг- нал прерывания, то есть запрос, требующий, чтобы процессор обратил внимание на конкретное внешнее устройство). Человек прекращает выполнение текущего действия и переключается на выполнение другого. Он прекращает чтение, подни- мает телефонную трубку и начинает разговаривать (процессор приостанавлива- ет выполнение текущей программы и начинает выполнение другой программы, связанной с реакцией на поступивший сигнал прерывания). После завершения разговора человек кладет трубку на телефонный аппарат и возобновляет чтение книги (процессор обработал прерывание и вернулся к выполнению ранее пре- рванной программы). Человеку может поступить другой запрос на прерывание, например, компьютер выдаст ему сообщение о том, что поступило почтовое со- общение. В этом случае он реагирует на прерывание другим способом.

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

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

Физически прерывание организуется с помощью сигнала IRQ (от Interrupt RеQuеst — запрос прерывания), поступающего в процессор от одного из уст- ройств компьютера. С его помощью устройство извещает процессор о том, что для дальнейшего выполнения обмена ему требуются некоторые действия про- цессора. Получив такой сигнал, процессор запоминает свое текущее состояние и всю необходимую для возобновления работы информацию, а затем переключа- ется на выполнение специальной программы, которая называется программой обработки прерывания. В процессе ее выполнения устройство передает процес- сору некоторую дополнительную информацию о создавшейся во время выполне- ния обмена ситуации. Обычно эта информация представлена в виде так называе- мого кода завершения (функции завершения), специфического для каждого из устройств, выполняющих обмен. Код завершения показывает, правильно или не- правильно, полностью или не полностью завершился обмен, требуется ли вме- шательство пользователя для дальнейшего его выполнения (например, в случае отсутствия бумаги в принтере) и т. д. Код завершения может также показывать, что запрошенные действия устройство выполнить не в состоянии. В соответ- ствии с полученной в коде завершения информацией процессор должным обра- зом организует дальнейшую обработку прерывания. Затем он может вернуться к выполнению ранее прерванной программы.

<< | >>
Источник: Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей. 2007

Еще по теме Понятие прерывания:

  1. 7.3.2. Прерывания
  2. 7.4.4. Как справиться с прерыванием.
  3. 7.3.2. Прерывания
  4. Прерывание нотаций:
  5. Прерывание обвинений:
  6. Прерывание криков и ругани:
  7. 7.4.4. Как справиться с прерываниями
  8. II. 2. 5. Раздвоение понятий и множеств понятий.
  9. § 61 Компания на акциях. – Сущность учреждения. – Цель его и историческое развитие. – Нынешнее ее значение. – Понятие об акции. – Образование компании. – Учредители. – Устав, утверждение его и регистрация. – Подписка на акции. – Органы управления. – Общее собрание акционеров. – Состав его, созыв и деятельность. – Правление. – Наблюдательный совет. – Понятие о дивиденде. – Выпуск новых акций. – Прекращение компании и ликвидация.
  10. ПОНЯТИЕ
  11. ПОНЯТИЕ: ОБЪЁМ
  12. ПОНЯТИЕ: СОДЕРЖАНИЕ
  13. ПОНЯТИЕ ЖИТЕЙСКОЕ
  14. § 1. Понятие завещания
  15. § 2. Понятие обязательства
  16. 1. Понятие сделки