Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КСТиАК - Конспект лекций / лекция 10 ввод вывод.doc
Скачиваний:
61
Добавлен:
26.03.2015
Размер:
456 Кб
Скачать
☆

10.4. Прямой ввод-вывод.

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

Простейшая процедура ввода информации из подсистемы ВВ связана с чтением отдельного порта пространства IOSEG. С этой целью физические линии подсистемы ВВ упаковываются в байтовые и многобайтовые наборы, состояние каждого из которых может быть передано на шину данных МС во время цикла чтения порта ВВ. Физическое управление вводом состояния конкретного набора лучше всего осуществлять с помощью шинного формирователя с тремя состояниями(рис. 10.5), открываемого стробом IORC при условии его выбора. Выбор или адресация формирователей возлагается на специальную декодирующую схему, называемую логикой выборки кристаллов, которая, в свою очередь, управляется сигналами шины адреса и при необходимости шины управления, ответственными за кодирование размера передаваемых данных: байта, слова, двойного слова.

Рис. 10.3. Схема порта ввода.

Рис. Рис. 10.4. Схема порта вывода.

Запись данных в порт соответствует их выводу в подсистему ВВ. В простейшем варианте порта вывода (рис. 10.2) данные фиксируются в регистре по стробу IOWC или AIOWC при условии его выбора. Роль адресации регистра выполняет логика выборки кристаллов При использовании строба IOWC данные могут фиксироваться его низким уровнем напряжения, при строое ATOWC они должны восприниматься только по его фронту.

[Вернутся к плану лекции]

10.5. Условный ввод-вывод.

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

Типичное решение проблемы синхронизации обмена состоит в сопровождении операции условного ВВ специальным сигналом готовности RDY (Ready), генерируемым ПУ. Сигнал вводится в МС в составе слова состояния SW и служит для информирования ЦП о готовности ПУ принять или передать новые данные.

Наряду с прямым (рис. 10.5,а) существуют два типа условного ВВ: с занятием никла (рис. 10.5,б) и совмещенный (рис. 10.5,в). В первом случае МС зависает на цикле ожидания готовности, тратя на это все машинное время. Во втором случае, если ПУ не готово к обмену. ЦП возвращается к основной - задаче без выполнения операции ВВ. Однако он может снова проверить готовность ПУ к обмен) и при удачном исходе выполнить ее.

Рис. 10.5.Процедуры программно-управляемого обмена: а— прямого: о — условного с занятием цикла; в—условного совмещенного

После завершения операции ВВ сигнал готовности RDY должен быть снят и выставлен заново только при новой готовности к обмену. С этой целью ПУ следует проинформировать об окончании операции, для чего используется включенный в одно из управляющих слов CW сигнал подтверждения АСК (Acknowledgement). Протокол обмена служебной информацией такого типа (рис. 10.6.) называется квитированием. Он обеспечивает надежную асинхронную передач) данных со скоростями, определяемыми ПУ.

Рис. 10.6. Временные диаграммы условного обмена: а — ввод; б — вывод.

Приведем пример процедуры условного ВВ с занятием цикла и программно-управляемым квитированием:

PUSH

PSW

WA1TI:

IN CSSC

;Ввод слова состояния

AN I

RDY

;Выделение сигнала RDY

JZ

WAITI

;Если RDY = 0, то ждать

POP

PSWI

;Процедура прямого ВВ

PUSH

PSW

MV1

А, АСК

;Вывод сигналаь

OUT

CSSC

;подтверждения АСК

WAIT2:

IN CSSC

;Выделение сигнала RDY

JNZ

WAIT2

;Если RDY - 1, то ждать

MVI

A, NACK

;Сброс сигнала

OUT

CSSC

;подтверждения АСК

POP

PSW

RET

В сравнении с прямым УСЛОВНЫЙ ВВ С программным квитированием связан с увеличением аппаратных затрат (рис. 10.7.). Однако это наиболее типичный вид обмена с ПУ. Он распространен системах, где эффективность не связана с ожиданиями. При этом вариант совмещенного условного обмена обеспечивает оперативное отслеживание внешних событий и своевременную реакцию на их возникновение.

Рис. 10.7. Схема порта ввода с программным квитированием.

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

Рис. 10.8. Порт условного ввода: а -структурная схема; б -временные диаграммы.

Очень часто на входе порта ввода (рис. 10.8,а) предусматривается регистр-защелка, фиксирующий входные данные по стробу STB (Strobe), генерируемому ПУ. Устанавливает флажок-готовности IBF (Input Buffer Full), инициируя операцию ввода (рис. 10.8,б). Флажок сбрасывается автоматически при чтении содержимого порта ввода. Необходимо обратить внимание на логику формирования флажка готовности, который переключается только после завершения операции защелкивания во входной регистр или считывания из него данных. Что произойдет, если это условие не будет выполнено?

Введение логики формирования флажка готовности в состав входного порта освободило ПУ от необходимости прямого управления им, придало процедуре обращения к порту с обеих сторон симметричный вид. Применение этой методики к выходному порту приводит к схеме на рис. 10.9, а, в которой роль флажка готовности выполняет флажок OBF (Output Buffer Full), сигналом окончания операции вывода и установки флажка OBF служит сигнал АСК. генерируемый ПУ. Процедуры условного ВВ упростились. Например, для условного ВВ с занятием цикла имеем

IA;

IN

CSS

;Ввод слова состояния

ANI

1BF

;Выделение флажка IBF

JZ

IA

;Если IBF = 0. то ждать

IN

CSD

;Иначе — ввод данных

RЕT

ОА:

PUSH

PSW

WAIT:

IN

CSS

;Ввод слова состояния

ANI

NOBF

;Выделение флажка OBF

JZ

WAIT

;Если OBF = 0, то ждать

POP

PSW

OUT

CSD

;Иначе - вывод данных

RЕT

Рис. 10.9. Порт условного вывода:а — структурная схема: б — временные диаграммы.

При необходимости на выходе порта вывода может быть предусмотрен трех-стабильный буфер, открываемый сигналом АСК. Это важно, например, при организации двунаправленного порта. Состояние входного и выходного регистров порта отображается флажками готовности 1BF и OBF соответственно.

Одновременная активизация линий АСК и STB реализует выходной порт с обратной связью. Рассмотренные выше порты являются простейшими схемными элементами, на основе которых реализуется связь с ПУ. Они образуют первый, наиболее близкий к МС уровень аппаратных средств подсистемы ВВ. В ряде случаев этот уровень единственный.

[Вернутся к плану лекции]