Интерфейсы ПК

       

Временные диаграммы синхронного обмена:


Рисунок 5.7. Временные диаграммы синхронного обмена:

а - передача, б - прием.

Обмен при разрядности 16 и 32 бит происходит аналогич- но, но при использовании двух кабелей (В и Q) передачи по ним управляются сигналами REQB#/ACKB# и REQQ#/ACKQ# соответственно. По обоим кабелям передачи выполняются в одинаковых режимах. Если в последней фазе данных исполь- зуются не все байты, передатчик обязан снабдить их кор- ректным битом паритета.

При описании фаз шины не говорилось о временных задерж- ках. Они определяются спецификацией так, чтобы возмож- ный "перекос" - неодновременный приход сигналов, выз- ванный задержкой как в электронных схемах, так и в разных проводах кабеля, - не влиял на устойчивость протокола. В асинхронном режиме обмена на скорость передачи инфор- мации влияет и длина кабеля, поскольку изменения состоя- ний участников обмена привязываются к сигналам, распро- страняющимся по кабелю с ограниченной скоростью. Из-за необходимости учета задержек в случае применения пары кабелей в каждом из них используется своя пара REQ#/ACK#.

В фазе Command ЦУ запрашивает от ИУ команду. В фазе Status ЦУ делает запрос на передачу ИУ информации о сво- ем состоянии. В фазах Data IN и Data OUT ЦУ делает за-

7 Зак.№530

просы на передачу данных к И У и от него соответственно. Фазы Message IN и Message О UT служат для передачи сооб- щений. Фазу Message OUT ЦУ вводит в ответ на условие Attention, порождаемое ИУ сигналом ATN#, когда оно нуж- дается в посылке сообщения ЦУ. Фазу Message IN ЦУ вво- дит при необходимости посылки сообщения ИУ.

Между фазами передачи информации сигналы BSY#, SEL#, REQ# и АСК# должны оставаться в неизменном состоянии, меняться могут только значения сигналов C/D#, 1/0#, MSG# и шины данных.

Сигналы ATN# и RST# могут порождать условия Attention и Reset соответственно, причем асинхронно по отношению к фазам шины. Эти условия могут привести к изменению пред- определенного порядка фаз. Сигнал ATN# вводится ИУ во время любой фазы, кроме арбитража и состояния покоя шины.
Сигнал RST# вводится в любой момент любым уст- ройством, и по условию Reset все устройства должны не- медленно освободить шину. В зависимости от настройки, принятой для всех устройств конкретной системы, возмож- но выполнение одного из двух вариантов сброса. "Жесткий" сброс переводит устройства в состояние, принятое по вклю- чению питания, сбрасывая все текущие процессы, очереди и т. п. В случае "мягкого" сброса после освобождения шины устройства пытаются завершить начатые операции, сохра- няя текущие назначения настроек.

Каждый процесс ввода/вывода состоит из следующей после- довательности фаз шины: из состояния Bus Free через фазу Arbitration переход к фазе Selection или Reselection. Далее сле- дуют фазы передачи информации (Command, Data, Status, Message). Завершающей фазой является Message In, в кото- рой передается сообщение Disconnect или Command Complete, после чего шина переходит в состояние покоя Bus Free.

Архитектура SCSI обеспечивает для каждого процесса вво- да/вывода сохранение набора из трех указателей - Saved SCSI Pointers, для команды, состояния и данных. ИУ имеет текущий набор указателей (только один), в который копи- руется сохраненный набор для текущего процесса. Текущие указатели указывают на очередной байт команды, состоя-

ния и данных, которые будут передаваться между памятью ИУ и ЦУ. Сохраненные указатели команды и состояния все- гда указывают на начала блоков дескрипторов команд и со- стояния. Сохраненный указатель данных указывает на на- чало блока данных до тех пор, пока ЦУ не пришлет сообщение Save Data Pointer. По его приему будет сохранен текущий указатель данных. Когда ЦУ отключается от шины, информация о текущем процессе ввода/вывода содержится в сохраненном наборе указателей. При возобновлении про- цесса ЦУ сообщением Restore Pointers может потребовать у И У скопировать сохраненный набор в текущий и продол- жить выполнение команд данного процесса ввода/вывода.

Поскольку указатель данных может быть модифицирован ЦУ до завершения ввода/ вывода, использование указателя для определения реального количества передан- ных данных дает ненадежные результаты.


Содержание раздела