Скачиваний:
207
Добавлен:
14.06.2020
Размер:
3.2 Mб
Скачать
  1. Ввод вывод в программно-управляемом режиме, по прерываниям от ву и в режиме пдп. Сравнительная оценка достоинства и недостатки.

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

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

  • ввод-вывод по прерываниям;

  • прямой доступ к оперативной памяти.

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

Достоинства:

  • простота

Недостатки:

  • темп передачи при вводе/выводе ограничен скоростью, с которой ЦП в состоянии опросить и обслужить устройство;

  • ЦП вовлечен в управление передачей, для каждой пересылки он должен выполнить определенное количество команд.

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

Достоинства: ввод-вывод по прерываниям эффективнее программно-управляемого ввода-вывода, поскольку устра­няет ненужные ожидания

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

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

Достоинства:

  • Предельно быстрая передача данных

  • Не тратится время ЦП

Недостатки:

  • Сложность аппаратной и программой организации

  1. Ввод сигнала в программно-управляемом режиме. Пример реализации.

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

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

Достоинства и недостатки

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

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

Пример аппаратной реализации

Пример 1

Центральный процессор посылает команду устройству управления, требующую, чтобы устройство ввода-вывода выполнило некоторое действие. Например, если мы управляем дисководом, то это может быть команда на включение двигателя или команда, связанная с позиционированием магнитных головок. Устройство управления исполняет команду, транслируя сигналы, понятные ему и центральному устройству, в сигналы, понятные устройству ввода-вывода. После выполнения команды устройство ввода-вывода (или его устройство управления) выдает сигнал готовности, который сообщает процессору о том, что можно выдать новую команду для продолжения обмена данными. Однако поскольку быстродействие устройства ввода-вывода намного меньше быстродействия центрального процессора (порой на несколько порядков), то сигнал готовности приходится очень долго ожидать, постоянно опрашивая соответствующую линию интерфейса на наличие или отсутствие нужного сигнала. Посылать новую команду, не дождавшись сигнала готовности, сообщающего об исполнении предыдущей команды, бессмысленно. В режиме опроса готовности драйвер, управляющий процессом обмена данными с внешним устройством, как раз и выполняет в цикле команду «проверить наличие сигнала готовности». До тех пор, пока сигнал готовности не появится, драйвер ничего другого не делает. При этом, естественно, нерационально используется время центрального процессора.

Пример 2

Блок-схема программы

МВВ – модуль ввода-вывода

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

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

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

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

Команда чтения побуждает модуль получить элемент данных из ВУ и занести его в регистр данных (РД). ЦП может получить этот элемент данных, запросив МВВ поместить его на шину данных.

Команда записи заставляет модуль принять элемент данных (байт или слово) с шины данных и переслать его в РД с последующей передачей в ВУ.

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