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

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

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

10.8. Регистр базового адреса

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

Регистр базового адреса должен загружаться содержимым ре­гистра CSR#40, когда в регистр CSR#41 записываются данные, содержащие AD<O2> = 1 (бит базового адреса).

Отметим, что этот регистр является внутренним для СС, но он доступен, наряду с другой информацией, как регистр CSR=#:43h.

11. БЛОЧНЫЕ И ПРИНУДИТЕЛЬНЫЕ ПЕРЕДАЧИ

Блочные и принудительные передачи представляют собой опе­рации ФАСТБАС, во время которых, после соответствующего пер­вичного или вторичного адресного цикла, слова данных выстав­ляются мастером по каждому фронту сигнала DS в случае опера­ции записи и принимаются мастером по каждому фронту сигнала DK в случае операции чтения. Протокол ФАСТБАС не наклады­вает никакого ограничения на количество слов, пересылаемых во время блочной передачи. Ответ слуги SS = 2 указывает, что он далее не может участвовать в данной операции, и мастер завер­шает операцию.

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

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

В сЛуге каждый фронт сигнала DS используется для строби­рования линий данных и заставляет слугу выставить соответст­вующий ответ на линиях SS и сформировать фронт сигнала DK. От слуги не требуется, чтобы, он как-либо использовал принимае­мые фронты сигнала DK, но рекомендуется, чтобы они подсчиты­вались. Мастер будет не в состоянии немедленно реагировать на ответы SS, поскольку к тому времени, когда получен ответ, слуга уже обнаружит и ответит на последующие фронты сигнала DS.

В случае принудительной передачи, выполняющей чтение, мас­тер формирует фронты сигнала DS с согласованной частотой и когда поступают фронты сигнала DK, попользует их .для строби- роївания данных на линиях AD и приема ответа с линией SS. И снова, вследствие принудительной природы данной операции реакция мастера на ответы по линиям SS происходит после того как уже были сделаны запросы на следующие данные.

С точки зрения слуги блочные и принудительные Передачи различаются только в одном аспекте. Слуга, принимающий учас­тие в принудительной передаче, игнорирует WT=1, в то время, как слуга, участвующий в блочной передаче, не игнорирует сиг­нал WT=1. Это позволяет слуге ответить на все фронты сигнала DS, сформированные мастером, но не полученные к моменту об­наружения сигнала WT=1. Соединители сегментов также трак­туют эти два режима передачи несколько различными способами. В случае принудительных передач СС никогда не выставляет сигнал WT=1 в ответ на сигнал DS(t), однако он всегда это де­лает в случае блочных передач.

Ответы, выставляемые слугами по линиям SS во время блоч­ных и принудительных передач, выглядят, как определено в гл. 5, и более подробно обсуждаются в приложении J.

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

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

Блочные и принудительные передачи не позволяют прерывать их в обычном смысле, но могут быть завершены мастером раньше по его собственному желанию или по запросу (через SS) от слу­ги. Слуга может потребовать ■ завершения передачи или помощи посылки SS = 2, если он более не в состоянии принимать данные в случае записи блока или не имеет больше данных в случае чте­ния блока. В случае передач данных в буферы типа «первый на входе — первый на выходе» или в устройства типа порта входа/ выхода, если устройство временно не способно выставлять или принимать данные, но можно ожидать, что оно еще выставит или примет данные в ближайшем будущем (например, после завер­шения передач, являющихся внешними по отношению к системе ФАСТБАС), должен быть возвращен ответный код SS = 1 (заня­то) .

Когда блочная или принудительная передача находится в процессе исполнения, сегмент или сегменты, расположенные вдоль маршрута между мастером и слугой, остаются занятыми, и это может привести к тому, что время ожидания в системе станет слишком большим. Чтобы избежать ухудшения времени реакции системы, мастер должен либо делить длинные блоки на несколько коротких блоков, освобождая магистраль между передачами этих коротких блоков, либо контролировать состояние линии AR для того,' чтобы определить, задерживается ли другая деятель­ность данной блочной передачей, и затем добровольно уступать магистраль на отрезок времени, пропорциональный требуемой пропускной способности системы. Мастер не должен освобождать магистраль, если логически необходимо исключение других масте­ров, подобно тому, как в случае последовательности с заблокиро­ванным арбитражем (см. гл. 5).

  1. Когда мастер разбивает блок на несколько подблоков, он дол­жен гарантировать, что указатель внутреннего адреса в слуге будет правильным в начале каждой передачи подблока.Завершение блочных и принудительных передач

Завершение блочных и принудительных передач осложняется тем фактом, что после последнего сигнала DS(t), который сфор­мирован мастером, магистраль может находиться в целом ряде различных состояний, в зависимости от типа передачи, а также от количества переданных слов и направления передачи. Заверше­ние также осложняется возможностью того, что за данной пере­дачей последует другая операция с тем же самым слугой, так что разрыв связки AS/AK не всегда может составлять часть про­токола завершения. Всегда должна быть предоставлена возмож­ность произвести последнюю передачу данных, что требует осо­бого внимания к принудительным передачам. После того, как про­изведена последняя передача, сигналы таймирования для дан­ных DS и DK должны быть переведены в нейтральное состояние таким способом, который не оказывает влияния на состояние слу­ги. В случае операций чтения в блочной или принудительной пе< редаче, поскольку решение завершить ее могло быть принято мас­тером, слуга должен быть переведен в такое состояние, в котором он более не выставляет последнее слово данных на линии AD.

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

