Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник ОЭВМ Трусфус.doc
Скачиваний:
124
Добавлен:
12.03.2015
Размер:
4.82 Mб
Скачать

6.3.2. Ввод/вывод с использованием системы прерывания

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

Схема организации ввода/вывода с использованием системы прерывания представлена на рис. 6.5.

Отличие этого метода организации ввода/вывода заключается в том, что:

  • установка бита готовности не проверяется программой процессора, а приводит к формированию сигнала прерывания,

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

Вэтом варианте программа ввода/вывода делится на части.

Начальная часть программы (передача параметров процедуре ввода/вывода) и заключительная часть исполняются в виде проблемной программы, а программа управления передачей оформляется в виде программы обработки внешнего прерывания.

При использовании программы обработки прерывания возникает ряд проблем. Это передача параметров и сохранение содержимого РОН.

При прерываниях основной контекст программы сохраняется аппаратно, а РОНы – в программе обработки прерывания. Перед выходом из прерывания программа обработки восстанавливает содержимое РОНов. Но фоновая (проблемная) программа может испортить содержимое РОНов, в которых программа управления вводом/выводом хранит текущий адрес оперативной памяти и размер блока вводимых (выводимых) данных. Чтобы этого не случилось, можно или сохранять эти параметры в зарезервированных ячейках оперативной памяти, или, для МП IA-32, в процедуре прерывания использовать механизм переключения задач (см. 3.3.1. Основные особенности организации программной модели МП IA-32. Процедура переключения задач).

Схема взаимодействия программ при организации ввода/вывода с использованием системы прерывания для случая использования процедуры переключения задач представлена на рис. 6.4. В схеме представлены две возможные программы обработки прерывания: программа ввода очередной порции данных с датчика в оперативную память по сигналу готовности и программа обработки возможной ошибки тайм-аута.

Окончание процедуры ввода производится по обнулению счетчика данных.

.Вопросы для самопроверки:

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

  2. Особенность передачи и сохранения параметров программы с использованием системы прерывания.

6.3.3. Ввод/вывод с использованием устройств прямого доступа к памяти

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

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

В моделях PCIAиспользуют не процессоры, а простейшие устройства ПДП для управления вводом/выводом. Обычно это стандартные устройства управления вводом/выводом на одну операцию. Обычно они рассчитаны на работу с широким кругом периферийных устройств. Для простоты здесь рассматривается специализированное устройство управления, интегрированное с простейшим устройством ввода, например, датчиком температуры.

Схема организации операции ввода/вывода с использованием интегрированного устройства ПДП представлена на рис. 6.5.

Дополнительными устройствами, реализующими работу в режиме ПДП, в представленной схеме являются:

  • инкрементный регистр адреса RA, используется для вычисления текущего адреса ОП в процессе ввода,

  • декрементный счетчик STW, используется для определения окончания передачи заданного массива данных,

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

Функции процессора в передаче данных с использованием ПДП сводятся к инсталляции устройства и анализу корректности завершения передачи данных.

Диаграмма процесса передачи данных с использованием ПДП представлена на рис. 6.6.

Фаза инсталляции устройства ПДП

В этой фазе процессор производит загрузку регистра адреса RА начальным адресом области ввода ОП, загрузку регистра счетчика передаваемых словSTWи включает ПДП в работу установкой бита "Пуск" регистра управленияRUв единичное состояние.

На этом этап инсталляции ПДП заканчивается, и процессор переключается на выполнение фоновых программ. Одновременно с работой процессора производится операция ввода данных устройством ПДП с занятием циклов процессора.

После активизации устройства ввода/вывода с контроллером ПДП, через определенное время устройство записывает в регистр данных RD передаваемые данные (слово) и устанавливает бит готовности RU в единичное состояние.

Бит готовности запускает процедуру внепроцессорной передачи (передачу с занятием цикла процессора):

  • ПУ в очередном цикле процессора по шинам арбитража выставляет запрос шин интерфейса для передачи данных в следующем цикле,

  • Процессор уступает шины передачи данных на следующий цикл устройству ПДП, выигравшему арбитражный запрос на занятие цикла процессора.

В следующем цикле шин устройство ПДП вместо процессора занимает шины интерфейса, задавая код операции (для ввода – записать), данные из регистра RD (рис. 6.4), адрес ячейки ОП из регистраRA и сигнал начала цикла передачи.

Контроллер оперативной памяти принимает команду ПДП, выполняет запись переданных данных по заданному адресу ОП и выставляет сигнал окончания операции.

По этому сигналу схемы контроллера ПДП производят:

  • продвижение адреса данных в регистре адреса (RA:=RA+ размер операнда),

  • коррекцию счетчика передаваемых данных (STW:=STW– 1),

  • сброс бита готовности в регистре управления (RU),

При значении STW> 0, ПДП формирует новые данные и повторяет цикл внепроцессорной передачи.

При значении STW= 0 или обнаружении нештатной ситуации, устройство ПДП формирует и передает в процессор сигнал прерывания.

Таким образом, ввод/вывод данных с использованием внепроцессорных передач начинается с программы процессора по настройке устройства ПДП, а заканчивается программой процессора по анализу корректности окончания операции ввода/вывода.

Вопросы для самопроверки:

1. Процедура прямого доступа к памяти.

2. Состав регистров контроллера ПДП.

3. Процедура активизации устройства ПДП,

4. Процедура занятия цикла процессора.

5. Действия контроллера ПДП по завершению цикла ПДП.

6. Окончание процедуры ввода-вывода.