Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_к_экзамену_АК_2009_10(теория).doc
Скачиваний:
25
Добавлен:
17.09.2019
Размер:
3.38 Mб
Скачать
  1. Команды, используемые при программно управляемом вводе-выводе.

Типы команд ввода-вывода: управление; проверка; чтение; запись.

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

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

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

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

  1. Ввод-вывод по прерываниям: принципы, механизм.

1. ЦП выдает команду ввода или вывода, а затем продолжает выполнять другую полезную работу.

2. Когда ПУ готово к обмену данными, оно через МВВ извещает об этом процессор с помощью запроса на прерывание.

3. ЦП осуществляет передачу очередного элемента данных, после чего возобновляет выполнение прерванной программы.

Свойства:

+ выше эффективность: устранены ненужные ожидания;

- обработка прерывания занимает достаточно много времени ЦП;

- каждое слово, пересылаемое из ОП в МВВ или в противоположном направлении проходит через ЦП (как и при программно управляемом методе).

Вопросы ввода-вывода по прерываниям:

1. ЦП должен выяснять, какой из МВВ и какое из подключенных к этому модулю ПУ выставили запрос?

2. При множественных прерываниях – какое из них должно быть обслужено в первую очередь?

Алгоритм прерывания:

  1. Методы идентификации устройств, запрашивающих прерывание.

Методы идентификации:

- множественные линии прерывания (между ЦП и модулями ввода-вывода);

- программная идентификация;

- векторное прерывание.

Множественные линии прерывания:

+наиболее простой подход;

-выделение большого количества управляющих линий нерационально;

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

Программная идентификация: недостаток = большие временные потери.

1. Обнаружив запрос прерывания, ЦП переходит к общей программе обработки прерывания.

2. Задачей общего обработчика является опрос всех МВВ с целью определения источника запроса.

3. Когда источник прерывания установлен, ЦП переходит к программе обработки прерывания, соответствующей этому источнику.

Варианты программной идентификации:

1. Использование специальной командной линии опроса: если на шине адреса находится адрес конкретного МВВ и выставлен на линию сигнал опроса, МВВ отвечает, вызывал ли он прерывание;

2. Опрос регистра состояния МВВ – адресуемый регистр, в котором есть информация, вызывал ли МВВ прерывание.

Векторные прерывания:

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