Мастер, когда завершает принудительную передачу, но опе­рацию не оканчивает, прежде чем продолжать операцию, должен ожидать до тех пор, пока не будет получен ответ DK, соответст­вующий последнему посланному сигналу DS. Затем, как в случае принудительных, так и в случае блочных передач, мастер должен выполнить следующие действия.

Если завершение происходит, когда DS = 1, мастер должен выдать MS=0 с опережением на время разброса задержек до вы­дачи сигнала DS=0.

Если завершается операция чтения, когда DS=?0, мастер дол­жен либо отсоединить от себя слугу при помощи AS=0, либо вы­полнить дополнительный цикл чтения. Если дополнительный цикл чтения выполняется также в режиме блочной или принудительной передачи, тогда он должен сопровождаться последовательностью, описанной в предыдущем абзаце.

Слуга, принимающий участие в блочной или принудительной передаче, выполняющей чтение, непрерывно выставляет сигналы AD и, возможно, на линиях РЕ и РА. Последовательность завер­шения должна прекратить выставление сигналов слугой на эти линии, и мастер должен быть извещен о том, что это произошло.

Когда MSO=0, сигналы DS(d) и DK(d) не ассоциируются с передачей данных, и формирователи слов AD в слуге выключены. Отметим, что цикл чтения вторичного адреса (MS=2, RD=1) не изменяет состояние слуги и, следовательно, может без риска ис­пользоваться для очистки магистрали, когда сигнал «строб дан­ных» находится в состоянии DS=0 в конце блочной или принуди­тельной передачи, выполняющей чтение.

  1. Увеличение внутреннего адреса при блочной передаче

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

Если указатель внутреннего адреса в слуге ' увеличен сверх своего максимального значения, слуга должен ответить на сле­дующий цикл данных, если он происходит, выдачей кода SS = 2. Этот ответ должен продолжать выставляться и в последующих циклах данных до тех пор, пока указатель внутреннего адреса в слуге не будет изменен при помощи вторичного или первичного адресного цикла.

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

  1. Устройства типа ПВПВ и ошибки при передаче данных

В конкретных реализациях систем, которые способны обнару­жить ошибки, возникающие при передаче данных, мастер либо сам обнаруживает ошибку, либо видит SS = 6 или SS=7, полу­чаемые от слуги. Слуга не имеет информации об ошибках, свя­занных с передачей сигналов по магистрали во время циклов чте­ния. Мастер может игнорировать обнаруженную Ошибку или просто отметить ее возникновение или, если позволяют аппарат­ные средства, попытаться исправить ее, посылая требование о том, чтобы данные были переданы еще раз.

Одноадресные устройства, такие кйк буферы типа ПВПВ или порты ввода/вывода, которые используют один и тот же адрес 172ФАСТБАС для всех слов из передаваемого блока, требуют при­менения специальных методов для того, чтобы исправить ошибки, возникающие при передаче данных, если только не сам слуга от­вечает на ошибочные данные кодом SS=6 (данные отклонены). Эти методы включают реализацию буферного регистра для хра­нения данных до тех пор, пока не будет установлено, что они ус­пешно переданы.

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

Все циклы чтения данных в составе блочных или принудитель­ных передач должны копировать каждое слово данных по мере того, как оно подается на линии AD в буферный регистр. Циклы чтения данных в режиме произвольного доступа, направленные к тому же адресу ФАСТБАС, что и блочная или принудительная передача, должны получать доступ к этому буферному регистру и не должны оказывать никакого другого воздействия на слугу (см. п. J.5 приложения J).

Отметим, что эти корректирующие циклы должны произво­диться без помех со стороны других мастеров. Данная схема осво­бождает от необходимости распределять стандартные адреса для буферных регистров. Состояние линий MS — вместо адреса опре­деляет цель данного цикла. Функциональные возможности в дан­ном случае не поставлены под угрозу, поскольку допускаются однословные блочные и принудительные передачи. Корректировка для принудительных передач в общем невозможна.

ГЛАВА 12. ХАРАКТЕРИСТИКИ СИГНАЛОВ

  1. Уровни сигналов

Уровни сигналов на контактах разъема крейта-сегмента дол­жны соответствовать промышленным стандартам для конкретно­го типа используемых логических схем (см. приложение А).

Во всех примерах, приведенных в настоящем документе, пред­полагается, что система ФАСТБАС реализована на элементах ЭСЛ. Это не исключает, однако, того, что в будущем могут при­меняться и другие типы элементов. На уровни логических сигна­лов внутри модулей ограничения не накладываются.

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

  1. Эмиттерная логика (ЭСЛ), отвечающая промышленному стандарту. Активным сигналам на входах и выходах соответст­вуют более положительные уровни. Метки коричневого цвета (см. приложение А).

  2. Транзисторно-транзисторная логика (ТТЛ), отвечающая промышленному стандарту. Активным сигналом на входах и вы­ходах соответствуют низкие уровни. Метки голубого цвета.

  3. Быстрые логические сигналы должны удовлетворять стан­дарту NIM согласно приведенной ниже таблице. Метки черного' цвета — при внутреннем согласовании; метки серогб цвета — при внешнем согласовании (см. отчет TID-20893 Комиссии по атомной энергии США (ныне Министерство энергетики США)).