Интерфейсы АСОИУ. Курс лекций. Писарев А.П. - 12 стр.

UptoLike

Составители: 

ОСНОВНЫЕ РЕЖИМЫ ВВОДА - ВЫВОДА
Для учета особенностей реализации процессов ввода-вывода и специфики различного
типа ПУ используются три режима ввода-вывода информации: программный ввод-вывод,
ввод-вывод в режиме прерываний и с прямым доступом к памяти.
Интерфейсы должны учитывать возможность реализации всех 3-х режимов ввода-вывода.
Программный ввод-вывод. Здесь инициализация и управление процессом ввода
-вывода
осуществляет процессор. Существует три способа его выполнения (см. рис.1).
а) б)
Нет
Рис.1. Программный ввод-вывод
Первый способпрямой, используется для синхронных ПУ, т.е. устройств, которые всегда готовы к
работе и циклов ожидания не требуется. Второйусловный с занятием цикла, когда при не готовности
ПУ, процессор ждет до тех пор, пока наступит его готовность. Третийусловный с совмещением. В
отличие от предыдущего, процессор не ждет
готовности ПУ, а переходит к продолжению программы с
периодической проверкой готовности ПУ.
Ввод-вывод в режиме прерываний. В этом случае инициатором начала процесса ввода-вывода
является ПУ. Оно, когда готово, подает сигнал процессору "запрос на прерывание". Процессор, если
ПУ разрешен такой режим, завершает текущую команду и переходит к выполнению процесса ввода-
вывода (см. рис. 2). Сначала он осуществляет контекстное переключение, т.е. запоминает свое
состояние, чтобы можно было после продолжить программу, идентифицирует ПУ и передает
управление драйверу данного ПУ (ПП), который и осуществляет ввод или вывод информации.
Идентификация ПУ производится с помощью адреса вектора прерывания, который содержит номер
ячейки, где хранится первая команда этого драйвера. Адрес вектора прерывания ПУ передается
процессору от контроллера прерываний.
ВВ
Готов?
ВВ
Готов?
ВВ
а) Прямой - для
синхронных ПУ
б) Условный с
занятием цикла
в) Условный с
замещением
Нет
Нет
Да
Да
      ОСНОВНЫЕ РЕЖИМЫ ВВОДА - ВЫВОДА


      Для учета особенностей реализации процессов ввода-вывода и специфики различного
типа ПУ используются три режима ввода-вывода информации: программный ввод-вывод,
ввод-вывод в режиме прерываний и с прямым доступом к памяти.
      Интерфейсы должны учитывать возможность реализации всех 3-х режимов ввода-вывода.
      Программный ввод-вывод. Здесь инициализация и управление процессом ввода-вывода
осуществляет процессор. Существует три способа его выполнения (см. рис.1).

  а) Прямой - для                   б) Условный с                  в) Условный с
а) б)                                                              замещением
  синхронных ПУ                     занятием цикла


                                                          Нет
       ВВ
                                                                       Готов?
                                              Нет
                                        Готов?
                        Нет                                                        Да
                                                 Да
                                                                         ВВ
                                         ВВ




Рис.1. Программный ввод-вывод

Первый способ – прямой, используется для синхронных ПУ, т.е. устройств, которые всегда готовы к
  работе и циклов ожидания не требуется. Второй – условный с занятием цикла, когда при не готовности
  ПУ, процессор ждет до тех пор, пока наступит его готовность. Третий – условный с совмещением. В
  отличие от предыдущего, процессор не ждет готовности ПУ, а переходит к продолжению программы с
  периодической проверкой готовности ПУ.
      Ввод-вывод в режиме прерываний. В этом случае инициатором начала процесса ввода-вывода
является ПУ. Оно, когда готово, подает сигнал процессору "запрос на прерывание". Процессор, если
ПУ разрешен такой режим, завершает текущую команду и переходит к выполнению процесса ввода-
вывода (см. рис. 2). Сначала он осуществляет контекстное переключение, т.е. запоминает свое
состояние, чтобы можно было после продолжить программу, идентифицирует ПУ и передает
управление драйверу данного ПУ (ПП), который и осуществляет ввод или вывод информации.
Идентификация ПУ производится с помощью адреса вектора прерывания, который содержит номер
ячейки, где хранится первая команда этого драйвера. Адрес вектора прерывания ПУ передается
процессору от контроллера прерываний.