Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_vopr_ekzEvm.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
434.18 Кб
Скачать

Методы управления вводом/выводом Программно управляемый ввод/вывод

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

Не готовы

Готовы

Нет

Да

Выдача команды ввода в МВВ

Чтение из регистра состояния МВВ

Ввод слова из МВВ

Запись слова в память

Подсчет введенных слов

ЦП→МВВ

МВВ→ЦП

Признак ошибки

МВВ→ЦП

ЦП→ОП

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

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

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

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

Главным аргументом в пользу программно управляемого ввода/вывода является простота МВВ, поскольку основные функции по управлению вводом/выводом берет на себя процессор. Также подключение к СВВ новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.

Ввод/вывод по прерываниям

Да

Признак ошибки

Готовы

Инициализация

Выдача команды ввода в МВВ

Обработка прерывания

Чтение из регистра состояния МВВ

Ввод слова из МВВ

Запись слова в память

Подсчет введенных слов

Выдача команды ввода в МВВ

Нет

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

Этот метод эффективнее программно управляемого ввода/вывода, поскольку устраняет ненужные ожидания, однако обработка прерывания занимает достаточно много времени ЦП. Кроме того, каждое слово, пересылаемое из памяти в модуль ввода/вывода или в противоположном направлении, как и при программно управляемом вводе/выводе, проходит через ЦП.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]