* Добавление в NTA при потребности (см. пн. 5.3.2 и 11.2).
** В очистном цикле данных не происходит передачи данных.
*** Предполагаемое использование кода MS=4 состоит в том, чтобы показать при DS=(u), что запрашиваются ограниченные действия слуги, прежде чем будут переданы дальнейшие данные. Точные действия могут зависеть от применения, при этом код MS = 4 не сопровождается действительными данными.
П о с л е д о в а т е л ь н о сть действий мастера
для формирования сигнала DS
Рис. 14. Цикл чтение-модификация-запись
Сигналы на линиях MS, выставленные мастером, неизменны с момента начала разброса фронтов до DS (t) р остаются такими до получения DK(t). Хотя линии MS и могут быть установлены в упомянутое состояние при нескольких переходах DS (t), на этих линиях могут случаться выбросы после DK (t), длящиеся до времени разброса перед DS (t).
Принудительная передача чтения выполняется мастером, формирующим DS (t). Он использует DK (t), получаемые от слуги, для стробирования данных, но мастер не ожидает прихода сигнала DK (t) прежде, чем формировать следующий сигнал DS(t).
О т в е т н ы е действия слуги на сигнал DS(t).
Слуги, которые стали присоединенными в течение широкого адресного цикла, не должны генерировать сигнал DK = 1.
Слуга, который стал присоединенным к определенному устройству во время первичного адресного цикла, должен отвечать на сигнал DS(t) в пределах лимита времени ответных действий слуги в цикле данных (см. приложение А) или должен выставить WT = 1 до тех пор, пока он не сформирует сигнал DK(t).
В момент времени, не позже чем DK(t), присоединенный слуга должен выставить код на линиях SS, а также должен быть готов к приему последующего сигнала DS(t) или AS(d). Также тогда и только тогда, когда RD = 1, слуга должен выставить сигналы на линии AD и, возможно, на линиях РА и РЕ.
Во время цикла записи вторичного адреса присоединенный слуга должен выставить на линии SS ответные коды 0, 1 или 7, как это предписано в табл. VIHb и п. 5.3.3.
Устройства, которые не имеют регистра NTA (см. п. 4.4) в случае циклов чтения или записей вторичного адреса должны возвращать код SS = O.
Информация, выставляемая присоединенным слугой, и предпринятые внутренние действия должны быть такими, как установлено в табл. Villa, VIHb и п. 5.3.3.
Таблица Villa
Ответы слуги на линиях SS во время цикла данных, поступающие
сигналом DK(t)
И
SS(2:0)
о 1 2 3 4 5 6
7
нтсрпретаиияНормальное действие
Занято
Конец блока
Определяется пользователем
Зарезервирован
Зарезервирован
Ошибка данных (отклонены)
Ошибка данных (приняты)
В течение циклов данных разряды данных, не реализованные в слуге, должны возвращаться в виде логических нулей при операции чтения и должны быть игнорированы при операции записи.
Обсуждение ответов по линиям «статус слуги»
В этом разделе дается интерпретация записей в табл. Villa и VIHb.
Вообще автоматическое изменение содержимого регистра NTA допускается только в том случае, если данные были приняты или выданы слугой.
А В, РА Управляет мастер |
/' Управляет слуга |
|
|
|
|
|
|
|
|
OS дк ДХ SS Рис. 16. Чтение данных при произвольном доступе Таблица VUIb SS і 2 : 0 > |
Область адресов данных или регистров управления и статуса |
Вторичный адрес |
Изменение ІА |
|||
Запись |
Чтение |
Запись |
Чтение |
|||
0 |
Принимает |
Выставляет |
Принимает* |
Выставляет |
Разрешено |
|
1 |
Отклоняет |
Данных нет |
Отклоняет |
Данных нет |
Нет |
|
2 |
Отклоняет |
Данных нет |
Отсутствует |
Отсутствует |
Нет |
|
3 |
Определяется пользователем |
|
|
|
|
Ответы слуги по линиям SS и действия при DK{t)
Продолжение табл. VHfb
SS < 2 : 0 ) |
Область адресов данных или регистров управления и статуса |
Вторичный адрес |
Изменение (А |
|||||
Запись |
Чтение |
Запись |
Чтение |
|
||||
4 |
Зарезервирован |
|
—- |
— |
— |
|||
5 |
Зарезервирован |
|
— |
— |
— |
|||
6 |
Отклоняет |
Данных нет |
Отсутствует |
Отсутствует |
Нет |
|||
7 |
Принимает |
Выставляет |
Принимает |
Выставляет |
Разрешено |
* Отклонение производится только, когда регистр NT А не реализован, пр«
этом возвращается SS = O.
Рис. 16. Блочная передача с подтверждениями, запись
SS = 0 Нормальное действие. Никакие трудности не были отмечены слугой. Однако все же существует возможность того, что мастер, затребовавший чтение данных, может обнаружить ошибку четности, вызванную трудностями при передаче.
З
SS = 4
SS = 5
SS = 6
SS = 3
SS=1
SS = 2
анято. Слуга занят и не может ни выдать, ни принять данные. Мастеру следует вскоре выполнить повторную попытку с неопределенной вероятностью успеха.Конец блока. Во время блочной или принудительной передачи был упущен конец блока. Данные не могут быть ни выданы, ни приняты. Если цикл данных, явившийся источником этого ответа, сопровождается дальнейшими циклами данных, код SS = 2 повторяется, а состояние слуги ие жменяется. Для того, чтобы продолжить передачи данных слуге, который достиг конца блока, мастер должен сначала заново адресовать слугу либо при помощи вторичного адресного цикла, либо путем разрыва связки AS/AK с последующим проведением первичного адресного цикла.
Определяется пользователем. Этот ответ разработчик системы может использовать для специальных целей. Его смысл должен быть известен действующему мастеру ' и может быть различным при разных типах слуг.
Зарезервирован.
Зарезервирован.
Ошибка данных (отклонены). Этот ответ указывает, что слуга не способен или не желает принимать или выдавать данные вследствие ошибки, связанной с данными или с текущим значением внутреннего адреса, либо в связи с тем, что на линиях MS был установлен код, не предусмотренный дл,я цикла данных. В слуге не произошло изменений, за исключением связанных с выдачей данного ответа и, возможно, с установкой некоторых битов состояний.
При циклах вторичной адресации отклик SS = 6 не выдается.
Ошибки при записи данных могут возникать из-за нарушения четности или в связи с тем, что была предпринята запись в регистр, допускающий только чтение, либо потому, что дальнейшие проверки, проведенные слугой, вскрыли другие проблемы, связанные с данными. В случае простых слуг, в которых выполняется только одна проверка на ошибочные данные, значение этого ответа является недвусмысленным.
В регистре управления и состояний CSR = 0 предусмотрен бит для индикации ошибки четности, а также восемь битов состояния, определяемых пользователем, которые могут быть использованы для дальнейшего определения характера ошибки. Первая реакция мастера на ошибки записи должна заключаться в том, чтобы заново передать данные. Если ошибка продолжает возникать,, должны быть опрошены регистры состояния слуги.
В случае цикла чтения данных, этот ответ мог бы указывать на отсутствие или неполадки в работе оборудования, подключенного к слуге. Недопустимый внутренний адрес также может явиться причиной этого ответа во время либо цикла чтения, либо цикла записи. Если недопустимый внутренний адрес был указан первичным адресным циклом, тогда ответом на этот цикл должен был быть SS = 7 (табл. VI).
После вторичного адресного цикла, получающего ответ SS = 7, все циклы данных, кроме вторичных адресных циклов, должны получить ответы SS = 6. Первичный адресный цикл или вторичный адресный цикл записи, приводящие к ошибочному отклику (SS = 7), могут быть всегда исправлены путем сопровождения их вторичным адресным циклом записи, который передает достоверный адрес.
SS = 7 Ошибка данных (принята). Этот ответ выдается по тем же самым причинам, что и ответ SS = 6. Все различие заключается в том, что слуга, выставляющий SS = 7, принял ошибочные данные или выставляет данные, зная, что они ошибочные. Если устройство содержит регистр NTA, должен быть возвращен сигнал SS = 7 и NTA загружен, если неверный внутренний адрес был послан либо во время передачи вторичного адреса, либо в область адресов данных во время передачи первичного адреса. Если случается такое, то сигнал SS = 7 должен быть возвращен при последующем вторичном адресном цикле чтения.
В случае записи данных скрытый смысл заключается в том, что те самые ошибочные данные доступны для чтения. Данный слуга может выдавать ответ SS = 6 или SS = = 7 в зависимости от того, какой внутренний регистр использовался. Слуга, выполняющий контроль по четности, может отклонять ошибочные данные, посланные в область адресов регистров управления и состояний (ответ SS = 6), но принимать ошибочные данные, посланные в область адресов данных (ответ SS = 7). Такой ответ однозначно указывает, были ли переданы данные или нет. Мастер может просто подсчитывать количество ответов SS = 7 во время передач больших массивов данных и только сигнализировать об ошибке, если будет превышено пороговое значение счета.
Реакция мастера на DK(t)
Таймируюший сигнал DK и информационные/управляющие сигналы FD, RD, MS и SS должны интерпретироваться мастером следующим образом.
DK(t) при RD = 0 должен указывать на то, что слуга (где применено) получил данные от мастера и готов выполнить следующую команду DS(t).
DK(t) при RD=1 должен указывать, что слуга (где применимо) послал данные мастеру и готов получить следующую команду DS(t).
Мастер должен со сдвигом на разброс фронтов после DK(t) интерпретировать линии состояния SS<2:0> и информационные линии в соответствии с табл. Villa, VIПЬ и п. 5.3.3.
Использование линии «сброс магистрали» (RB)
Этот асинхронный сигнал используется для принудительного приведения сегмента в спокойное состояние для инициализации, повторной инициализации или диагностических целей. Для того, чтобы сохранить максимум диагностической информации, регистры и устройства памяти в модуле не должны очищаться по сигналу RB.
Сигнал ВЫ «магистраль остановлена», который выставляется только схемой управления таймированием арбитража (см. п. 7.4) запрещает следствия сигнала RB. Это обстоятельство позволяет осуществлять вставление модулей при включенном питании при помощи запрещения ответов модулей на ложные сигналы по линии RB.
Ф о р м и р о в а н и е сигнала RB мастером
Импульс на линию RB может быть подан любым мастером, не обязательно действующим мастером, в любой момент времени.
Если ВН = 0, мастер, выставляющий сигнал RB, должен подать сигнал GK(u) одцовременно с сигналом RB(u), если он уже не подает сигнал GK = 1.
Импульс на линии RB должен иметь длительность, соответствующую характеристикам данной магистрали (см. приложение А).
Мастер, выставляющий сигнал RB, должен поддерживать GK = = 1 в момент RB(d), и должен присвоить себе право владения магистралью.
Мастер, который выставляет в сегменте сигнал RB и в момент RB(d) принимает право владения магистралью, должен продолжать делать это до проведения диагностики в сегменте и/или инициализации или повторной инициализации сегмента.
О т в е т н ы е действия слуги на сигнал RB
Устройства должны интегрировать сигнал RB=1 в течение времени интегрирования для сигнала RB, соответствующего типу данной магистрали и все действия на магистрали, вызванные сигналом RB, должны быть завершены в пределах минимальной длительности сигнала RB=1 (см. приложение А). Когда проинтегрированные сигналы RB=I и ВН = 0, устройства, не выставляющие сигнал RB, должны отвечать следующим образом.
Запретить выдачу всех сигналов ФАСТБАС, за исключением сигналов AL и SR, и, вследствие этого, любая текущая операция должна закончиться без завершения подтверждений (см. п. 5.5).
Запретить распознавание логических адресов (CSR#0<01> очищено) и должны отвечать только на географическую или широкую адресацию.
Биты «работа» CSR#0<02> и «тест» CSR#2<07> должны быть очищены, если они реализованы (см. гл. 8).
Мастера должны запретить работу схемы запросов на арбитраж очисткой CSR#0<01 > и CSR#0<02>.