* Добавление в NTA при потребности (см. пн. 5.3.2 и 11.2).

** В очистном цикле данных не происходит передачи данных.

*** Предполагаемое использование кода MS=4 состоит в том, чтобы по­казать при DS=(u), что запрашиваются ограниченные действия слуги, прежде чем будут переданы дальнейшие данные. Точные действия могут зависеть от применения, при этом код MS = 4 не сопровождается действительными данны­ми.



  1. П о с л е д о в а т е л ь н о сть действий мастера

для формирования сигнала DS


Рис. 14. Цикл чтение-модификация-запись



Сигналы на линиях MS, выставленные мастером, неизменны с момента начала разброса фронтов до DS (t) р остаются такими до получения DK(t). Хотя линии MS и могут быть установлены в упо­мянутое состояние при нескольких переходах DS (t), на этих ли­ниях могут случаться выбросы после DK (t), длящиеся до време­ни разброса перед DS (t).

Принудительная передача чтения выполняется мастером, фор­мирующим DS (t). Он использует DK (t), получаемые от слуги, для стробирования данных, но мастер не ожидает прихода сигнала DK (t) прежде, чем формировать следующий сигнал DS(t).

  1. О т в е т н ы е действия слуги на сигнал 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

нтсрпретаиия

Нормальное действие

Занято

Конец блока

Определяется пользователем

Зарезервирован

Зарезервирован

Ошибка данных (отклонены)

Ошибка данных (приняты)

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

  1. Обсуждение ответов по линиям «статус слуги»

В этом разделе дается интерпретация записей в табл. 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 во время передач больших массивов данных и только сигнализировать об ошибке, если будет превыше­но пороговое значение счета.

  1. Реакция мастера на DK(t)

Таймируюший сигнал DK и информационные/управляющие сиг­налы FD, RD, MS и SS должны интерпретироваться мастером сле­дующим образом.

  1. DK(t) при RD = 0 должен указывать на то, что слуга (где применено) получил данные от мастера и готов выполнить следую­щую команду DS(t).

  2. DK(t) при RD=1 должен указывать, что слуга (где приме­нимо) послал данные мастеру и готов получить следующую коман­ду DS(t).

  3. Мастер должен со сдвигом на разброс фронтов после DK(t) интерпретировать линии состояния SS<2:0> и информационные линии в соответствии с табл. Villa, VIПЬ и п. 5.3.3.

  1. Использование линии «сброс магистрали» (RB)

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

Сигнал ВЫ «магистраль остановлена», который выставляется только схемой управления таймированием арбитража (см. п. 7.4) запрещает следствия сигнала RB. Это обстоятельство позволяет осуществлять вставление модулей при включенном питании при помощи запрещения ответов модулей на ложные сигналы по ли­нии RB.

  1. Ф о р м и р о в а н и е сигнала RB мастером

Импульс на линию RB может быть подан любым мастером, не обязательно действующим мастером, в любой момент времени.

Если ВН = 0, мастер, выставляющий сигнал RB, должен подать сигнал GK(u) одцовременно с сигналом RB(u), если он уже не подает сигнал GK = 1.

Импульс на линии RB должен иметь длительность, соответст­вующую характеристикам данной магистрали (см. приложение А).

Мастер, выставляющий сигнал RB, должен поддерживать GK = = 1 в момент RB(d), и должен присвоить себе право владения ма­гистралью.

Мастер, который выставляет в сегменте сигнал RB и в момент RB(d) принимает право владения магистралью, должен продол­жать делать это до проведения диагностики в сегменте и/или ини­циализации или повторной инициализации сегмента.

  1. О т в е т н ы е действия слуги на сигнал RB

Устройства должны интегрировать сигнал RB=1 в течение вре­мени интегрирования для сигнала RB, соответствующего типу дан­ной магистрали и все действия на магистрали, вызванные сигналом RB, должны быть завершены в пределах минимальной длительнос­ти сигнала RB=1 (см. приложение А). Когда проинтегрирован­ные сигналы RB=I и ВН = 0, устройства, не выставляющие сигнал RB, должны отвечать следующим образом.

  1. Запретить выдачу всех сигналов ФАСТБАС, за исключением сигналов AL и SR, и, вследствие этого, любая текущая операция должна закончиться без завершения подтверждений (см. п. 5.5).

  2. Запретить распознавание логических адресов (CSR#0<01> очищено) и должны отвечать только на географическую или широ­кую адресацию.

  3. Биты «работа» CSR#0<02> и «тест» CSR#2<07> долж­ны быть очищены, если они реализованы (см. гл. 8).

  4. Мастера должны запретить работу схемы запросов на арбит­раж очисткой CSR#0<01 > и CSR#0<02>.