Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lsa_new.doc
Скачиваний:
184
Добавлен:
10.02.2016
Размер:
6 Мб
Скачать
☆

4.5 Интерфейс программного обмена данными цвм с объектами

Интерфейс безусловной передачи данных

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

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

Функциональная схема интерфейса безусловного ввода данных из ВУ ЭВМ представлена на рис.4.4 . Регистр данных интерфейса /РД/ служит для временного храненияn-разрядного слова данных, подготовленного ВУ для ввода в ЭВМ. На выходе РД установленоnдвухвходовых логических схем "И" /Иn/, называемых информационнымивентилями. Вторые входы всех вентилей соединяются с выходом селектора ВУ. Селектор ВУ состоит из дешифратора адреса ВУ и ряда двухвходовых схем "И".

Рис. 4.4 Функциональная схема интерфейса безусловного ввода данных из ВУ ЭВМ

Для ввода данных в ЭВМ процессор устанавливает на шину адреса /ША/ общего магистрального канала адрес регистра данных внешнего устройства, на шину управления /ШУ/ - сигнал "чтение". В результате действия обоих этих сигналов выход селектора ВУ переводится в активное состояние. Сигнал с выхода селектора открывает информационные вентили, данные из РД поступают на шину данных /ШД/ и считываются процессором.

Если разрядность слова данных ВУ меньше разрядности ШД ЭВМ, то РД может содержать меньшее число разрядов.

Интерфейс безусловного вывода данных из ЭВМ во ВУ /рис.4.5 / строится аналогично интерфейсу безусловного ввода. Регистр данных ВУ заполняется данными с шины данных ЭВМ в тот момент, когда одновременно активны выход дешифратора адреса и сигнал на линии «запись» шины управления.

Схемы интерфейсов безусловного ввода и вывода легко могут быть реализованы в виде единой БИС.

Рис. 4.5. Интерфейс безусловного вывода данных из ЭВМ во ВУ

Условная передача данных интерфейса

В отличие от безусловной передачи данных условная передача осуществляется лишь в случае готовности внешнего устройства к обмену данными.

Перед выполнением операции ввода или вывода слова данных ЭВМ проверяет состояние внешнего устройства и в случае его готовности осуществляет обмен данными. Блок-схема алгоритма условной передачи данных представлена на рис. 4.5.6.

4.6.

На первом шаге выполняется команда ввода в ЭВМ информации о состоянии внешнего устройства. На следующем шаге эта информация анализируется, и в случае готовности внешнего устройства на третьем шаге осуществляется передача данных. Если ВУ не готово, процессор возвращается к первой команде. По завершении передачи процессорсбрасывает сигнал готовности внешнего устройства.

Условная передача является идеальной в смысле согласования временных различий в работе процессора и различных ВУ. Функциональная схема интерфейса условного ввода данных приведена на рис.4.5.4 . Она содержит все элементы интерфейса безусловного обмена и, кроме того, регистр состояния интерфейса /РСИ/ с элементами записи - считывания информации. В простейшем случае РСИ содержит один триггер, называемый триггером флага готовности внешнего устройства. Если ВУ занято выполнением предыдущей команды или готовит данные, то оно сохраняет триггер флага в нулевом состоянии. Когда ВУ готово к обмену, оно передает данные в РД интерфейса и устанавливает сигналом "Готов" триггер флага готовности РСИ в единичное состояние. Чтобы проверить готовность ВУ к обмену, процессор должен считать информацию из РСИ, как при безусловном способе обмена. Если триггер флага находится в нулевом состоянии, то организуется цикл чтения содержимого РСИ и его анализ. При готовности ВУ выполняется команда чтения данных из РД и запись их в ячейку ОЗУ. После передачи слова данных триггер флага может быть сброшен в нулевое состояние командой "запись" по адресу РСИ при нулевой информации на шине данных.

Триггер флага готовности может быть установлен в единицу только сигналом ВУ на линии "Готов", а процессор может лишь считать хранящуюся в нем информацию или сбросить его в ноль.Схему вывода разработать самостоятельно

Передача данных с прерыванием программы процессора

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

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

1. Запоминается информация о текущем состоянии процессора.

2. Идентифицируется устройство, от которого поступил запрос на прерывание.

3. Осуществляется переход по адресу требуемой подпрограммы обработки прерываний и выполняется передача данных под управлением этой программа.

4. Восстанавливается состояние процессора и возобновляется работа прерванной программы.

В первом из перечисленных шагов под "состоянием процессора" подразумевается состояние счетчика команд /СК/, регистра состояния процессора /РСП/ и всех внутренних ре­гистров процессора. Для запоминания этих состояний используется стековая память, которая работает по принципу магазина: "вошедший последним выходит первым".

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

Третий шаг выполняется с помощью обычных команд ввода-вывода и обработки информации.

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

Схема интерфейса обмена данными с прерыванием программы по существу состоит из тех же компонентов, что и интерфейс условного обмена данными /рис.4.5.4/. Вместе с тем, регистр состояния интерфейса кроме триггера флага готовности ВУ должен содержать еще триггер разрешения прерывания. Выходные сигналы обоих триггеров объединяются с помощью логической схемы "И", а выход ее соединяется с линией "запрос прерывания" на ШУ.

Для реализации обмена данными с прерыванием необходимо программным путем записать единицу в триггер разрешения прерывания регистра состояния интерфейса. Триггер флага готовности ВУ может быть установлен в единицу только сигналом по линии "Готов" от ВУ. Сброс обоих триггеров можно осуществлять программным путем, устанавливая триггер разрешения прерывания в нуль, программа может запрещать или "маскировать" прерывания.

Если указанные разряды РСИ находятся в единичном состоянии, то на шину управления ОМК поступает сигнал "Запрос прерывания". Процессор заканчивает выполнение очередной команды основной программы и приступает к обработке запроса на прерывание.

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

Для реализации прерывания по вектору интерфейс ВУ должен содержать схемы учета приоритетов и формирователя адреса вектора прерывания.

Общепринятый способ аппаратной реализации учета приоритетов представлен на рис.4.5.5 . Интерфейсы всех ВУ присоединены параллельно к, линии " Запрос прерывания" ШУ ЭВМ и последовательно к линии "Разрешения прерывания". Сигнал "Разрешение прерывания" поступает только на первое внешнее устройство. Если ВУ /I/ не требовалопрерывания, оно пропускает сигнал "Разрешение прерывания" к следующему устройству и т.д. Первое устройство в цепи, которое посылало сигнал "Запрос прерывания", поглотит сигнал "Разрешение прерывания" и выдаст на ШД адрес вектора прерывания. Процессор использует адрес вектора прерывания для выбора программы обслуживания ВУ.

Адрес вектора прерывания представляет собой обычное слово данных /чаще всего 8-битовое/, которое поступает на шину данных ЭВМ с формирователя адреса вектора прерывания интерфейса ВУ. В различных ЭВМ может быть различное число линий"3апрос прерывания", "Разрешение прерывания" и, следовательно, несколько приоритетных уровней прерываний.

4.8.

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

В обоих способах обработки прерывания пользователь имеет возможность присвоить каждому ВУ свой приоритет обслуживания.

При присвоении приоритетов следует учитывать следующие обстоятельства:

- быстродействующим устройствам присваивается наивысший приоритет обслуживания;

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

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

.

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