Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Воспринятие прерывания

Ожидание

Распространение запроса

Стадии обработки прерывания

Процесс обработки запроса от внешнего устройства системой прерываний можно разбить на 3 этапа:

а) распространение запроса

б) ожидание

в) воспринятие прерывания

 

 

1) Внешнее устройство (ВУ) через интерфейс (И) передает сигналы на свой контроллер ВУ (КВУ). КВУ в один из внешних регистров (ВР) прописывает N вектора прерывания. Все программы обработки прерываний программируются как динамически вызываемые программы.

 

2) КВУ активизирует соответствующую INTi линию, переводя ее из 0 в1, сообщая этим КП о наличии запроса.

 

3) КВУ выполняет следующее:

а) для каждого сигнала с линии INTi проверяет запрещена или разрешена обработка

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

В некоторых ЭВМ алгоритм определения приоритетного запроса сложен и может программироваться. В простейшем случае (IBM PC) контроллер считает более приоритетными прерывания, полученные по линиям прерываний с меньшим номером.

в) выбрав КВУ, КП считывает из соответствующего ВР этого КВУ номер программы обработки прерывания и записывает его в регистр RN.

г) завершив подготовку, КП активизирует сигнал INT и сообщает ЦП о наличии запроса на обработку.

 

Процессор никак не реагирует на сигнал INT, пока не закончит выполнение той команды, что уже начал. Только в конце выполнения команды - процессор проверяет наличие сигнала INT.

Как долго приходиться ждать? В большинстве процессоров не долго - не более нескольких десятков тактов работы ЭВМ. Но имеются процессоры, в системе команд которых присутствуют команды обработки структурированных данных. Тогда стадия ожидания может затянуться, а это значит снижение реактивности ЭВМ.

 

Как показано в рисунке 3.6.2 в конце цикла выполнения команды происходит проверка наличия сигнала INT. Рассмотрим подробнее дальнейшее выполнение:

 

Микрооперация n: проверка наличия сигнала INT (если 1 – обработка продолжается, 0 - нет). Эта та самая "стандартная микрооперация что была упомянута в разделе [3.6.2]. Там мы писали: если процессор обнаружил наличие сигнала INT – переходим к выполнению действий по обработке прерывания. И не стали детально разбираться что же это за "действия по обработке прерывания", теперь – рассмотрим эти действия:

 

Микрооперация 1: проверка флага IF (флага прерывания) регистра RF. (если 0 – прерывание не обрабатывается, 1 – продолжение обработки)

 

Микрооперация 2: сигнал INTA переводится в 1, этим процессор сообщает КП о том, что прерывание воспринято, и КП необходимо начать загрузку в процессор номера вектора прерывания N программы обработки прерывания.

 

Микрооперации 3,4 – сохранение в системном стеке регистра RF.

 

Микрооперации 5,6 – загрузка в системный стек адреса возврата.

 

Обратим внимание: адрес возврата не вычисляется, в отличии от алгоритмов CALL и INT, по той причине, что он уже вычислен при выполнении последней выполненной команды.(см.3.10.3 и 3.11.2)

 

Микрооперация 7 – загрузка в PC адреса программы обработки прерывания. см.[3.14.3]

 

Микрооперация 8 – сигнал INTA переводится в 0. Этим процессор сообщает КП, что воспринятие этого прерывания закончено и КП - может начинать подготовку следующих сигналов прерывания.

 

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

 

 

<== предыдущая лекция | следующая лекция ==>
Аппаратные средства системы прерываний | Понятие исключительной ситуации (исключения)
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.