Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurs_lektsy_TS_AiU.doc
Скачиваний:
70
Добавлен:
31.03.2015
Размер:
2.39 Mб
Скачать

Лекция №6 Обмен данными между эвм и внешними устройствами с прерыванием текущей программы.

6.1 Принцип организации обмена данными

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

Единственный способ обслуживания в таких ситуациях: прерывание текущей программы и обслуживание ВУ под управлением другой программы. Устраняется основной недостаток обмена данными по готовности — ожидание момента готовности ВУ.

Характерные черты метода:

  1. Обмен данными инициируется ВУ.

  2. Каждое тип устройств должен иметь уникальную программу обслуживания.

  3. Прерывания допускаются только между отдельными командами основной программы.

  4. ЦП имеет средства полной блокировки прерывания.

Рис. 6.1. Блок-схема взаимодействия процессора и ВУ при обмене

6.2 Алгоритм обслуживания ву с прерыванием.

ВУ через свой интерфейс посылает ЦП сигнал запроса на прерывание (ЗП). После получения сигнала ЦП выполняет следующие шаги:

  1. Сохраняет информацию о своем состоянии.

  2. Идентифицирует ВУ, от которого поступил запрос.

  3. Переходит на оперативную программу обслуживания и выполняет обмен данными с ВУ.

  4. Восстанавливает текущее состояние процессора и возобновляет прерванную программу.

В первом шаге под состоянием ЦП понимается содержимое счетчика команд (СчК), регистра состояния процессора (РСП) и всех внутренних регистров, которые будут модифицированы оперативной программой. Процессор с получением ЗП автоматически сохраняет в стеке содержимое СчК и РСП. Сохранение остальных регистров ЦП необходимо предусмотреть в оперативной программе.

Пример:

В семейства Macintoshпроцессор сохраняет

R7

Счетчик Команд

PSW

Регистр Состояния Процессора

В ЭВМ семейства IBMPC:

IP

CS

}Счетчик Команд

Flags

Регистр Состояния Процессора

Второй шагидентификация ВУ, т.е. ЦП должен определить устройство, которое послало ЗП, и найти для него его программу обслуживания. Идентификация ВУ может выполняться 3 способами:

  1. Опрос

  2. По вектору

  3. Комбинированный

1. Опрос ву.

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

1. Управление возвращается в основную программу без проверки запросов остальных устройств.

2. Управление возвращается к программе опроса.

Рис. 6.2 Блок-схема опроса ВУ.

Приоритеты ВУ определяются местом в последовательности опроса. Если устройства имеют существенно различные приоритеты, то применяется возврат в основную программу после обслуживания самого приоритетного устройства (обозначено сплошной линией). Если же приоритеты примерно одинаковы, то возвращаемся к программе опроса (обозначено пунктирной линией).

2. Идентификация ВУ по вектору позволяет существенно сократить время на идентификацию устройства за счет аппаратного перехода к прерывающей программе.

Когда ВУ посылает сигнал ЗП в центральный процессор, процессор выдает сигнал разрешения прерывания (РП) на шину управления.

ВУ в ответ передает код по шине данных – адрес вектора прерывания (АВП).

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

Пример:

В ЭВМ семейства Macintoshвектор прерывания занимает два машинных слова по 16 разрядов. В первом слове хранится адрес программы обслуживания внешнего устройства, во втором – новое слово состояния процессора, в котором указывается приоритет прерывающей программы.

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

АВП

P4

P2

P1

PSW

Для векторов прерывания отводится 256 байт ОЗУ на ВП, начиная с адреса 0, что позволяет разместить 64 ВП.

В ЭВМ семейства IBM PCпод ВП отводится 1024 байта оперативной памяти, что позволяет разместить 256 ВП

АВП:

0000:0000h– 0

0000:0004h- -1-й ВП

0000:0008h– 2-й ВП

0000:03FCh– 255-й ВП


В семейства IBM PC,ВУ передает не АВП, а код номера типа прерывания, номер типа прерывания = АВП/4, т.е. число длиной один байт в диапазоне 0…255.

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