Методы управления вводом-выводом
Организация ввода-вывода
Организация обмена информацией между процессорами и внешними устройствами
После обоснования и выбора варианта подключения средства диагностирования к ПК следующим этапом является организация обмена информацией. Взаимодействие процессора с внешними устройствами осуществляется посредством операций ввод-вывода. Ввод-вывод может осуществляться по имеющимся интерфейсам системного блока.
5.1 Организация ввода-вывода
5.2 Методы управления вводом-выводом
5.3 Типовая структура контроллеров
Особенности ввода-вывода данных определяются назначением проектируемой СКС. В компьютере производится преобразование вводимых исходных данных и выводимых данных результата. Для реализации ввода-вывода используются служебные слова и команды. Предварительно необходимо обратиться к внешнему устройству. Для этого используется адресация в адресном пространстве ввода-вывода. В ПК зарезервировано 64 Кбайт для портов ввода-вывода. Данное адресное пространство закреплено между внешними устройствами и ПУ. При обращении к портам может передаваться 1-4 байт данных. Адресное пространство уменьшается. Для адресации к портам используются соответствующие команды, которые указывают на место ввода-вывода. Обычно для этого используются РОН или аккумулятор.
OUT (FFn), A – передача данных из аккумулятора в порт 16-разрядным адресом
IN (A), FFn – из порта в аккумулятор
EAX -> AX -> AL
AH
Обычно прикладные программы обращаются с портами через драйверы устройств ввода-вывода.
В компьютерных системах используется 3 основных метода управления операциями ввода-вывода:
- Программируемый ввод-вывод (по флагу готовности)
- Ввод-вывод по прерыванию
- Прямой доступ к памяти (ПДП)
Сущность метода программируемого ввода-вывода заключается в том, что процессор управляет операциями ввода-вывода.
|
|
![]() | ![]() | ||
|
Данные от ВУ
|

Процессор в цикле опрашивает каждое ПУ через соответствующую схему ввода-вывода на предмет, готово ли ВУ или нет. Устройство сигнализирует процессору о готовности обмена по соответствующему флагу запроса. Если устройство готово, то процессор выполняет необходимую процедуру. Запросы от других ВУ игнорируются до окончания выполнения запроса. Недостаток: теряется процессорное время на опрос, загружается системная шина.
Более прогрессивный – метод прерывания устройств, в котором устройство сигнализирует процессору о том, что оно готово к обмену. Для реализации этого вводится контроллер прерываний:
|
|


![]() | |||
![]() | |||
|


|
|
NMI
В этом методе ПУ при готовности посылает запрос на прерывание с просьбой, чтобы процессор прервал выполнение текущей программы и перешел на обслуживание с ПУ, которое выставило запрос. Получив запрос, процессор заносит в стек параметры прерванной программы, в тч и адрес возврата, выполняет необходимую процедуру обслуживания ПУ, после чеговыполняется предыдущая программа. Чтобы не было конфликтных ситуаций при одновременном запросе используют приоритет. Наивысший приоритет имеет системный таймер. Анализирует приоритеты контроллер прерываний. В процессоре имеется единственный вход на прерывание INTR.
Изначально в качестве контроллера прерываний использовалась одна микросхема, затем добавили еще одну.
INTR
|


|
IRQ2
IRQ7 IRQ15
Запросы на прерывание – системный ресурс. Они закрепляются между ПУ. IRQ0 – наивысший приоритет – системный таймер.
Каждому запросу памяти соответствует вектор, который указывает на адрес команды.
ПДП – продолжение первых двух методов, обеспечивает быстрый ввод-вывод данных в оперативную память. Это достигается за счет передачи процессором операций ввода-вывода контроллеру ПДП.
|
|
|

|





|
Данные от ВУ
Данные от ВУ
Этот метод используется при обмене большим количеством информации. Тк контроллер используется только для передачи данных, скорость передачи большая. Контроллер ПДП работает в режиме приоритета, те анализирует поступившие сигналы на запрос на прямой доступ.