Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OSSO.docx
Скачиваний:
10
Добавлен:
21.08.2019
Размер:
175.27 Кб
Скачать

Организация параллельной работы устройств ввода-вывода и процессора

Эволюция ввода-вывода

  1. Процессор непосредственно управляет периферийным устройством.

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

  3. Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями

  4. Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без использования процессора

  5. Использование отдельного специализированного процессора ввода-вывода, управляемого центральным процессором

  6. Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора

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

Для современных персональных ЭВМ операции ввода-вывода могут выполняться тремя способами:

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

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

  3. Прямой доступ к памяти (DMA - Direct Memory Access). В этом случае специальный модуль прямого доступа к памяти управляет обменом данными между основной памятью и контроллером. ЦП посылает запрос на передачу блока данных модулю DMA, а прерывание происходит только после передачи всего блока данных. DMA-контроллер имеет доступ к системной шине независимо от ЦП. Он содержит несколько регистров, доступных ЦП. Они задают, какой порт ввода-вывода должен быть использован, направление переноса данных, единицы переноса информации (байт, бит, слово…), а также число байтов, переносимых за одну операцию

Приостановка ЦП происходит только при использовании шины. Это не является прерыванием т.к. ЦП не сохраняет контекст для перехода к другому заданию. Он просто делает паузу на время одного цикла шины.

При большом количестве устройств ввода-вывода от ОС требуется спланировать в реальном масштабе времени. Запуск и приостановку большого количества РАЗНЫХ драйверов. При этом необходимо минимизировать задачи ЦП задачами ввода-вывода. Это достигается применением многоуровневой системы прерывания.

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