Организация ввода вывода в режиме ввод-вывод по прерываниям.
При передачах данных с прерыванием программы обмен осуществляется под управлением ЦП. Операции ввода вывода при таких обменах инициируются запросом прерывания от периферийного устройства. Возможность прерывания программ – важное архитектурное свойство ВМ, позволяющее повышать производительность ЦП при наличии нескольких протекающих параллельно во времени процессов, требующих в произвольные моменты времени управления и обслуживания со стороны ЦП.
ПУ, поддерживающее обмен с прерыванием программы, должно содержать специальную схему, формирующую сигнал запроса прерывания INT, который по соответствующей линии шины управления поступает на одноименный вход процессора. ЦП не тратит время на слежение за состоянием флагов готовности своих устройств ввода-вывода, а работает по своей основной программе. При готовности к обмену ПУ формирует запрос прерывания и посылает его процессору. ЦП, обнаружив сигнал запроса, завершает выполнение операций, которые нельзя прервать(например, чтобы избежать потери данных, заканчивает исполнение текущей команды) и выполняет:
o Идентифицирует источник прерываний
o Запоминается информация о состоянии ЦП(содержимое счетчика(указателя) команд и всех регистров)
o Выполняется инициализация процессора для выполнения прерывающей программы к подпрограмме обработки прерываний
o Осуществляется запуск и исполнение прерывающей программы обслуживания поступившего запроса прерывания
o Восстанавливает состояние на момент прерывания
o Возвращает управление прерванной программы
Эффективность обменов с прерыванием программы определяется типом ПУ, участвующих в обмене. С относительно медленными устройствами ввода-вывода потери времени на переключение ЦП при прерываниях относительно невелики, поэтому система эффективна. При работе с быстродействующими ПУ на транзитные пересылки слов из порта в регистр ЦП, а затем из этого регистра в память тратится сравнительно много времени.
Прямым доступом к памяти (ПДП) называют способ обмена данными, обеспечивающий установление связи и передачу данных между ОП и ПУ автономно от ЦП. При наличии кэш-памяти (внутренней или внешней) режим ПДП позволяет осуществлять обмен параллельно с выполнением процессором основной программы. Это способствует повышению общей производительности ВМ. Прямой доступ к памяти требует более сложного интерфейса, поэтому в этом режиме применяют специальные управляющие контроллеры, которые в зависимости от вариантов аппаратной реализации подразделяются на специализированные процессоры ввода-вывода и контроллеры ПДП. В отличие от других способов обмена управляющий контроллер после получения запроса на организацию передачи от ПУ принимает на себя функции управления системной шиной, при этом сам процессор путем перевода своих тристабильных выходных буферов шины в состояние высокого сопротивления отключается от системной шины.