Методы управления вводом-выводом

Организация ввода-вывода

Организация обмена информацией между процессорами и внешними устройствами

После обоснования и выбора варианта подключения средства диагностирования к ПК следующим этапом является организация обмена информацией. Взаимодействие процессора с внешними устройствами осуществляется посредством операций ввод-вывода. Ввод-вывод может осуществляться по имеющимся интерфейсам системного блока.

5.1 Организация ввода-вывода

5.2 Методы управления вводом-выводом

5.3 Типовая структура контроллеров

Особенности ввода-вывода данных определяются назначением проектируемой СКС. В компьютере производится преобразование вводимых исходных данных и выводимых данных результата. Для реализации ввода-вывода используются служебные слова и команды. Предварительно необходимо обратиться к внешнему устройству. Для этого используется адресация в адресном пространстве ввода-вывода. В ПК зарезервировано 64 Кбайт для портов ввода-вывода. Данное адресное пространство закреплено между внешними устройствами и ПУ. При обращении к портам может передаваться 1-4 байт данных. Адресное пространство уменьшается. Для адресации к портам используются соответствующие команды, которые указывают на место ввода-вывода. Обычно для этого используются РОН или аккумулятор.

OUT (FFn), A – передача данных из аккумулятора в порт 16-разрядным адресом

IN (A), FFn – из порта в аккумулятор

EAX -> AX -> AL

AH

Обычно прикладные программы обращаются с портами через драйверы устройств ввода-вывода.

В компьютерных системах используется 3 основных метода управления операциями ввода-вывода:

- Программируемый ввод-вывод (по флагу готовности)

- Ввод-вывод по прерыванию

- Прямой доступ к памяти (ПДП)

Сущность метода программируемого ввода-вывода заключается в том, что процессор управляет операциями ввода-вывода.

Память
Блок-схема:

Процессор
ШД

       
   
 


Ввод-вывод
Опрос А

Данные от ВУ

Ввод-вывод
Опрос В Данные от ВУ

 

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

Более прогрессивный – метод прерывания устройств, в котором устройство сигнализирует процессору о том, что оно готово к обмену. Для реализации этого вводится контроллер прерываний:

 
 
Память


Процессорр
ШД

       
   
 
 


Ввод-вывод
Контроллер прерывания пр
IRQa Данные от ВУ

Ввод-вывод
INTR IRQв Данные от ВУ

NMI

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

Изначально в качестве контроллера прерываний использовалась одна микросхема, затем добавили еще одну.

INTR

N2 8259A
N1 8259A
IRQ0 IRQ0

IRQ2

IRQ7 IRQ15


Запросы на прерывание – системный ресурс. Они закрепляются между ПУ. IRQ0 – наивысший приоритет – системный таймер.

Каждому запросу памяти соответствует вектор, который указывает на адрес команды.

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

Память
Контроллер ПДП
Передача

Ввод-вывод
Ввод-вывод
Процессор
Управления

 

 

Данные от ВУ

Данные от ВУ

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