Основные функции подсистемы ввода-вывода. Методы организация параллельной работы процессора и устройств ввода-вывода. Прямой доступ к памяти

Основные функции подсистемы ввода-вывода.:

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

2. Согласование скоростей обмена и кэширование данных.

3. Разделение устройств и данных между процессами.

4.Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.

5. Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера.

6. Динамическая загрузка и выгрузка драйверов.

7. Поддержка нескольких файловых систем.

8. Поддержка синхронных и асинхронных операций ввода-вывода.

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

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

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

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

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

Модуль прямого доступа к памяти управляет обменом данных между основной памятью и контроллером ввода-вывода. Процессор посылает запрос на передачу блока данных модулю прямого доступа к памяти, а прерывание происходит только после передачи всего блока данных. DMA-контроллер имеет доступ к центральной шине независимо от центрального процессора. Контроллер содержит несколько регистров, доступных ЦП для чтения и записи (регистр адреса памяти, счетчик байтов, управляющие регистры). Управляющие порты задают, какой порт ввода-вывода должен быть использован, направление переноса данных (чтение/запись), единицу переноса (побайтно, пословно) и число байтов, которое надо перенести за 1 операцию. Сначала ЦП программирует DMA-контроллер, устанавливая его регистры, потом ЦП дает команду дисковому контроллеру прочитать данные во внутренний буфер и проверить контрольную сумму. После чего процессор продолжает свою работу, а DMA начинает свою работу. DMA-контроллер запрашивает перенос данных у дискового контроллера (Шаг 2), данные поступают в буфер контроллера, а затем в оперативную память (шаг 3). Когда запись закончена, дисковый контроллер посылает сигнал подтверждения контроллеру DMA (шаг 4). DMA-контроллер увеличивает используемый адрес памяти и уменьшает значение счетчиков байтов. Шаги 2,3,4 повторяются, пока значение счетчика не станет равным 0. тогда DMA-контроллер инициирует прерывание процессора, сообщая о завершении операции ввода-вывода.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: