Конспект лекций Часть 2 Челябинск 2015
Download 1.59 Mb. Pdf ko'rish
|
ftd
Ввод-вывод по прерыванию инициируется периферийным устройством,
генерируя сигнал запроса прерывания, при этом процессор переключается на подпрограмму обслуживания данного периферийного устройства, вызвавшего прерывание. В результате выполнения подпрограммы (обработчика) осуществляется обмен данными. Действия, выполняемые обработчиком, определяются пользователем, а непосредственно операциями ввода-вывода управляет процессор. Для сокращения непроизводительных потерь времени процессора за счет циклов ожидания при программном обмене используют обмен по прерыванию. При готовности к обмену периферийное устройство посылает в процессор запрос на обслуживание – сигнал INT (запрос прерывания). Этот сигнал появляется в произвольный момент времени, а, следовательно, и в произвольной точке текущей программы. Поскольку заранее неизвестно, в какой точке программы и какие периферийные устройства инициируют прерывания, непосредственно в программе команды ввода-вывода использовать нельзя. При наличии нескольких периферийных устройств в контроллере прерывания осуществляется обслуживание прерывающих устройств в соответствии с их приоритетом. Процессор завершает текущую команду и, если прерывание разрешено, формирует сигнал INTA (подтверждение прерывания), который выдается во внешнюю цепь (в частности, в системный контроллер), а также сбрасывает внутренний триггер разрешения прерываний, состояние которого идентифицируется сигналом INTE. Содержимое счетчика команд PC автоматически запоминается в стеке. Происходит переход к подпрограмме обслуживания данного периферийного устройства (обработчику), при этом выполняются следующие операции: • запоминание состояния прерванной программы, которое должно быть предусмотрено пользователем, т.е. составителем подпрограммы (это слово состояния процессора, а также содержимое регистров общего назначения, используемых в подпрограмме обслуживания прерывания), обычно для запоминания используют стек; • выполнение собственно программы обслуживания процесса ввода-вывода; • восстановление состояния прерванной программы (т.е. извлечение и загрузка соответствующих регистров состояния и регистров общего назначения из стека). 82 Возобновляется выполнение прерванной программы по команде возврата из обработчика прерывания (команда RET), являющейся обязательной последней командой обработчика. Как при программном вводе-выводе, так и при вводе-выводе по прерываниям операциями обмена управляет процессор, поэтому очень часто эти два варианта обмена не разделяют и рассматривают их как программный ввод-вывод (Programmed Input/Output, PIO). Download 1.59 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling