Программно управляемый ввод-вывод

 

 

Наиболее простым методом управления вводом-выводом является небуферированный программно управляемый ввод-вывод.В этом режимев каждом циклеобмена передается только одна порция данных. Это может быть 1, 2, 4 байта. Здесь ввод-вывод происходит под полным контролем процессора и реа­лизуется специальной процедурой ввода-вывода (драйвером периферийного устройства). В этой процедуре процессор, например, с помощью команды ввода-вывода сообщает контроллеру ПУ, а через него и устройству о предстоящей операции. Адрес контроллера ПУ, к которому производит­ся обращение, указывается в адресной части команды ввода или вывода. Контроллер ПУ исполняет затребованное действие, после чего устанавливает в единицу соответ­ствующий разряд в своем регистре состояния. Ничего другого, чтобы уведомить процессор, контроллер ПУ не предпринимает. Следовательно, для определения момента за­вершения операции или пересылки очередного элемента блока данных про­цессор должен периодически опрашивать и анализировать содержимое регис­тра состояния в контроллере ПУ.

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

Алгоритм выполнения обмена под управлением программы приведен на рис. 25.1.

 

 

 
 

 

 


Рис. 25.1. Алгоритм выполнения обмена под управлением программы

 

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

управление;

проверка;

чтение;

за­пись.

Команды управления используются для активизации ПУ и указания требуемой операции. Например, в устройство памяти на магнитном диске может быть выдана команда «Поиск дорожки». Для каждого типа ПУ харак­терны специфичные для него команды управления.

Команда проверки применяется для проверки различных ситуаций, возникаю­щих в ПУ в процессе ввода-вывода. С помощью таких команд процессор спосо­бен выяснить, включено ли ПУ, готово лионо к работе, завершена ли последняя операция ввода-вывода и не возникли ли в ходе ее выполнения какие-либо ошибки. Действие команды сводится к установке или сбросу соответствующих разрядов регистра состояния контроллера ПУ.

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

Команда записи заставляет контроллер ПУ принять элемент данных (байт, слово илидвойноеслово)с шин данных внешнего интерфейса, записать его в буфер данных и затем переслать его в ПУ.

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

Из приведенного описания явно виден основной недостаток программно управляемого ввода-вывода — неэффективное использование процессора из-за ожидания готовности очередной порции информации. В течение всего времени ожидания готовности ПУ процессор не выполняет никаких иных по­лезных действий. Кроме того, пересылка даже одной порции данных (например, слова) тре­бует выполнения нескольких команд. Процессор должен тратить время на анализ разрядов состояния ПУ, запись в контроллер ПУ разрядов управления, чтение или запись данных со скоростью, определяемой внешним устройством. Все это также отрицательно ска­зывается на эффективности ввода-вывода.

Главным аргументом в пользу программно управляемого ввода-вывода явля­ется простота контроллера ПУ, поскольку основные функции по управлению вводом-выводом берет на себя процессор. При одновременной работе с несколькими ПУ приоритет устройств легко изменить программными средствами (последовательностью опроса). Наконец, подключение к подсистеме ввода-вывода новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.

 

 








Дата добавления: 2015-09-28; просмотров: 2128;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.