Информатика -продвинутый курс



         

РАБОТА МИКРОПРОЦЕССОРА С ВНЕШНИМИ УСТРОЙСТВАМИ - часть 4


Тот, прервав свое выступление, снимает трубку и выясняет суть дела. Затем он либо тут же принимает решение и сообщает его, либо предлагает пока сделать самое необходимое, а после совещания обещает перезвонить и дать дальнейшие указания. Затем (обратим внимание на эту деталь!) он произносит что-нибудь в духе «Так, на чем мы остановились?» и продолжает совещание как ни в чем не бывало. Впрочем, если ситуация экстренная, то совещание может быть прекращено или в его ход могут быть внесены определенные коррективы.

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

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

Реальная картина, конечно, еще сложнее: прерывания от разных устройств имеют разные уровни приоритета, существует возможность маскировки прерываний и т.п.Однако сути дела все это существенно не меняет.

В последнее время необходимость понимания механизма работы прерываний сильно возросла в связи с возникновением идеологии программирования по событиям. Она связана с распространением среды «Windows» и лежит в основе систем типа «Visual Basic» или «Delphi». Приведем примеры нескольких событий, на которые программа может реагировать: сдвинута мышь, нажата (или отпущена) клавиша мыши, нажата клавиша «ввод», выбран тот или иной пункт меню, открыто новое окно на экране и многие-многие другие. Полный перечень событий занимает в описании несколько страниц. Интересно, что программа на таком языке уже не является единым целым: на каждое событие пишется своя собственная программа, хотя все они и могут быть связаны между собой.

Итак, мы рассмотрели наиболее общие принципы работы микропроцессоров вне зависимости от их модели. Теперь познакомимся с конкретными процессорами.




Содержание  Назад  Вперед