ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР ФАСТБАС МОДУЛЬНАЯ БЫСТРОДЕЙСТВУЮЩАЯ
СИСТЕМА ГОСТ 34.340-91
КОМИТЕТ СТАНДАРТИЗАЦИИ И МЕТРОЛОГИИ СССР Москва СОДЕРЖАНИЕПРЕДИСЛОВИЕ1. Официальные решения или соглашения МЭК по техническим вопросам, подготовленные техническими комитетами, в которых представлены все заинтересованные национальные комитеты, выражают с возможной точностью международную согласованную точку зрения по рассматриваемым вопросам. 2. Решения представляют собой рекомендации для международного пользования и в этом виде принимаются национальными комитетами. 3. В целях содействия международной унификации МЭК выражает пожелание, чтобы все национальные комитеты приняли текст рекомендаций МЭК в качестве своих национальных стандартов, насколько это позволят условия каждой страны. Любые расхождения между рекомендациями МЭК и соответствующими национальными стандартами должны быть, по возможности, четко изложены в стандартах. 4. МЭК не дает каких-либо критериев обозначения соответствия оборудования рекомендациям МЭК и не несет ответственности в случае заявления, что оно соответствует требованиям хотя бы одной из них. ПРЕДИСЛОВИЕ НАУЧНОГО РЕДАКТОРА РУССКОГО ТЕКСТАТехническое задание на разработку системы Фастбас было сформулировано группой ядерных электронщиков, работающих в ведущих институтах США, к июлю 1977 г. Разработку стандарта финансировало Министерство энергетики. Разработчики собирались для обсуждения промежуточных результатов и возникающих проблем не реже чем раз в квартал в течение пяти лет. К 1980 г. появилась первая версия стандарта, затем ежеквартально выпускались обновленные версии. Специалисты европейских институтов, объединенные комитетом European Standards on Nuclear Electronics (ESONE), анализировали версии и предлагали свои рекомендации. К ноябрю 1982 г. разработка была завершена - комитет Nuclear Instruments Modules (NIM) объявил о принятии стандарта. Началась разработка аппаратуры в стандарте Фастбас. Наиболее значительные результаты публиковал и публикует журнал «IЕEE Transactions on Nuclear Science». На основе накопившегося опыта стандарт Фастбас был уточнен и в 1986 г. стал национальным стандартом США ANSI/IEEE Std 960-1986. В сентябре 1983 г. стандарт был представлен в Технический комитет № 45 Международной электротехнической комиссии, а в январе 1987 г. ТК 45 принял решение о публикации стандарта Фастбас в качестве стандарта МЭК-935, он вышел в свет в июне 1990 г. Настоящий стандарт является аутентичным переводом стандарта. В Приложении А.1 в качестве примера описана реализация логического протокола Фастбас на быстродействующих ЭСЛ-элементах. Большая плата модуля размером (366,7×400) мм позволяет разместить большое число ЭСЛ-микросхем и рассеять мощность до 75 Вт на каждый модуль единичной ширины. Этот вариант реализации нацелен на создание наиболее быстродействующей стационарной аппаратуры. В гл. 12 оговорена возможность реализации протокола на элементах любого типа. Учитывая это, группа специалистов (С.Г. Басиладзе, В.В. Кипаренко, О.А. Никольский, В.Н. Тресоруков и К.Э. Эрглис) предложила реализовать протокол Фастбас на экономичных ТТЛ- и КМОП-микросхемах при БТЛ-уровнях сигналов в магистрали. Более высокая степень интеграции микросхем и малое потребление энергии позволили уменьшить размеры модулей и крейтов, обеспечивая возможность применения аппаратуры в цехах и на бортах. Было предложено также дополнить стандарт выборкой байтов данных и модификацией длины адресного слова. Расширение стандарта Фастбас описано в приложении А.2, которое подготовил К. Эрглис при участии С. Басиладзе. Весной 1987 г. проект настоящего стандарта (в виде перевода проекта стандарта МЭК с дополнением А.2) был разослан в 30 предприятий разных ведомств. Из 23 ответивших предприятий 12 высказались за использование расширенного стандарта Фастбас в качестве основы Единой системы магистрально-модульной многопроцессорной информационно-измерительно-управляющей аппаратуры (ЕС МММИИУА), а остальные предприятия предложили использовать другие стандарты. Следует особо отметить две характеристики стандарта Фастбас: точное определение функций каждого бита в стандартизованных регистрах управления и состояний (гл. 8) и описание логического протокола соединителей сегментов (гл. 10). Стандартизация функций битов РУС позволила создать второй стандарт Фастбас - Fastbus Standard Routines (IEEE Std 1177-1989 или МЭК-1052 (апрель 1991 г.), который определяет специализированный макроассемблер для программирования операций на магистралях Фастбас. Этот стандарт в переводе на русский язык также целесообразно издать в качестве Государственного стандарта. Протокол соединителей сегментов содержит, в частности, правила определения маршрутных таблиц, запоминаемых в соединителях. Это позволило создавать информационные сети произвольной конфигурации при высокой их надежности и живучести. В настоящее время в IEEE завершается разработка третьего стандарта Фастбас на наиболее прогрессивную оптоволоконную сеть при последовательной передаче информации. Об организации разработки стандартов Фастбас можно судить по списку участников, которым открываются национальные стандарты. Перевод на русский язык выполнили К.Э. Эрглис, А.Д. Росляков и А.В. Шалаев. В совокупности стандарты Фастбас определяют 5 уровней модели открытых систем, при этом программирование является единым как для передач между модулями внутри крейта, так и для передач между крейтами в локальной сети Фастбас произвольной формы. Комплекс из трех стандартов Фастбас обеспечит возможность создания наиболее эффективных систем МММИИУА разной мощности и назначения при минимальных стоимостях разработки, программирования, производства и эксплуатации. ВВЕДЕНИЕНастоящий стандарт подготовлен Техническим комитетом 45 «Ядерное приборостроение» МЭК. Текст стандарта основан на следующих документах:
Полную информацию о голосовании за утверждение данного стандарта можно получить из Отчетов о голосовании, указанных в таблице. В стандарте имеются ссылки на следующие Публикации МЭК: 113-7-(1981) (ГОСТ 2.743-82) Диаграммы, чертежи, таблицы. Часть 7. Подготовка логических диаграмм. 169-10 (1983)* Радиочастотные соединители. Часть 10. Радиочастотные коаксиальные соединители с внутренним диаметром внешнего проводника 3 мм (0,12 дюйма) с зажимным сочленением. Волновое сопротивление 50 Ом (тип SMB). * Данная Публикация МЭК находится в фонде стандартов ТК 22 (НПО «Персей») 297-1 (1982) (ГОСТ 28601.1-90) Конструкции несущие серии 482,6 мм (19 дюймов). Часть 1. Панели и стойки. 516 (1975) (ГОСТ 27080-86) Модульная система приборов для обработки данных. Система КАМАК. 547 (1976)* Вставной модуль и стандартный 19-дюймовый каркас для размещения модулей по стандарту NIM (для ядерного приборостроения). * Данная Публикация МЭК находится в фонде стандартов ТК 22 (НПО «Персей») ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
Дата введения 01.07.92 ГЛАВА 1. НАЗНАЧЕНИЕ, ОБЛАСТЬ ПРИМЕНЕНИЯ И ВВОДНЫЙ ОБЗОРДанный раздел включает назначение и область применения данного стандарта, а также вводный обзор. 1.1. Назначение и область примененияНастоящий стандарт определяет магистрально-модульную систему для сбора данных, их обработки и управления. Приведены механические, сигнальные, электрические и протокольные спецификации, достаточные для обеспечения совместимости между блоками, выполненными разными разработчиками и производителями. Данный стандарт применим к системам, состоящим из модульных блоков электронных приборов, которые обрабатывают или передают данные или сигналы и обычно связаны с компьютерами или другими автоматическими устройствами обработки данных. Стандарт применим для ядерного приборостроения и систем управления, но может применяться также и в других областях. Положения стандарта являются рекомендуемыми. При применении стандарта обязательными являются требования, заключённые в рамку. 1.2. Введение и общие сведенияСистема ФАСТБАС состоит из множества магистральных сегментов, которые могут работать независимо, но связаны друг с другом для передачи данных и другой информации. ФАСТБАС может работать асинхронно с использованием протокола подтверждений, чтобы эффективно сочетать устройства различного быстродействия без предварительного учета скорости их работы. Система способна работать и синхронно без подтверждений при передаче блоков данных с максимальной скоростью. Сложные системы, такие как ФАСТБАС, легче понимать, если спецификации сопровождаются общими описаниями, которые раскрывают значение деталей в целой системе. Эта глава содержит обзор главных характеристик и операций ФАСТБАС. В большинстве следующих глав имеются, в дополнение к обязательным составляющим спецификации, примеры использования стандартизуемых возможностей системы. В гл. 2 представлены определения терминов, которые имеют специальный смысл в системах ФАСТБАС. Определены символы, применяемые в схемах для обозначения различных частей системы ФАСТБАС, а также дан список обычно используемых сокращений. В остальных главах изложены спецификации системы. Эти главы сопровождаются рядом приложений, которые дают более детальную информацию о некоторых особенностях ФАСТБАС. В этой главе слова, имеющие специальный смысл в системе ФАСТБАС, выделены прописными буквами. Большинство характеристик ФАСТБАС определились из рассмотрения требований, предъявляемых к современным, системам сбора и обработки данных. Требование быстродействия удовлетворяется параллельной работой многих процессоров, которые могут сообщаться друг с другом, а также с устройствами для сбора данных и управления. Протокол связи, используемый процессорами и устройствами, предусматривает большие поля адресов и данных. Протокол определен независимо от технологического воплощения интегральных схем, чтобы иметь возможность реализовать преимущества прогрессивных технологий, гибкость систем обеспечивается модульностью, которая допускает множество вариантов конфигурации систем. Модульные системы отличаются методами связи устройств, образующих систему. Должны быть стандартизованы механические, электрические и логические соединения. Электрические соединения осуществляются набором сигнальных линий, которому дано название СЕГМЕНТ. ФАСТБАС-УСТРОЙСТВА могут быть соединены просто при помощи КАБЕЛЬ-СЕГМЕНТОВ, однако такая компоновка может повлечь за собой снижение скорости. В локальных устройствах необходимые свойства достигаются объединением нескольких МОДУЛЕЙ в КРЕЙТЕ, чтобы использовать общую магистраль, располагаемую на задней панели (рис. 1). Эта магистраль, называемая КРЕЙТ-СЕГМЕНТОМ или СЕГМЕНТОМ, как и КАБЕЛЬ-СЕГМЕНТ, образует логический блок системы ФАСТБАС. Используя ФАСТБАС-протокол, СЕГМЕНТ работает как автономная магистраль, связывающая один или более УСТРОЙСТВ-МАСТЕРОВ с рядом УСТРОЙСТВ-СЛУГ. При выполнении всех операций на магистрали устанавливается соотношение между МАСТЕРОМ и СЛУГОЙ, при котором инициатором должен быть МАСТЕР, а отвечающим - СЛУГА. МАСТЕР способен запрашивать и получать управление сегментом, к которому он присоединен, чтобы связываться со СЛУГОЙ. Если связь устанавливается с другим МАСТЕРОМ, то на время операции отвечающий МАСТЕР действует как СЛУГА. СЛУГА не может получить право владения магистралью, но может сделать запрос на обслуживание тому МАСТЕРУ на том же СЕГМЕНТЕ, который способен начать процедуру обслуживания запроса. МАСТЕРА располагают более разнообразным механизмом прерываний, благодаря которому они могут овладеть магистралью и записать сообщение о прерывании в устройство обслуживания прерываний. 1 - крейт; 2 - соединение сегмента с другими сегментами, интерфейсом процессора и т.п.; 3 - к модулю соединителю сегментов; 4 - вставные модули: мастер, слуга, соединитель сегментов, специального назначения; 5 - крейт-сегмент (магистраль на задней плате); 6 - разъемы крейт-сегмента; 7 - вспомогательные разъемы крейта Рис. 1. Основные элементы системы ФАСТБАС При нескольких МАСТЕРАХ в СЕГМЕНТЕ должны быть предусмотрены средства для урегулирования одновременных запросов на пользование магистралью. Каждому МАСТЕРУ присвоен Уровень арбитража, который он использует во время Циклов арбитража. В ответ на таймирующие сигналы, получаемые от управления таймированием арбитража, которое принадлежит СЕГМЕНТУ, схема в каждом МАСТЕРЕ определяет, какому из претендующих МАСТЕРОВ будет отдано владение магистралью. Процедура арбитража обычно не вызывает потерь времени, поскольку следующий МАСТЕР может быть определен до того, как действующий МАСТЕР закончит свою операцию. Несколько МАСТЕРОВ, расположенных в одном СЕГМЕНТЕ, используют общую магистраль. С точки зрения МАСТЕРА соревнование за право владения магистралью может снизить ее пропускную способность из-за потерь времени на ожидание. Поскольку СЕГМЕНТЫ работают независимо, распределение МАСТЕРОВ по нескольким СЕГМЕНТАМ может смягчить проблему соревнования и увеличить пропускную способность благодаря тому, что информация, нужная каждому МАСТЕРУ, может быть локализована в его СЕГМЕНТЕ. 1 - процессор-хозяин; 2 - интерфейс процессора; 3 - согласователь; 4 - кабель-сегмент; 5 - соединитель сегментов; 6 - мастер; 7 - крейт-сегмент (согласованный); 8 - слуги Рис. 2. Пример топологии системы ФАСТБАС МАСТЕР в данном СЕГМЕНТЕ должен также быть способным быстро связываться со СЛУГОЙ, расположенным в другом СЕГМЕНТЕ. Эта способность обеспечивается СОЕДИНИТЕЛЯМИ СЕГМЕНТОВ (СС), которые временно связывают независимые СЕГМЕНТЫ (рис. 2). Все СЕГМЕНТЫ, выполняющие операцию, должны быть в то же время доступны для проведения межсегментной операции. Механизм арбитража, наряду с соответствующими схемами в каждом соединителе СЕГМЕНТОВ СС, обеспечивает разрешение проблем соревнования за магистраль для МАСТЕРОВ, находящихся как в данном, так и в других СЕГМЕНТАХ. Поскольку данный СЕГМЕНТ может быть связан с любым из ряда различных СЕГМЕНТОВ, могут быть реализованы такие конфигурации систем, в которых пути передачи информации оптимизированы с уменьшением затрат времени. Среда, через которую сообщаются два СС, расположенные в разных СЕГМЕНТАХ, не стандартизована, это позволяет выбирать канал связи, наиболее подходящий для данного применения. Для таких соединений возможно использовать КАБЕЛЬ-СЕГМЕНТОВ совместно с эффективными средствами, стандартизованными в приложении Е. С КАБЕЛЬ-СЕГМЕНТОМ, кроме СС, могут быть соединены и другие устройства. Такие устройства также следуют ФАСТБАС-протоколу, имеют переключателе для кодирования входного адреса при ГЕОГРАФИЧЕСКОЙ АДРЕСАЦИИ и должны быть снабжены питанием. Другие технические приемы связи СЕГМЕНТОВ включают использование БУФЕРИРОВАННЫХ МЕЖСОЕДИНЕНИЙ и РАСШИРИТЕЛЕЙ СЕГМЕНТОВ. БУФЕРИРОВАННОЕ МЕЖСОЕДИНЕНИЕ представляет собой устройство, которое хранит в памяти и продвигает операции ФАСТБАС, разрушая таким образом синхронизм между мастером и слугой. Концепция РАСШИРЕННОГО СЕГМЕНТА позволяет нескольким СЕГМЕНТАМ пользоваться одним АДРЕСОМ ГРУППЫ. Такое коллективное пользование достигается применением РАСШИРИТЕЛЕЙ СЕГМЕНТА, простота которых в сравнении с СОЕДИНИТЕЛЯМИ СЕГМЕНТОВ достигается за счет некоторого снижения гибкости в топологии системы и операциях для членов РАСШИРЕННОГО СЕГМЕНТА. В большинстве случаев, если не всегда, МАСТЕРА должны иметь некоторые способности процессоров. При проектировании систем ФАСТБАС возникает также нужда в присоединении к системе больших и малых ЭВМ. Такое соединение выполняется при помощи ИНТЕРФЕЙСА-ПРОЦЕССОРА, который создает внешнему процессору доступ к ФАСТБАС-системе через КАБЕЛЬ или КРЕЙТ-СЕГМЕНТ (рис. 2). Системные требования диктуют необходимость иметь в каждой системе один процессор с полной информацией о структуре системы. В частности, он должен иметь доступ к любому СЕГМЕНТУ системы и знать, как СЕГМЕНТЫ соединены друг с другом. Этот процессор, названный ПРОЦЕССОРОМ-ХОЗЯИНОМ, инициирует систему, сообщая каждой стороне каждого СС, какие операции он должен передать в следующий СЕГМЕНТ. Используя ГЕОГРАФИЧЕСКУЮ АДРЕСАЦИЮ, ПРОЦЕССОР-ХОЗЯИН может выяснить местоположение и тип каждого УСТРОЙСТВА в системе и, если нужно, присвоить ЛОГИЧЕСКИЕ АДРЕСА УСТРОЙСТВАМ. ЛОГИЧЕСКИЕ АДРЕСА позволяют УСТРОЙСТВУ использовать поле ВНУТРЕННИХ АДРЕСОВ, приспособленное для нужд и независимое от положения УСТРОЙСТВА внутри СЕГМЕНТА. Главные характеристики и возможности системы ФАСТБАС можно суммировать следующим образом: · Скорость ограничена только задержками распространения сигнала в среде и задержками алогических схемах, скорость обычно лучше чем 10 МГц при элементах ЭСЛ. · Большие поля адресов и данных (32 бита); · Сегментированная магистраль, допускающая параллельную работу сегментов; · Способность к соединениям во всем объеме системы; · Передача блоков данных с подтверждением или принудительная передача; · Единый протокол во всем объеме системы; · Наличие механизмов прерываний и арбитража. 1.2.1. ФАСТБАС-операцииФАСТБАС-операции, описанные в гл. 5, выполняются при помощи многолинейной магистрали, назначение линий и сигналов в которой показано в табл. I. КАБЕЛЬ-СЕГМЕНТ состоит из 60 линий, указанных в верхней части списка. КРЕЙТ-СЕГМЕНТ содержит дополнительно другие линии, а также линии питания. Сигналы классифицированы в таблице в соответствии с применением: Т - таймирование в циклах адреса и передачи данных; У - управление в циклах адреса и передачи данных; И - информация в циклах адреса и передачи данных; А - асинхронный - таймирование не связано непосредственно с передачами информации; ТА - таймирование арбитража; ИА - информация о состоянии линий арбитража; УА - управление арбитражем; П - последовательные данные, их таймирование не зависит от работы параллельной магистрали; Ф - фиксированная информация; С - специальное назначение. Большинство ФАСТБАС-операций начинается с запроса МАСТЕРА и предоставления ему владения магистралью. Затем МАСТЕР выбирает СЛУГУ первичным адресным циклом, сопровождая его любым числом циклов передачи данных, после этого магистраль освобождается. Первичный адресный цикл начинает МАСТЕР, выставляя адрес СЛУГИ на 32 линии AD-адрес / данные и выдавая затем сигнал AS-строб адреса. Выставление адресного слова определяет путь (если нужно - через СОЕДИНИТЕЛИ-СЕГМЕНТОВ) между МАСТЕРОМ и СЛУГОЙ. Когда СЛУГА узнает свой адрес, он отвечает сигналом АК-подтверждение приема адреса. Протокол требует, чтобы сигналы AS и АК оставались на линиях до полного завершения операции. Связка AS/AK побуждает все другие устройства не замечать работу магистрали, позволяя связавшейся паре выполнять любой понятный им протокол, пока не разорвана связь AS/AK. Для наиболее употребительных операций определены стандартные протоколы, чтобы облегчить разработку совместных УСТРОЙСТВ. Сигналы ФАСТБАС
* Вместо штырьков GA и ТР на КАБЕЛЬ-СЕГМЕНТЕ применяются переключатели-регистры. По получении подтверждения АК от СЛУГИ МАСТЕР снимает код адреса с линий AD и использует эти линии для передачи данных в последующих циклах. После того, как связка AS/AK между МАСТЕРОМ и СЛУГОЙ установлена, МАСТЕР может начать операцию чтения выдачей сигналов на линию чтения (RD) и линию строб данных (DS), как показано на рис. 3. СЛУГА отвечает выставлением данных на линиях AD и выдачей сигнала DK - подтверждение приема данных. Этот сигнал использует МАСТЕР, чтобы взять данные. При операции записи МАСТЕР выставляет данные на линиях AD и сопровождает это выставление сигналом DS - строб данных. СЛУГА отвечает выдачей DK - подтверждение приема данных. Операция отличается тем, что МАСТЕР снимает с магистрали все свои сигналы, включая AS. СЛУГА, обнаружив удаление AS, снимает свои сигналы, включая АК. Поскольку циклы адреса и передачи данных легко различимы, МАСТЕР использует три линии выбора режима (MS <2:0>) как для модификации значения адресной информации, так и для того, чтобы независимо задать тип передачи данных. В первичном адресном цикле могут быть указаны одиночные данные, вторичный адрес, а также передача блока данных с подтверждением или принудительная передача - без подтверждения. Подобным образом, три линии информации о статусе СЛУГИ (SS <2:0>) используют для индикации успешных циклов адреса и передачи данных или для сообщения о причинах неудачи. Трудности адресации могут возникать в СОЕДИНИТЕЛЯХ-СЕГМЕНТОВ из-за того, что они иногда не отвечают МАСТЕРУ, вследствие неисправности схемы или не могут получить доступ к СЕГМЕНТУ, присоединенному к дальней стороне и занятому, или СС заблокированы операцией с более высоким приоритетом. Зависание в магистрали, вызванное адресацией к несуществующему устройству в СЕГМЕНТЕ назначения, устраняется таймерами в МАСТЕРЕ или в том соединителе СС, который выдал адрес в СЕГМЕНТ назначения. 1 - адрес; 2 - данные Рис. 3. Основная операция чтения с подтверждением (с точки зрения мастера) В течение цикла передачи данных СЛУГА, в дополнение к способности показать, что он не может больше принимать данные или не имеет больше данных для передачи, может также сообщать, что в настоящий момент он занят или обнаружил ошибку одного из нескольких классов. При передаче данных ФАСТБАС может быть применен контроль четности и должны быть обеспечены рекомендованные технические приемы для устранения ошибок. При операциях записи СЛУГИ обычно реагируют на ошибки передачи игнорированием правильных данных и сигнализируют МАСТЕРУ о том, что произошла ошибка. МАСТЕР может затем повторить операцию. Устранение ошибок при операциях считывания является более сложным. СЛУГА обычно бывает не осведомлен об ошибке и может прирастить свой внутренний указатель адреса или иметь доступ к регистру типа «Первый вошел - первый вышел» или к регистру с очисткой после чтения, следовательно, данные могут быть не доступны для повторной передачи. Для поддержки устранения ошибок при считывании может быть введен в работу ЗАЩИТНЫЙ БУФЕР. ЗАЩИТНЫЙ БУФЕР всегда содержит копию последних данных, переданных СЛУГЕ или от СЛУГИ. Следовательно, путем введения подходящего ЗАЩИТНОГО БУФЕРА МАСТЕР может повторно обратиться к данным после ошибки в считывании. 1.2.2. Соединители сегментов СССОЕДИНИТЕЛЬ СЕГМЕНТОВ управляет деятельностью двух СЕГМЕНТОВ, которые он соединяет, ожидая появление адреса, который числится в списке адресов, запрограммированных для узнавания. На узнанный адрес, поступивший от одного из СЕГМЕНТОВ на ближнюю сторону, СС реагирует запросом на использование другого СЕГМЕНТА, присоединенного к дальней стороне, и выставлением данного адреса на этот СЕГМЕНТ после овладения его магистралью. Два СЕГМЕНТА остаются связанными друг с другом до тех пор, пока we закончится операция. Адрес, выставленный на дальней стороне, может, в свою очередь, быть узнан другим СОЕДИНИТЕЛЕМ СЕГМЕНТОВ и передан следующему СЕГМЕНТУ. В зависимости от потребителей данной операции может быть связано произвольное число СЕГМЕНТОВ. Адрес содержит всю информацию, необходимую для того, чтобы соответствующие СС образовали правильные соединения. Для того, чтобы в адресе удобно располагалась информация о маршруте сообщения, полное адресное поле, доступное в системе, разделено между СЕГМЕНТАМИ таким образом, что старшие разряды кода адреса определяют адрес СЕГМЕНТА. Эта старшая часть адреса называется полем АДРЕСА ГРУППЫ (GP). СЕГМЕНТУ могут быть присвоены одно или несколько значений GP, если расположенные в нем устройства требуют большого объема адресации. УСТРОЙСТВА в СЕГМЕНТЕ различаются АДРЕСОМ МОДУЛЯ, который примыкает к полю GP и может включать несколько младших разрядов из поля GP. Комбинация из полей АДРЕСА ГРУППЫ и АДРЕСА МОДУЛЯ образует АДРЕС УСТРОЙСТВА, который служит для определения УСТРОЙСТВА в любом месте системы. Остающиеся младшие разряды адреса или ПОЛЕ ВНУТРЕННЕГО АДРЕСА служат для определения части УСТРОЙСТВА или его функций. Благодаря возможности проведения специального цикла передачи данных, называемого вторичным адресным циклом, число различных адресуемых частей или функций внутри устройства не ограничено числом, которое может быть выражено полем внутреннего адреса. В простых СОЕДИНИТЕЛЯХ СЕГМЕНТОВ старшие разряды адреса используют для адресации к внутренней памяти, которая содержит таблицу адресов, подлежащих передаче. Во время инициации системы в память каждого СС вводится маршрутная таблица, необходимая для направления всех разрешенных операций. Эта схема не создает ограничений на конфигурации связей между СЕГМЕНТАМИ. Например, они могут быть соединены в древовидную структуру с большой ЭВМ при стволе и устройствами для сбора данных на концах ветвей. Если между двумя СЕГМЕНТАМИ, расположенными в разных концах системы, требуется обеспечить большой поток информации, который мог бы загрузить промежуточные СЕГМЕНТЫ, целесообразно использовать КАБЕЛЬ-СЕГМЕНТ, чтобы обойти промежуточные СЕГМЕНТЫ. При таком добавлении не требуется изменять адреса УСТРОЙСТВ, достаточно задать в СС новые маршрутные таблицы, чтобы освободить промежуточные СЕГМЕНТЫ от излишних передач. По этой схеме могут быть реализованы древовидные, звездообразные, кольцевые и другие структуры. Когда МАСТЕР начинает ФАСТБАС-операцию, он всегда запускает внутренний таймер ответных действий на время, достаточное для работы в данном СЕГМЕНТЕ. Если операцию нужно провести через один или более соединителей сегментов, МАСТЕР должен быть осведомлен о дополнительных задержках, которые встретятся, прежде чем будет получен ответ. Каждый СС, передающий операцию, выставляет сигнал ожидание WT в СЕГМЕНТ, из которого пришла операция, и запускает таймер на время, подходящее для СЕГМЕНТА, которому операция передается. Сигнал WT заставляет любого МАСТЕРА (а СС действует как МАСТЕР в том СЕГМЕНТЕ, в который он передает операцию) остановить свои таймер. Этот таймер запускается снова при снятии сигнала WT. Таким образом, операция проходит весь свой путь через систему без превышения лимитов времени, за исключением, разумеется, тех случаев, когда попадается СЕГМЕНТ, который не дает нормального подтверждения или не выставляет сигнал WT. В каждом МАСТЕРЕ имеется удлиняемый таймер, обнаруживающий тупиковые ситуации, которые могут возникать, например, при конфликтных запросах. После превышения лимита времени МАСТЕР ждет в течение случайного времени выдержки, прежде чем снова пытаться выполнить операцию. 1.2.3. Регистры управления и статусаОбласть адресов некоторых регистров и функций в УСТРОЙСТВАХ желательно отделить от области нормальных регистров данных, чтобы предусмотреть защиту от случайного доступа и при этом не прерывать размещение областей адресов нормальных данных. Например, требуется чтобы два УСТРОЙСТВА памяти имели адресные области, расположенные рядом в адресном пространстве, чтобы их можно было использовать как одну большую память. Однако эти УСТРОЙСТВА могут содержать управляющие и статусные регистры, предназначенные для защиты памяти или обнаружения, или исправления ошибок, причем эти регистры также должны быть доступны. Более того, желательно, чтобы УСТРОЙСТВА имели основные статусные и информационные регистры в стандартном размещении, чтобы они были прямо доступны для программы со стандартными подпрограммами. Для выполнения этих требований был использован метод выбора области адресов регистров управления и статуса (CSR) в первичном адресном цикле соответствующим кодированием линий MS. Во вторичном адресном цикле в области адресов CSR выбирается регистр, а затем в цикле передачи данных происходит передача к регистру или от него. Вторичная адресация предусматривает использование внутри УСТРОЙСТВА полного 32-разрядного адреса; такое адресное пространство достаточно для удобных стандартных размещений без опасения нехватки адресов. В предназначенных CSR-регистрах определены стандартные места для всех обычных управляющих и статусных битов. Рекомендуется встраивать в УСТРОЙСТВО регистр-идентификатор, уникальный для УСТРОЙСТВА данного типа и применяемый при инициализации систем. Биты идентификатора входят в статусный регистр 0, благодаря этому даже простые УСТРОЙСТВА без адресных дешифратов могут правильно реагировать на вызов, причем это достигается малым увеличением стоимости. 1.2.4. Географическая адресацияНаиболее общей формой адресацией к УСТРОЙСТВУ является логическая адресация, при которой адрес УСТРОЙСТВА не зависит от его физического положения в системе. Однако система ФАСТБАС имеет и ГЕОГРАФИЧЕСКУЮ АДРЕСАЦИЮ, при которой УСТРОЙСТВО выбирается по номеру в его физической позиции в СЕГМЕНТЕ, благодаря этому всегда возможно найти УСТРОЙСТВО с целью записи или проверки. ГЕОГРАФИЧЕСКАЯ АДРЕСАЦИЯ должна применяться для инициализации систем, в которых адресные регистры устанавливаются программно. Когда на такую систему подают питание, регистры, которые будут содержать информацию об АДРЕСЕ УСТРОЙСТВА, устанавливаются случайным образом. ГЕОГРАФИЧЕСКАЯ АДРЕСАЦИЯ используется для выбора УСТРОЙСТВА с целью загрузить их адресные регистры надлежащим содержимым. Первые 256 адресов в каждом СЕГМЕНТЕ зарезервированы для специальных целей, а первые 32 из них используются для ГЕОГРАФИЧЕСКОЙ АДРЕСАЦИИ. В КРЕЙТ-СЕГМЕНТЕ на каждой позиции модуля имеется сегментный раздел, в котором 5 штырьков кодированы (GA4 - GA0). Кодированное число 0 обозначает крайнюю правую позицию, если смотреть на крейт со стороны передней панели. Кодированное число возрастает на единицу при перемещении на одну позицию влево. Когда на магистрали выставлен ГЕОГРАФИЧЕСКИЙ АДРЕС (от 0 до 31), управляющая линия EG - разрешение географической адресации - возбуждена или вспомогательной логикой сегмента, или действующим МАСТЕРОМ. Когда во время первичного адресного цикла выдан сигнал EG, УСТРОЙСТВА сопоставляют код на своих штырьках с кодом пяти младших адресных битов на AD-линиях и отвечают, если обнаруживают совпадение кодов. Все УСТРОЙСТВА должны иметь эту способность, в то время как ЛОГИЧЕСКАЯ АДРЕСАЦИЯ не является обязательной. Механизм ГЕОГРАФИЧЕСКОЙ АДРЕСАЦИИ может быть использован для доступа к управляющим информационным регистрам в неинициированных УСТРОЙСТВАХ, благодаря этому процедуры инициации могут выполняться автоматически. Обычные схемы узнавания логического адреса в устройстве не задействованы до тех пор, пока не выполнена инициализация. 1 - адрес; 2 - данные Рис. 4. Передача блока с записями (с точки зрения мастера) УСТРОЙСТВА, присоединяемые к КАБЕЛЬ-СЕГМЕНТУ, должны иметь переключаемые регистры для ручного задания и хранения ГЕОГРАФИЧЕСКОГО АДРЕСА. 1.2.5. Передача блока и принудительная передача блокаОперация передачи блока состоит из адресного цикла и любого числа циклов передачи данных одного типа - или все циклы чтения, или запись. Соединение между МАСТЕРОМ и СЛУГОЙ выполняется, как описано выше - с полным подтверждением как в начале, так и в конце операции. Скорость увеличена использованием обоих фронтов в паре сигналов строб данных и подтверждением приема данных DS/DK, при этом все же предусмотрена полная защита передачи данных благодаря подтверждениям. На рис. 4 показана передача блока с записями. Возможна передача блока без подтверждений в циклах передачи данных. Такая принудительная передача блока допустима между УСТРОЙСТВАМИ, которые могут работать с одинаковой скоростью передачи данных. Например, в случае записи после первоначального подтверждения в адресном цикле с установлением связки AS/AK, МАСТЕР просто выставляет слова данных и выдает фронты DS с подходящей скоростью. Ответы DK как средство таймирования игнорируются, но их следует использовать для подсчета числа переданных слов с целью контроля. При такой работе сигнал DS становится строб-сигналом, который использует СЛУГА, чтобы находить слова данных в синхронной передаче. В случае чтения МАСТЕР выдает DS в качестве тактовых импульсов, которые СЛУГА использует для определения скорости передачи и сопровождает данные сигналом DK, который МАСТЕР воспринимает как строб данных. В операциях, защищенных подтверждениями, требуется, чтобы каждое слово данных находилось на магистрали по крайней мере в течение удвоенного времени распространения, пока данные проходят к пункту назначения и сигнал подтверждения идет обратно к источнику. Когда же подтверждения не используются, в одно и то же время на пути в многокрейтной системе могут проходить несколько слов данных, благодаря чему данные могут передаваться с максимальной скоростью, допускаемой магистралями. В большинстве случаев в операциях желательно использовать полные подтверждения. В цикле передачи данных подтверждение позволяет обоим партнерам сделать, если нужно, паузу и досрочно закончить операцию (например, в случае переполнения буфера) при точном знании количества успешно переданных слов. В операциях без подтверждений в цикле передачи данных от МАСТЕРА требуется знание способности СЛУГИ и полосы пропускания всего пути, чтобы выбрать приемлемую тактовую частоту сигнала DS. Если есть запасы времени, лучше использовать более надежный режим работы с подтверждениями. Если во время передачи блока МАСТЕР обнаруживает (через линию AR запроса на арбитраж), что другие УСТРОЙСТВА запрашивают магистраль, он может освободить магистраль и позднее возобновить передачу блока. 1.2.6. Операции с фиксированным адресом и заблокированным арбитражемОписанные выше операции могут быть обобщены, если допустить поток данных в обратном направлении. Операции с фиксированным адресом содержит первичный адресный цикл, сопровождаемый любым числом вторичных адресных циклов и/или циклов передачи данных. Например, в течение цикла чтение-модификация-запись МАСТЕР выставляет адрес, читает данные, изменяет направление передачи на AD-линиях, снимая сигнал RD, и записывает модифицированные данные обратно в память СЛУГИ (см. рис. 5). Такая операция не может быть прервана каким-либо другим процессором, поскольку она все время скреплена связкой AS/AK и другое устройство не может попользовать магистраль. Образуется род неразделимой операции, необходимой в многопроцессорных системах для координации использования общих ресурсов. 1 - адрес; 2 - чтение; 3 - запись Рис. 5. Операция с фиксированным адресом: чтение-модификация-запись. (с точки зрения мастера) Непрерываемые операции могут быть расширены и далее, если МАСТЕР и СЛУГА согласятся о значении каждого цикла в магистрали, например, если адресный цикл, где связались МАСТЕР и СЛУГА, может сопровождаться вторичным адресным циклом, за которым следует еще один цикл передачи данных. Операции с фиксированным адресом могут содержать передачи блоков. Направление потока данных может быть изменено между пересылками блоков или индивидуальными передачами слоев вне блоков. Еще более общий вид операций в магистрали называется операцией с заблокированным арбитражем, при которой один МАСТЕР выполняет последовательность операций, направленных к нескольким различным ПЕРВИЧНЫМ АДРЕСАМ, при этом работа МАСТЕРА не может быть прервана никаким другим МАСТЕРОМ, поскольку действующий МАСТЕР не позволяет проводить арбитраж. Это может быть очень полезно для таймирования работы группы СЛУГ, используемых несколькими процессорами: последовательность операции может быть проведена без помех со стороны других процессоров. Этот механизм действует даже в случае, когда СЛУГИ находятся в разных СЕГМЕНТАХ, поскольку СОЕДИНИТЕЛЬ СЕГМЕНТОВ сделан так, что сохраняет любое соединение до тех пор, пока МАСТЕР не освободит магистраль для арбитража. 1.2.7. Сканирование редких данныхВо многих экспериментах не все УСТРОЙСТВА получают данные при каждом событии. Механизм сканирования редких данных позволяет быстро определить УСТРОЙСТВА, содержащие ценные данные. Для этого используются ТР-штырьки, не соединенные линиями магистрали и расположенные по одному на каждой позиции задней панели. ТР-штырек в позиции п присоединен к линии п адрес/данные. МАСТЕР, желающий начать сканирование редких данных, подает команду ШИРОКОЙ ОПЕРАЦИИ всем УСТРОЙСТВАМ СЕГМЕНТА, приглашая тех, кто имеет данные, выдать сигнал на свой ТР-штырек. Последующее чтение сигналов на AD-линиях показывает, какие именно УСТРОЙСТВА следует опросить для получения данных. Такая возможность может быть реализована и на КАБЕЛЕ-СЕГМЕНТЕ: достаточно подключить сигнал о наличии данных в УСТРОЙСТВЕ к выводу на соответствующую линию AD. 1.2.8. Широкие операцииПри ШИРОКОЙ ОПЕРАЦИИ МАСТЕР может соединиться с более чем одним СЛУГОЙ во время одного первичного адресного цикла. ШИРОКАЯ ОПЕРАЦИЯ может быть использована в различных целях, например, для синхронизации УСТРОЙСТВ или для установки на нуль ряда счетчиков. Поскольку могут быть задействованы несколько СЛУГ, не возможны имеющие смысл подтверждения между МАСТЕРОМ и СЛУГОЙ. Однако системное подтверждение, получаемое от вспомогательной логики на каждом СЕГМЕНТЕ на любом пути, информирует МАСТЕРА, что его команда прошла к каждому из тех СЕГМЕНТОВ, к которым была адресована. МАСТЕР выставляет наряду с адресом также и код на линиях MS, чтобы показать, что выставлен ШИРОКИЙ АДРЕС. Специфический код в поле адресов указывает, является ли ШИРОКАЯ ОПЕРАЦИЯ ЛОКАЛЬНОЙ (только лишь в одном СЕГМЕНТЕ) или ГЛОБАЛЬНОЙ либо ко всем СЕГМЕНТАМ в сети, охватываемой информацией, хранимой в СОЕДИНИТЕЛЯХ СЕГМЕНТОВ, либо ко всем СЕГМЕНТАМ, расположенным в сети за определенным СЕГМЕНТОМ. В дополнение к возможности выбора СЕГМЕНТОВ при ШИРОКОЙ ОПЕРАЦИИ, поле адресов может быть использовано для выбора УСТРОЙСТВ заданного класса в достигаемых СЕГМЕНТАХ или для выбора функций, подлежащих выполнению. В число определенных стандартом функций входят сканирование редких данных, выставление УСТРОЙСТВАМИ сигнала на ТР-штырек (безусловное или только при выдаче SR-запроса на обслуживание) и адресация МАСТЕРОМ по сигналам на ТР-штырьках в следующем цикле. Записи в маршрутных таблицах (в СОЕДИНИТЕЛЯХ СЕГМЕНТОВ), соответствующие АДРЕСУ ГРУППЫ, равному нулю, используют для прокладки глобальной ШИРОКОЙ АДРЕСАЦИИ, ШИРОКУЮ АДРЕСАЦИЮ могут узнать и передать несколько СОЕДИНИТЕЛЕЙ СЕГМЕНТОВ, поскольку не требуется возвращать индивидуальные подтверждения. Структура, образуемая распространяющимся сигналом ШИРОКОЙ АДРЕСАЦИИ, должна быть простой древовидной структурой без пересечений. Это требование следует обеспечивать программой инициализации. После того, как ШИРОКИЙ АДРЕС успешно прошел через всю систему, вспомогательная логика совместно с СОЕДИНИТЕЛЯМИ СЕГМЕНТОВ генерирует сигнал СИСТЕМНОГО ПОДТВЕРЖДЕНИЯ. Последующие циклы передачи данных могут использовать СИСТЕМНЫЕ ПОДТВЕРЖДЕНИЯ. Таким образом, при помощи ШИРОКОЙ АДРЕСАЦИИ могут быть выполнены стандартные операции записи или чтения любого вида сразу в группе УСТРОЙСТВ. ШИРОКАЯ АДРЕСАЦИЯ может отнимать некоторое время, так как приходится ожидать завершения конфликтов при использовании СЕГМЕНТОВ. Однако, когда соединения в системе завершены, скорость выполнения циклов передачи данных ограничена только СИСТЕМНЫМ ПОДТВЕРЖДЕНИЕМ и временами распространения сигналов. 1.2.9. Арбитраж владения магистральюОдной из наиболее важных характеристик многопроцессорной системы является метод предоставления управления СЕГМЕНТОМ различным МАСТЕРАМ, которые могут одновременно претендовать на владение магистралью. Схема, помогающая выполнению этой задачи, имеется в каждом независимом СЕГМЕНТЕ и называется управлением таймирования арбитража (УТА). Для арбитража приоритетов в СЕГМЕНТЕ предназначены 10 магистральных линий. Каждому МАСТЕРУ присвоен уровень арбитража в виде кода из 6 битов. МАСТЕРА, желающие владеть магистралью, возбуждают линию AR - запрос на арбитраж. Если линия GK (подтверждение приема (разрешения на арбитраж) не возбуждена, УТА начинает цикл арбитража, выставляя сигнал AG - разрешение на арбитраж. Запрашивающие МАСТЕРА отвечают выставлением своих уровней арбитража на 6 линий уровня арбитража AL <5:0>. На каждой линии бит «0» поглощается битом «1». Каждый запрашивающий непрерывно сравнивает свой уровень арбитража с кодом на AL-линиях бит за битом, начиная со старшего бита. Если запрашивающий обнаруживает на магистрали бит «1», который сам он не выставил, он снимает с магистрали все свои биты меньшей значимости. Спустя время, определяемое УТА, на AL-линиях остается лишь код наивысшего заявленного уровня арбитража, в результате каждый из соревнующихся знает, выиграл он или проиграл. Если управление таймированием арбитража видит, что магистраль полностью свободна (AS = AK=WT = GK = 0), оно прекращает выдачу АС, а выигравший МАСТЕР отвечает выставлением GK и вступает во владение магистралью. МАСТЕР продолжает держать сигнал GK до тех пор, пока не решит позволить следующий цикл арбитража. МАСТЕР снимает сигналы GK обычно после последнего адресного цикла в своей серии операций, позволяя следующему МАСТЕРУ быть выбранным до того, как сам действующий МАСТЕР закончит свои циклы передачи данных. В описанной схеме арбитража возможны два сходных протокола. В одном из них запросы на арбитраж делаются безотносительно к присутствию любых других запросов, а это ведет к возможности того, что МАСТЕРА с низким приоритетом могут не получать владение магистралью в течение неограниченно долгих периодов времени. В другом протоколе гарантированного доступа запросы на арбитраж делаются только при условии, что на линии AI (запрет запроса на арбитраж) находится логический «0». В начале цикла арбитража управление таймированием арбитража возбуждает линию AI и снимает сигнал только тогда, когда удовлетворены все запросы. В результате все запросы на арбитраж, заявленные к данному моменту времени, удовлетворяются, прежде чем может быть сделан новый запрос. МАСТЕРА могут использовать любой из протоколов и работать при этом в одном и том же сегменте, поскольку протоколы отличаются только условиями на выставление сигнала AR. Из 64 возможных кодов приоритета код 0 не используется, так как его легко спутать с отсутствием кодов в неработающей в данный момент магистрали. Коды от 1 до 31 предназначены для использования внутри сегмента. Коды от 32 до 63 служат в качестве «системных» приоритетов, единственных для каждой из частей связанной системы. Локальные приоритеты 1 - 31 внутри данного СЕГМЕНТА должны быть единственными для каждого УСТРОЙСТВА, т.е. два УСТРОЙСТВА не должны иметь одинаковых приоритетов, однако в любом СЕГМЕНТЕ можно использовать приоритеты, уже назначенные в других СЕГМЕНТАХ. Когда СОЕДИНИТЕЛЬ СЕГМЕНТОВ соединяет МАСТЕРА с другим СЕГМЕНТОМ, уровень, используемый для арбитража во втором СЕГМЕНТЕ, обычно должен быть уровнем, присвоенным СОЕДИНИТЕЛЮ СЕГМЕНТОВ, а не уровнем действующего МАСТЕРА. Однако, если действующий МАСТЕР использовал один из системных приоритетов, СС передаст этот приоритет во второй СЕГМЕНТ, который будет освобожден для работы, поскольку системные приоритеты единственны на маршруте. Системные приоритеты могут быть полезны для предотвращения нежелательных задержек при важных ШИРОКИХ АДРЕСАЦИЯХ и могут помочь передавать важные сообщения, которые в иных условиях могли бы приостанавливаться вследствие борьбы приоритетов при прокладке пути через систему. Прерывание текущей операции возможно, благодаря этому МАСТЕР имеет возможность удерживать магистраль, сколько он хочет. Если МАСТЕР видит сигнал AR = 1 когда AS = AK = 1, то он знает, что другие МАСТЕРА в системе заблокированы текущей операцией. Действующему МАСТЕРУ следует нормально освободить магистраль в течение приемлемого времени, чтобы позволить другим МАСТЕРАМ получить владение магистралью. Программированием следует разрешать МАСТЕРУ либо запрашивать лишь один цикл арбитража, либо задерживаться на случайное время выдержки, прежде чем снова запрашивать магистраль. Общим разрешением проблемы соревнования и тупиковых ситуаций является отказ от попытки запроса с последующим ее возобновлением после случайной выдержки времени. 1.2.10. ПрерыванияПрерывание - это запрос от УСТРОЙСТВА к процессору для обслуживания или внимания. Поскольку прерывания могут пересекать границы СЕГМЕНТА и поскольку они должны нести информацию, они выполняются нормальными ФАСТБАС-операциями. Прерывающие устройства адресуются к области управляющего регистра в интерфейсе процессора, чувствительной к прерываниям, и записывают в регистры свой собственный адрес и, возможно, другую информацию. В результате процессор имеет всю информацию, необходимую для последующего выбора и обслуживания УСТРОЙСТВА, выдавшего прерывание. В некоторых системах большое число простых УСТРОЙСТВ, не способных ни владеть магистралью, ни выполнять операцию записи прерывания, могут нуждаться в обслуживании по запросам. Такие УСТРОЙСТВА могут возбуждать линию SR - запрос на обслуживание, за этой линией может наблюдать специально выделенное УСТРОЙСТВО обработки запросов (УОЗ). Это УСТРОЙСТВО может получить владение магистралью и найти запросившего при помощи ТР-штырьков или другими способами. УОЗ может затем само выполнить необходимое обслуживание или послать сообщение нормального прерывания по просьбе запросившего какому-нибудь другому процессору. СОЕДИНИТЕЛИ СЕГМЕНТОВ могут быть запрограммированы на пропускание запросов SR от одного СЕГМЕНТА к другому. 1.2.11. ТаймированиеСоотношения между фронтами таймирующих сигналов в системе ФАСТБАС определены независимо от технологии исполнения микросхем, поэтому для гарантированной работы в конкретной среде нужны дополнительные сведения о таймировании. Сведения эти двух типов: а) задержки сигналов, обеспечивающие правильное взаимное таймирование и достаточную длительность сигналов, чтобы они были узнаваемы; в) лимиты времени ожидания ответов, по истечении которых мастера начинают повторную процедуру восстановления связей. Используемый в необходимых случаях сигнал WT (ожидание) блокирует последующие таймирующие сигналы в магистрали, а также устанавливает в исходное состояние таймер ответных действий в МАСТЕРАХ. Сигнал WT может быть использован для «замораживания» состояния магистрали в целях диагностики и, в дополнение, как часть протокола, межсегментного таймирования, при котором превышение лимита времени нужно определять только для местных, а не глобальных условий. 1.2.12. ИнициализацияПри включении питания все УСТРОЙСТВА приводятся в пассивное состояние и откликаются лишь на ГЕОГРАФИЧЕСКУЮ АДРЕСАЦИЮ. Следовательно, перед использованием их необходимо инициализировать. Инициализация состоит в выполнении ряда операций, некоторые из которых, такие как правильная установка ЛОГИЧЕСКИХ АДРЕСОВ и загрузка маршрутных таблиц в СОЕДИНИТЕЛЕ СЕГМЕНТОВ, требуют общих знаний о всей системе и ее структуре, в то время как другие, тaкие как установка коэффициента усиления усилителя или установка счетчиков на нуль, являются специфическими для каждого УСТРОЙСТВА или группы УСТРОЙСТВ. Для каждой системы ФАСТБАС один процессор, ХОЗЯИН, содержит полное описание системы, к которой он присоединен. Система ФАСТБАС должна быть построена таким образом, чтобы ХОЗЯИН имел доступ к каждому входящему в нее УСТРОЙСТВУ. ХОЗЯИН, знающий структуру системы, может инициализировать маршрутные таблицы в СОЕДИНИТЕЛЯХ СЕГМЕНТОВ с помощью стандартных алгоритмов, гарантируя, что правила, касающиеся маршрутов, и дерево ШИРОКИХ ОПЕРАЦИЙ, а также любые ограничения на совместимость, наложенные пользователем, соблюдаются. Программа ХОЗЯИНА для инициализации также назначает уровни арбитража для МАСТЕРА и ЛОГИЧЕСКИЕ АДРЕСА для УСТРОЙСТВ, которым они необходимы, и выполняет специальные операции данного УСТРОЙСТВА. Процесс инициализации продолжается методично. В начале инициализируются все СОЕДИНИТЕЛИ СЕГМЕНТОВ, начиная с тех, которые находятся на том же СЕГМЕНТЕ, что и ХОЗЯИН, а затем и за его пределами. Для каждого СС ХОЗЯИН вначале обращается к ближней стороне и загружает маршрутную таблицу и уровень арбитража для операций до дальней стороны. Затем разрешаются операции по направлению к дальней стороне, и ХОЗЯИН загружает маршрутную таблицу, а также уровень арбитража на дальней стороне, и, наконец, отпирает СС для операций в обратном направлении, а именно обратных по отношению к ХОЗЯИНУ. Это продолжается до тех пор, пока все СС не инициализируются. Затем инициализируются СЛУГИ и МАСТЕРА. Дееспособность МАСТЕРА создается в последнюю очередь, чтобы исключить возможность для МАСТЕРА попытаться войти в еще неинициализированные части системы. Всю топологическую информацию системы ФАСТБАС также, как и данные, специфичные для инициализации каждого УСТРОЙСТВА, лучше всего содержать в базе данных, управляемой ХОЗЯИНОМ. После инициализации системы может возникнуть необходимость обратиться к этой базе данных в случае каких-либо проблем с системой или УСТРОЙСТВОМ. Например, УСТРОЙСТВА, получившие сигнал RB (оброс магистрали) требуют по крайней мере повторного «оживления», а замененные УСТРОЙСТВА-инициализации. Централизация требуемой информации и действий упрощает управление системой. 1.2.13. Средства диагностикиБлагодаря тому, что все ФАСТБАС-сигналы появляются на каждой позиции КРЕЙТ-СЕГМЕНТА, в крейт можно вставить УСТРОЙСТВО, которое будет контролировать всю работу магистрали. Возможно сконструировать такие УСТРОЙСТВА, которые будут реагировать на операции определенных типов. В таком УСТРОЙСТВЕ можно запомнить историю циклов, прошедших в магистрали, для их последующего вызова и анализа. УСТРОЙСТВО, способное выдавать сигнал WT, является простым, но мощным средством диагностики. Сигнал ожидания, помимо сброса и запрета работы таймера ответных действий в МАСТЕРАХ, запрещает любые изменения состояния 6 таймирующих сигналов: AG, GK AS, AK, DS и DK, эффективно останавливая всю работу магистрали ФАСТБАС. Благодаря этому, применяя простое испытательное оборудование, можно обследовать состояние магистрали после каждого таймирующего фронта путем снятия и повторной выдачи сигнала ожидания WT. ГЛАВА 2. УСЛОВИЯ, ОПРЕДЕЛЕНИЯ, СОКРАЩЕНИЯ И СИМВОЛЫВ этой главе дана интерпретация стандарта, описаны обозначения, условия относительно логических сигналов, определения, сокращения и символы, применяемые в настоящем стандарте. 2.1. Интерпретация настоящего стандартаПункты и абзацы стандарта со словом «должен» являются обязательными Пункты, заключенные в рамку, являются обязательными. Определения, относящиеся к рекомендуемой или предпочтительной практике, содержат слово «следует». Такие определения рекомендуется выполнить, если нет серьезных причин против их выполнения. Примеры или допустимые варианты обычно содержат слово «может» и оставляют свободу выбора разработчику или пользователю. В тексте обычно применяется десятичное счисление. Если тип счисления не ясен из контекста, к двоичным числам добавляется буква b (например 00100b), а к шестнадцатиричным - буква h (например, 1A3F5h). Чтобы соответствовать настоящему стандарту, выполняемые устройства или системы должны удовлетворять обязательным требованиям этого стандарта. Не- ФАСТБАС-оборудование, которое не противоречит в своем действии характеристикам ФАСТБАС, определенным в этом стандарте, рассматривается как совместимое с системой ФАСТБАС. Ни одна из частей этого стандарта не исключает использование оборудования, которое совместимо в упомянутом смысле, если даже оно не полностью соответствует стандарту. Ни лицензий, ни других разрешений не требуется, чтобы использовать настоящий стандарт. 2.2. Обозначения и условия логических сигналовВ настоящем стандарте использованы следующие обозначения для регистров и разрядов в регистрах.
<номер бита высшего порядка : номер бита низшего порядка> Выражение XX = N означает, что на линиях, обозначенных XX, выставлен код со значением N. Принята положительная логика, т.е. сигнал с высоким значением обозначает логическую 1, а с низким значением - 0. Это отражается в обозначении сигнала, т.е.: АК при высоком сигнале изображает логическую 1; АК* при высоком сигнале изображает логический 0, иначе говоря АК* активен при низком значении. Если ФАСТБАС реализован в ЭСЛ-логике, сигнал «Подтверждение приема адреса» можно обозначать АК, однако в системе с ТТЛ-логикой обозначение будет АК*. В логических схемах сигналы, магистрали обычно проставляют в прямоугольнике (см. рисунок).
Обычно применяемые логические графические символы соответствуют Публикации МЭК 113-7 (ГОСТ 2.743). Рекомендуется использование положительных логических символов. Применение этих символов к линиям межсоединений обычно приводит к неотрицательным выходам, соединенным с неотрицательными входами. Следующие параметры показывают обозначения линий и сигналов: SS все SS-линии и SS-сигналы; SS0 SS-линия или сигнал с весом 1; SS1 SS-линия или сигнал с весом 2; SS2 SS-линия или сигнал с весом 4; SS = 2 значение кода на группе SS-линий или сигналов; SS <2:0> SS2, SS1, SS0; SS1 = 1 логическое состояние линий SS1 или сигнала. 2.3. Определения
2.4. Буквенные обозначения
2.5. Символы
ГЛАВА 3. СИГНАЛЫ, СИГНАЛЬНЫЕ ЛИНИИ И ШТЫРЬКИ РАЗЪЕМОВЭта глава содержит разъяснения терминологии, используемой при описании сигналов, сигнальных линий и штырьков, а также краткую характеристику их применения. 3.1. Типы сигнальных линийСигналы, используемые в системе ФАСТБАС, могут быть классифицированы следующим образом. Таймирование - фронты этих сигналов используются для разграничения ФАСТБАС-циклов, содержащих информацию об адресе или о данных, либо об арбитраже. Управление - уровень этих сигналов определяется в моменты фронтов таймирующих сигналов для последующего установления типа операции. Действие управляющих линий зависит от момента появления фронтов импульсов. Информация - уровень этих сигналов в момент фронта таймирующего сигнала выражает действие, определяемое управляющими линиями и запускающим фронтом. Асинхронные - некоторые ФАСТБАС-сигналы могут быть инициированы событиями, которые не синхронизированы с ФАСТБАС-протоколом. Примерами являются запросы на обслуживание и арбитраж. Последовательные данные - независимая последовательная магистраль, которая действует на основе протокола последовательной сети ФАСТБАС. Фиксированные - информация, указывающая физическое положение модулей в крейт-сегменте или кабель-сегменте, фиксированная в том смысле, что она не может быть изменена ФАСТБАС-операциями. 3.2. Обозначения характера сигналовСигналы обозначаются следующим образом: если XX - сигнал на магистрали, то на логических диаграммах ВХХ используется для обозначения буферированного привходящего сигнала и IXX - для генерированного внутри выходящего сигнала магистрали. Состояние или изменение состояния сигнала XX показывается следующим способом: XX (u) - переход от 0 к 1 (up); X (d) - переход от 1 к 0 (down); XX (t) - переход от одного уровня к другому (toggle - коленчатый изгиб); ХХ= 1 - сигнал выставлен; ХХ = 0 - сигнал не выставлен. 3.3. Краткое описание сигналов, линий и штырьковВ дополнение к имени сигнала каждый подзаголовок в этой главе содержит, в скобках, указания на применение сигнала в соответствии с определением, данным в таблице, и на возможные источники сигнала. Каждый сигнал воплощается магистральной линией как в крейт-сегменте, так и в кабель-сегменте, если в описании не оговорено иное. Сигнальные линии ФАСТБАС и штырьки разъемов, описанные в п. 3.3, должны быть выполнены в ФАСТБАС-сегментах и должны использоваться в соответствии с обязательными требованиями, описанными в настоящем стандарте. 3.3.1. AS - строб адреса (Т, мастер)Таймирующий сигнал AS выдается после установления сигналов на линиях AD адрес/данные и MS выбор режима передачи, возбуждаемых мастером после получения права владения магистралью. По получении этого сигнала слуги сопоставляют адрес и его тип с адресом и типом, которые были встроены или запрограммированы в cлуге. Слуги, не признавшие адрес, не предпринимают дальнейших действий до следующего сигнала AS (u), когда они снова будут выполнять сопоставление адресов. 3.3.2. АК - подтверждение приема адреса (Т, слуга или вспомогательная логика ВЛ)Таймирующий сигнал АК выдается слугой после признания своего географического или логического адреса в первичном адресном цикле. Получение сигнала АК действующим мастером показывает, в соответствии с состоянием линий MS <2:0>, что выполнено соединение либо с одним слугой, либо широкое соединение с несколькими слугами. В первом случае АК выдает слуга, во втором случае подтверждение АК выдает вспомогательная логика ВЛ. 3.3.3. EG - разрешение географической адресации (УТ, мастер или ВЛ)Управляющий сигнал EG выдается мастером или вспомогательной логикой. По получении этого сигнала слуги сопоставляют свой географический адрес с адресом, кодированным на младших линиях AD. Географический адрес вводится в модуль через сегментный разъем с кодированными штырьками, а в устройстве, подключенном к кабель-сегменту, - задается при помощи механически переключаемого регистра. 3.3.4. MS - выбор режима передачи (У, мастер)Три управляющих сигнала режима передачи выдаются мастером во время адресного цикла, чтобы определить тип соединения. Во время циклов передачи данных мастер возбуждает линии MS и RD, чтобы указать режим передачи данных. В адресном цикле MS указывает доступ или к области адресов данных, или к области адресов регистров управления и состояний конкретного устройства или нескольких устройств при широкой операции. В цикле передачи данных управляющие сигналы MS определяют сканирование редких данных, вторичный адрес, передачу блока или принудительную передачу блока. 3.3.5. AD - адрес/данные (И, мастер или слуга)Тридцать две информационные линии AD предназначены для передачи информации во время ФАСТБАС-операции. Сигналы AD выдаются мастером в циклах записи и слугой в циклах чтения. Линии обозначаются AD <31:00>, где AD31 - старший разряд. 3.3.6. SS - состояние слуги (И, слуга)В первичном адресном цикле три информационных сигнала SS выдаются или соединителем сегментов, или слугой, чтобы отобразить состояние соединений в сети сегментов или состояние соединений с устройством. В цикле передачи данных эти сигналы выдаются присоединенным слугой, чтобы показать состояние слуги. В обоих случаях сигнал SS = 0 показывает, что цикл был успешным. 3.3.7. DS - строб данных (Т, мастер)Таймирующий сигнал DS выдает мастер, чтобы начать цикл передачи данных. По получении этого сигнала, присоединенные слуги используют сигнал RD, чтобы определить, выставлять ли данные на линии AD при RD = 1 - чтении или принимать данные при RD = 0 - записи. Подобным образом расшифровываются сигналы MS <2:0>, чтобы определить режим операций. Прежде чем выдать DS, мастер должен выждать время установления сигналов на управляющих и информационных линиях. 3.3.8. DK - подтверждение приема данных (Т, слуга или ВЛ)Единственный присоединенный слуга всегда выдает таймирующий сигнал DK в ответ на DS. При широкой операции DK выдается в системном подтверждении (см. гл. 7). Значение MS во время первичной адресации определяет, какой будет источник DK. 3.3.9. RD - чтение (У, мастер)Мастер выдает RD, чтобы указать присоединенному слуге направление потока данных на линиях AD, РЕ и РА. В адресном цикле и при записи в цикле передачи данных RD = 0, при этом мастер выдает AD, РЕ и РА, при чтении RD = 1 в цикле передачи данных, причем упомянутые линии возбуждает слуга. 3.3.10. РЕ - разрешение контроля по четности (И, мастер или слуга)Информационный сигнал РЕ выдается устройством, чтобы показать что генерирован сигнал нечетности для АD-линий. Линия РЕ может быть возбуждена мастером в адресном цикле и в циклах записи, а также слугой в циклах чтения. Выдача РЕ не гарантирует, что будет происходить проверка четности. 3.3.11. РА - четность (И, мастер или слуга)Сигнал РА выдают мастер или слуга если они выдают РЕ. Если в слове AD <31:00> имеется четное число битов, установленных в логическую 1, то РА устанавливается в логическую 1. 3.3.12. WT - ожидание (А, любое устройство)Выдача сигнала WT устанавливает в начальное состояние таймеры ответных действий и запрещает их работу в мастере, а также запрещает выдачу таймирующих фронтов мастерами и слугами. Этот сигнал генерируют соединители сегментов, а также слуги и диагностические модули, чтобы показать действующему мастеру, что, прежде чем он получит ожидаемый ответ, будет продолжительная задержка. Использование сигнала WT в целях диагностики позволяет запускать систему одиночными шагами. 3.3.13. AR - запрос на арбитраж (А, мастер)Управляющий сигнал AR выдает мастер, чтобы запросить владение магистралью в своем сегменте. Управление таймированием арбитража, получив AR, начинает цикл арбитража, как только это разрешит действующий мастер. 3.3.14. AG - разрешение на арбитраж (ТА, вспомогательная логика)Линия AG возбуждается вспомогательной логикой, чтобы начать циклы арбитража, в течение которых претендующие мастера выясняют, кто из них будет следующим действующим мастером. 3.3.15. AL - уровень арбитража (ИА, мастер)Линии AL <05:00> уровня арбитража возбуждаются мастерами, участвующими в цикле арбитража. Возбуждение линии отображают приоритет мастера в своем сегменте или системе. Правила выдачи сигналов AL детально описаны в гл. 6. 3.3.16. GК - подтверждение приема разрешения на арбитраж (ТА, мастер)Сигнал GK выдает мастер, который участвовал в арбитраже и выиграл самый последний цикл арбитража. До тех пор, пока мастер не выдал сигнал GK, он называется подготовленным мастером. Действующий мастер - это такой мастер, который выдал GK или AS. Правила выдачи GK даны в гл. 6. 3.3.17. AI - запрет запроса на арбитраж (УА, вспомогательная логика)Управление таймированием арбитража (УТА) выдает AI, чтобы показать наличие неудовлетворенных запросов после цикла арбитража. Мастера, работающие в протоколе гарантированного доступа, не будут выдавать запрос AR и таким образом воздержатся от участия в последующих циклах арбитража, пока все мастера, выставляющие AR, не получат владение магистралью и не завершат свои операции. 3.3.18. SR - запрос на обслуживание (А, мастер или слуга)Устройство, которое нуждается в обслуживании, может в любой момент выдать сигнал SR. Мастер, назначенный для наблюдения за линией SR, получив владение магистралью, может предпринять необходимые действия. 3.3.19. RB - сброс магистрали (А, мастер или мастер через СС)Сигнал RB выдает мастер, располагающий достаточной информацией, чтобы ввести сегмент в свое начальное или спокойное состояние. Этот асинхронный сигнал может быть использован для предварительной подготовки сегмента перед инициализацией или диагностикой. В последнем случае перед началом диагностических процедур важно ограничиться минимальными воздействиями на сегмент. 3.3.20. ВН - магистраль остановлена (У, вспомогательная логика)Сигнал ВН выдается только логикой работа/останов в управлении таймированием арбитража, когда логика обнаруживает запрос на останов от переключателя работа/останов. Этот сигнал, генерированный совместно с АК, указывает на неактивное состояние остановленного сегмента, позволяя всем устройствам, расположенным в сегменте, защитить себя от спонтанных сигналов, которые могут быть генерированы в магистрали вследствие разных причин. Сигнал ВН особо предназначен для защиты против ложного сигнала RB. 3.3.21. GA - географический адрес (Ф, запаянная кодирующая схема)Пять штырьков GA двоично кодированы на разъеме в каждой позиции в крейте-сегменте, причем код однозначно выражает номер позиции модуля. GA = 00 представляет крайнюю правую позицию, если смотреть на крейт спереди. Когда выдан сигнал EG, все устройства в сегменте сопоставляют код своих штырьков с кодом на пяти младших линиях AD, чтобы определить, не адресованы ли они географически. Каждое устройство в кабель-сегменте имеет регистр из пяти переключателей, которые используются для географической адресации вместо штырьков GA. 3.3.22. ТР - Т-штырьки (И, слуга)В каждой позиции разъем имеет Т-штырек, соединенный с одной из AD-линий. В позиции 00 Т-штырек соединен с линией AD00 и т.д. Эти штырьки используются для индикации присутствия данных в модуле в ответ на начало сканирования редких данных или для выбора узора битов, показывающего источники сигнала SR в сегменте. Эти штырьки могут быть также использованы для выбора устройства. 3.3.23. DL, DR - цепная связь (И, мастер или слуга)В крейт-сегменте предусмотрены две независимые цепные связи А и В, чтобы обеспечить возможность передачи сообщений между соседними модулями. В каждой позиции модулей звено обеих цепей имеет соединения с прилегающим разъемом в позиции слева (DLA и DLB) и с разъемом справа (DRA и DRB). Каждая цепь имеет обратный провод (DAR и DBR). Цепь А используется для передачи информации справа налево, цепь В для передачи слева направо, (см. табл. XX и рис. 33). Использование цепных связей ФАСТБАС не должно мешать использованию ФАСТБАС-протокола. Использование цепных связей не определяется настоящим стандартом. В позициях без модулей цепные связи разорваны. Это должно быть учтено при подготовке крейт-сегмента для использования цепных связей. 3.3.24. ТХ, RX - линии Последовательной сети (А, мастер или слуга)В крейт-сегменте линии Последовательной сети обеспечивают любому модулю удобный доступ к Последовательной сети ФАСТБАС. Применяются эти линии в соответствии с протоколом Последовательной сети ФАСТБАС. Соединение между последовательными линиями одного крейт-сегмента и Последовательной сетью ФАСТБАС может быть выполнено при помощи интерфейса в модуле или на задней кросс-плате крейт-сегмента. 3.3.25. TR - согласованные линии ограниченного примененияПрименение TR линий ограничено специальными системами, в которых требуется обеспечить функции, асинхронные стандартным операциям в магистрали. Эти применения следует ограничивать, быстродействующими дифференциальными счетчиками, схемами пропускания и т.п. TR-линии не следует использовать взамен операций в соответствии со стандартным протоколом. TR-линии следует согласовывать в соответствии с указаниями гл. 7.5. Предупреждение. Поскольку применение TR-линий не стандартизовано, модули различного типа, присоединенные к линиям, могут оказаться несовместимыми в работе. 3.3.26. UR - несогласованные линии ограниченного примененияПрименение UR-линий ограничено аналоговыми сигналами в специальных системах. Пределы напряжений и токов определены в п. 3.4.1. 3.3.27. Другие линии и штырькиВ крейте имеются резервные линии, линии для подвода питания, а также четыре FP-штырька для свободного использования, не соединенные линиями. Они стандартизованы в гл. 13. Допустимые напряжения для этих FP-штырьков определены в п. 3.4.1. 3.4. Нагрузка линийУстройство должно иметь передающую и приемную схемы пропускания или их эквивалент с целью нагрузки для четырех линий таймирования магистрали AS, DS, АК и DК. Реализацию на конкретных элементах (ЭСЛ, ТТЛ и т.п.) см. в приложении А. 3.4.1. Допустимые пределы токов и напряжений для сигнальных линий и F-штырьковНапряжение на несогласованных линиях UR ограниченного применения и на F-штырьках не должно превышать 15 В. Ток через сигнальные линии не должен превышать 100 мА. ГЛАВА 4. ФАСТБАС-ОПЕРАЦИИ. АДРЕСАЦИЯФАСТБАС-операция имеет три четко различимые фазы. В течение первой фазы, первичного адресного цикла, мастер, овладевший магистралью, устанавливает соединение с одним или несколькими слугами. Состояние линий MS выбора режима во время первичного адресного цикла совместно с информацией на АD-линиях используется каждым слугой, чтобы определить, следует ли ему присоединяться к мастеру. Во время следующей фазы передачи данных присоединенные слуги реагируют на циклы, начинаемые мастером. В циклах передачи данных слуги определяют характер информации на AD-линиях по сигналам на трех линиях MS. Специальным типом данных является вторичный адрес, который присоединенные слуги используют для выбора различных регистров или функций, не нуждаясь в первичных адресных циклах. Циклы передачи данных продолжаются до заключающей последовательности фронтов, при которой мастер сообщает присоединенному слуге (или слугам), что следует разорвать связку. Система ФАСТБАС состоит из ряда автономных сегментов, которые могут быть связаны на время межсегментных операций. Устройства, принадлежащие одному сегменту, должны быть отличимы от устройств другого сегмента. Подобным образом устройства внутри одного сегмента должны быть отличимы друг от друга. Эти различия выявляются во время первичного адресного цикла, который выполняется по трем различным, но совместимым схемам адресации: географической, логической и широкой. Географической адресацией используются адреса, определяемые позицией устройства. Эта адресация должна быть использована для инициализации систем. Логическая адресация является общей схемой адресации, для обеспечения которой каждому устройству при инициализации присваивается область 32-разрядных адресов, на которые устройство будет реагировать во время первичных адресных циклов. При географической и логической адресации к мастеру присоединяется лишь единственный слуга. При широкой адресации к одному мастеру могут присоединиться много слуг. Используемая техника адресации позволяет каждому сегменту обнаруживать широкую адресацию, а каждому слуге в выбранном сегменте присоединяться к действующему мастеру. Обсуждение и стандартизуемые правила в этой главе относятся к интерпретации адресов. В следующей гл. 5 детально обсуждаются способы генерации первичных адресных циклов и циклов передачи данных различных типов, а также способы ответов на такие циклы. В системе ФАСТБАС для первичного адреса используются 32 разряда. Старшие биты первичного адреса определяют сегмент. Именно это поле адреса группы GP используется каждым соединителем сегментов, чтобы определить, следует ли передавать первичный адрес в другой сегмент. Поле GP имеет ширину (п битов на рис. 6), которая зависит от требований конкретной системы. Ширина поля адреса группы может изменяться от сегмента к сегменту в соединенной системе, однако рекомендуется, чтобы ширина GP в конкретной системе была фиксирована. 4.1. Логическая адресацияПри логической адресации биты, смежные полю GP адреса группы, используются для выбора конкретного устройства внутри сегмента. Комбинация из этого поля МА адреса модуля и поля GP называется полем DA адресов устройства. Границы между полями GP и МЛ определяются нечетко в том смысле, что несколько различных нолей GP могут быть выделены устройствам в одном и том же сегменте. Поскольку в первичном адресном цикле слуги всегда исследуют все 32 адресных бита, поле адреса модуля МА конкретного устройства может включать некоторые из младших битов поля GP, используемого соединителем сегментов. Номера групп в каждом сегменте следует располагать подряд, причем их можно использовать лишь один раз в пределах сообщающихся частей системы. В системах с преобразующими соединителями сегментов (см. п. 10.1) это означает, что, если в сегменте использованы п преобразуемых групп от GP (0) до GP (п-1), то эти группы не могут быть использованы где-нибудь в другом месте в любом системном контексте, однако их можно использовать местно в других сегментах. Рис. 6. Формат логического адреса Во время первичного адресного цикла при обращении к области адресов данных регистр внутри устройства выбирается кодом, определяемым полем IA внутренних адресов. После того, как это поле выделено для устройства, все остающиеся из 32 битов образуют поле DA адресов устройств. Комбинация из адреса устройства и внутреннего адреса образует логический адрес. Устройства с широким полем IA (т битов на рис. 6) имеют соответственно более узкое поле DA и наоборот. Поле IA может быть даже нулевой ширины. Рекомендуется, чтобы наименьший внутренний адрес, применяемый в устройстве был адрес 0. Внутренний адрес используется при выборе слуги, чтобы иметь возможность выявить внутренние адреса во время адресного цикла. Число регистров данных, идентифицируемых в устройстве, не ограничено числом, допускаемым полем внутренних адресов. Большие адресные пространства для каждого устройства обеспечиваются вторичными адресными циклами. Кроме того, во время первичного адресного цикла код на линиях MS выбора режима показывает, какая из областей должна быть выбрана - область адресов данных или область CSR - область регистров управления и состояний. Поскольку область адресов выбирается в первичном адресном цикле, во вторичном адресном цикле могут быть изменены лишь адреса внутри предварительно выбранной адресной области. В то время, как регистры в области адресов данных могут быть размещены любым способом в соответствии с полем IA, выбранным для устройства, расположение и применение регистров в области CSR стандартизовано (см. гл. 8). Все пригодные для записи регистры как в области адресов данных, так и в области CSR следует делать пригодными для чтения. Стандартизация регистров управления и состояний и наличие вторичных адресных циклов означают, что широкая адресация области адресов CSR может быть использована мастером для выбора ряда слуг, каждый из которых может затем принять участие в одной и той же операции. Один из CSR-регистров предназначен для логического адреса устройства. Этот регистр содержит адрес устройства, который сопоставляется с адресом на AD-линиях во время первичных адресных циклов при выборе либо области адресов данных, либо области адресов CSR. Если во время первичного адресного цикла адрес устройства совпадает с адресом на AD-линиях, то слуга присоединяется к мастеру. Логически адресуемым устройствам в результате инициализации должны быть присвоены логические адреса. Каждое логически адресуемое устройство должно иметь свой логический адрес, определенный регистром CSR-3, пригодным для записи и чтения. Этот регистр должен быть доступен для географической адресации и загружен в процессе инициализации системы до того, как будут задействованы схемы узнавания адреса устройства. Устройство не должно реагировать на логическую адресацию, если не задействованы эти схемы. Поле DA логического адреса должно быть размещено вплотную к левой стороне поля IA внутренних адресов данных и должно простираться до старшего разряда адреса включительно. Если в устройстве используется только область адресов CSR, ноле DA должно быть шириной в 32 разряда адреса. В устройствах, которые имеют как поле адресов данных, так и поле адресов CSR, ширина поля DA должна быть определена требованиями к полю адресов данных. Поле DA состоит из двух частей; поля GP адресов групп, которое должно занимать самую левую часть DA и должно определять сегменты, и примыкающего к GP поля МА адреса модуля, которое должно определять устройство в сегменте. Сегмент должен быть обеспечен достаточным числом адресов групп, чтобы охватить все имеющиеся устройства. Максимальная ширина поля GP не должна превосходить 24 разрядов. Значение GP-0 не должно быть использовано для логической адресации ни в одном из сегментов. Для выбора устройства при логической адресации устройство должно полностью декодировать свое поле DA (см. п. 5.2.2). Адреса от 0 до 255 включ. в базовой группе любого сегмента не должны быть использованы для логической адресации. 4.2. Географическая адресацияВ каждом сегменте первые 32 логических адреса зарезервированы для позиционной адресации устройств, следующие 192 - для позиционной адресации устройств, находящихся на расширенных сегментах, а остальные 32 - для специальных целей. Эти зарезервированные первые 256 логических адреса на каждом сегменте называются географическими адресами. Существуют два возможных формата географического адреса (рис. 7). В первом формате, относящемся к сегменту, все старшие 24 разряда нулевые, младшие 8 разрядов содержат то, что называется полем географического адреса (GA). Второй формат, позволяющий географическому адресу доходить до устройства в другом сегменте, имеет ненулевое поле адреса группы GP и нули во всех разрядах промежутка между полями GP и GA. Вспомогательная логика каждого сегмента исследует все первичные адреса. Если оказывается, что первичный адрес имеет одну из двух указанных форм, где GP соответствует адресу, присвоенному сегменту, в котором находится вспомогательная логика, тогда вспомогательная логика выдает сигнал EG, если этот сигнал уже не выдан мастером или соединителем сегментов. Обнаружив EG = 1 и RD = 0, слуги сравнивают AD <04:00> со своей физической позицией, закодированной на разъеме, a AD <07:05> сравнивают с нулем. Если устанавливается соответствие, слуга присоединяется к мастеру, после чего могут быть начаты нормальные циклы передачи данных, включая вторичные адресные циклы. Рис. 7. Форматы географических адресов Географическая адресация позволяет слуге декодировать меньшее число линий благодаря декодированию адресов, выполненному той частью вспомогательной логики, которая генерирует сигнал EG, или мастером, или соединителем сегментов. В каждом сегменте адреса от 0 до 31 базовой группы должны быть выделены для географической адресации, которая отображает физическую позицию в сегменте, адреса от 32 до 254 должны быть зарезервированы, а адрес 255 должен быть адресом генератора сигнала ЕС) (см. п. 7.2). В крейте-сегменте на каждом сегментном разъеме 5 штырьков GA <04:00> должны быть кодированы номером позиции. Эти штырьки должны использовать слуги с целью выяснения, не адресованы ли они географически. В крейт-сегменте код штырьков ноль должен определять крайнюю правую позицию модуля, если смотреть на крейт спереди. Значение кода должно возрастать на единицу при переходе влево на каждую соседнюю позицию. Устройства, присоединяемые к кабель-сегменту, должны иметь тумблерный регистр для задания и хранения географического адреса. Все устройства должны отвечать на географическую адресацию в любой момент времени. Если модуль занимает в крейт-сегменте более одной позиции, используемые для ввода географического адреса позиция или позиции (или их номера GA) должны быть ясно показаны на передней части модуля. Если модуль реагирует на несколько адресов GA, каждой GA должен соответствовать логически независимый узел в модуле. На рис. 8 показана одна из схем выбора слуги при географической адресации. Модули кратной ширины, реагирующие более чем на один GA, не должны иметь узлов, доступных более чем одним путем. 4.3. Широкая адресацияВо время широкого первичного адресного цикла к действующему мастеру могут быть присоединены несколько слуг. Каждый присоединяемый слуга реагирует на вызов внутренне, не выдавая сигналы подтверждения. Во время широких операций сигналы подтверждения генерирует только вспомогательная логика. Все слуги, присоединенные в результате первичного адресного цикла, отвечают на последующие циклы данных, включая вторичный адресный циклы. Типичными широкими операциями являются синхронизация устройств и сброс сборок регистров на нуль. Рис. 8. Выбор слуги при помощи географической адресации Широкий адрес применяется в двух случаях. В первом случае он служит для определения зоны действия широкой операции: направлена ли она к определенному сегменту, ко всем сегментам сети, управляемой посредством информации, содержащейся в соединителях сегментов, или ко всем сегментам, расположенным после определенного сегмента, включая этот сегмент. Во втором случае широкий адрес служит для выбора в управляемом сегменте либо функции, подлежащей исполнению, либо устройств заранее заданного класса. Определены следующие функции: сканирование редких данных, безусловное выставление сигналов на ТР-штырьки, выставление ТР-сигналов при наличии запроса SR и адресация к устройству посредством выдачи сигнала ТР мастером. Устройства, включенные в кабель-сегмент, вместо сигнала ТР используют непосредственно AD-линию, номер которой соответствует установленному географическому адресу устройства. Коды восьми функций предоставлены разработчику для специальных применений. В зависимости от потребности код класса устройства вводят при его изготовлении или во время инициализации системы. Рис. 9. Формат широкого адреса Соединители сегментов играют важную роль в распространении широких операций в системе. Гл. 10 содержит точную спецификацию функций СС. Здесь дано лишь краткое описание, чтобы способствовать лучшему пониманию того, как соединители сегментов и слуги интерпретируют широкий адрес. 4.3.1. Как мастер управляет широкой операциейНа рис. 9 показан формат широкого адреса. Если в 24 старших разрядах адреса пули, а бит глобальности G(AD <01> единица, широкий адрес является глобальным и операция распространяется на все сегменты, достигаемые широкой адресацией. В каждом соединителе сегментов в маршрутной таблице зарезервирован бит пропускания, соответствующий GP-полю с нулями при пропускании глобальных широких операций. Картина распространения широкого адреса должна иметь простую древовидную структуру без пересечений (см. п. 10.6.2). Это правило должно быть обеспечено во время инициализации системы. Если в поле GP нули и бит глобальности тоже нуль, широкая операция ограничена тем сегментом, в котором находится действующий мастер. Любой СС, передающий глобальный широкий адрес с нулями в поле GP, обеспечивает установку бита локальности L(AD <00>) = 1 при выставлении широкого адреса в сегмент, присоединенный к дальней стороне, независимо от значения бита L в сегменте ближней стороны. Слуги в сегменте, получившем широкий адрес, реагируют на широкую операцию лишь при условии L = 1. Соединители сегментов не исследуют бит локальности, когда определяют, пропускать или не пропускать широкий адрес. Если нули не во всех разрядах поля GP, то широкая операция не является глобальной и маршрут ведет к определенному сегменту. Биты глобальности и локальности, зафиксированные действующим мастером, определяют сегменты, в которых должна выполняться широкая операция. Если G = L = 0, к широкой операции чувствителен лишь сегмент, определенный полем GP; если же G = 0 и L= 1, то реагируют все сегменты, расположенные на пути широкого адреса к определенному сегменту. Если G = l, широкий адрес распространяется точно также, как при G = 0, и действует точно в тех же сегментах (определяемые битом L), пока он не достигнет того СС, который должен передать широкий адрес определенному сегменту. При таких условиях этот СС выставляет L = 1 и нули в поле GP для своего дальнего сегмента. Таким образом, начиная с определенного момента, широкая операция продолжается глобально. Указанные правила в табличной форме представлены в табл. II, которая является обязательной частью спецификаций, данной в п. 10.7.1. Для дальнейшего разъяснения хода широкой операции в таблице есть ссылки на рис. 10. Для широкой адресации индивидуальные подтверждения не выдаются, поэтому несколько СС, присоединенных к данному сегменту, могут опознавать и передавать глобальный широкий адрес. Каждый СС, обнаруживающий широкий адрес, который следует передать дальше, выставляет сигнал WT = 1 в сегмент ближней стороны и пытается завладеть магистралью сегмента дальней стороны. Если в такой попытке возникает какая-либо ошибка, СС генерирует соответствующий ответ на линиях SS (состояние мастера) и сигнал WT = 0 с выдачей его в сегмент ближней стороны, при этом СС не выдает сигнал АК = 1. Если попытка была успешной, СС продолжает поддерживать WT = 1 на своей ближней стороне до тех пор, пока на дальней стороне не получит WТ = 0, и либо АК (u), либо DK (t). После этого СС выставляет WT = 0 в сегмент ближней стороны, то не пропускает ни AK (u), ни DK (t). Один из этих сигналов в соответствии со случаем выдает вспомогательная логика, которая в крейте-сегменте должна чувствовать, что WT = 0 по крайней мере в течение времени, равному двум задержкам в магистрали. Таким способом формируется системное подтверждение и передается действующему мастеру, начавшему операцию. * Этот СС не должен пропускать широкую операцию между сегментами Е и С, если какие-либо другие СС соединяют С и Е в широкой операции. Рис. 10. Пример маршрута широкой операции Таблица II Управление мастером широкой операцией
* N - не равно нулю. Требования выделения древовидной структуры для выполнения глобальной широкой операции, означают, что в системе в каждом данном случае операции допустимо единственное дерево широкой операции и единственный сегмент, ведущий широкую адресацию по всей системе. Глобальные широкие операции из любого сегмента к сегментам, расположенным ниже по дереву, могут выполняться без затруднений. Однако широкая операция с установленным битом глобальности, направленная выше начавшего сегмента, может привести к затруднениям вследствие возможности самоблокировки такой широкой операции. Это происходит, когда СС ожидает освобождение сегмента, которое не может наступить, поскольку сегмент занят другой частью широкой операции. Например, в системе, показанной на рис. 10, глобальная широкая операция к сегменту В и его поддереву может быть начата только из сегментов А, В или Р. Аналогичная широкая операция к сегменту N (чье поддерево состоит только из сегмента С) может быть начата из любого сегмента, кроме С. Если блокировка происходит случайно, то мастер выдерживает весь лимит времени. Операция не повлияет на устройства, но система на некоторое время будет парализована. Начало широких операций может заметно задерживаться, поскольку распространяющийся широкий адрес должен ожидать завершение всех операций, начатых в сегментах, расположенных на пути адреса. В случаях, когда от системы требуется очень высокое быстродействие, возможно использовать кабельные соединения от точки к точке, поскольку нет иного способа гарантировать быстрые соединения в многосегментной системе. После того, как соединение сегментов в системе завершены, скорость циклов передачи данных ограничивается только задержками распространения сигналов в системе. Системные подтверждения (см. п. 7.3) обеспечивают всем адресованным устройствам возможность заметить текущий цикл до начала следующего цикла. 4.3.2. Ответ слуги на широкие операцииБиты AD <07:02> широкого адреса, показанные на рис. 9, используются в качестве поля функций слуги. Во время адресной фазы широкой операции слуги исследуют только AD <00> и AD <07:02>, все другие биты AD игнорируются. AD <00> - бит локальности L должен быть равен единице, если слуга должен выполнить операцию. Если L = 1, слуга исследует поле функции, чтобы определить, какое действие ему следует производить в последующих циклах передачи данных. В табл. III описаны эти действия. Слуги, отвечающие на широкую операцию, не выдают сигнала подтверждения АК (u) или DK (t). Заметим, что во всех случаях, указанных в табл. III, слуги игнорируют бит глобальности G (AD <01>), а бит локальности (AD <00>) должен быть равен 1. Таблица III Кодирование функций в ответе слуги на широкую операцию
* Разряды 5-7 используются для адресации к определенному сегменту на расширенном сегменте. Для того, чтобы ответить, слуги требуют, чтобы эти биты были равны нулю. Модули, разработанные до 1 июля 1986 г., которые отвечают случаю 3, не нуждаются в декодировании битов 4 - 7 и, следовательно, не нуждаются в ответе, отличном от случаев 3 и 3а. ** Устройство, присоединенное к кабель-сегменту, в отличие от присоединенного к крейт-сегменту, вместо ТР-штырька использует AD-линию, номер которой соответствует географическому адресу устройства, установленному при помощи переключателя. Широкий адрес должен быть определен сигналом MS1 = 1 во время первичного адресного цикла и иметь формат, представленный на рис. 9. Слуги должны отвечать на широкий адрес только в случае, когда AD <00> = 1, и в соответствии с указаниями, данными в табл. III. Интерпретируя широкий адрес, слуги должны игнорировать AD <31:08> и AD <01>. Если во время адресной части широкой операции имеет место АD <03> = AD <02> = 1, то в следующем цикле передачи данных должно выполняться MS = 0. После завершения одного из широких первичных адресных циклов, определенных в табл. III, мастер может во время последующей связки AS/AK действовать следующим образом. Случаи 1 и 2. Разрешается любая последовательность вторичных адресных циклов и циклов данных. Характеристики состояний те же, что и не для широких операций. Остальные случаи. Если во время адресной части широкой операции имело место равенство AD <03> - 1, то следующим циклом должен быть цикл данных при MS = 0. Если первый цикл является циклом считывания данных, за ним при MS = 0 может последовать цикл записи данных, который также имеет специальное значение. Устройства, все еще присоединенные к мастеру после завершения этого цикла записи, реагируют на последующие циклы данных обычным путем. Если цикл записи данных, непосредственно следующий за первым циклом считывания данных, не должен иметь особого значения, MS не должен равняться нулю. Адресный цикл в широких операциях применяется с целью определения условий для выбора устройств и установления соединений. Другие действия не допускаются вплоть до последующих циклов передачи данных. Мастер, замечающий в период адресации не нулевой ответ SS, знает, что возникает какая-то неправильность, которая, однако, не имеет характера аварии благодаря тому, что присоединенные слуги еще не исполнили действии с данными, поскольку период передачи данных еще не наступил. Слуги, присоединенные к мастерам во время адресного цикла, могут выдавать сигналы SS состояния слуг в ответ на циклы данных тем же способом и с теми же целями, которые обычны для циклов данных при нешироких операциях. Системное подтверждение позволяет мастеру, выполняющему широкую операцию, при получении сигнала DK (t) или АК (u) полагать, что условия на линиях SS правильны, за исключением случая принудительной передачи блока. При широком чтении считываемые данные верны также в момент перехода DK (t). Однако не существует механизма, гарантирующего проверку данных по четности при широком чтении. Если мастер, выполняющий широкую операцию, видит не нулевой ответ SS в момент DK (t), то он не имеет средств определить, какой из присоединенных слуг правильно выполняет циклы данных и какой выполняет неправильно. Известно только лишь, что кто-то работает неправильно. Чтобы продолжить выполнение задачи, можно пренебречь ошибкой, если это допустимо, или повторить широкую операцию, или, на худой конец, запустить всю систему снова. Вследствие указанных трудностей, слугам при широких операциях в системах ФАСТБАС не следует выставлять ответы SS, кроме как в критических ситуациях управления. Рекомендуется такие операции разделять на два этапа. Первый является проверочным, поэтому если действительно требуется выставить ответ «SS не равно 0», то это нужно делать в первом цикле. На втором этапе происходит исполнение команды. В случае затруднений мастер может остановить операцию после первого этапа и предпринять корректирующие действия до каких-либо существенных действий со стороны присоединенных слуг. 4.4. Вторичная адресацияКак было описано ранее (например, в п. 4.1), вторичный адресный цикл можно рассматривать как цикл данных, в котором определяется новый адрес внутри пространства в устройстве (или в устройствах), присоединенном во время первичного адресного цикла, независимо от его типа - логического, географического или широкого. Для осуществления вторичной адресации, с учетом того, что передача адресов и данных в магистрали происходит мультиплексно, но во многих устройствах необходимо хранить адресную информацию в NTA-регистре адреса следующей передачи. Все устройства, которые имеют более одного CSR-регистра или более одного регистра в области данных, должны иметь регистр NTA и декодировать все 32 AD-бита во время вторичного адресного цикла записи, чтобы определить, какой ответ SS следует выдать и тип последующей операции устройства. Если имеется регистр NTA, то он должен: загружаться информацией о внутреннем адресе IA в младших битах и нулями в остальных только тогда, когда устройство узнало свой адрес и выдало MS = 0 (см. табл. V); загружаться соответствующей AD-информацией во время вторичного адресного цикла записи (см. п. 5.3.1); передавать и АD-линии информацию во время вторичного адресного цикла чтения (см. п. 5.3.1); модифицироваться только операциями ФАСТБАС. После каждой передачи данных в блоке или в принудительной передаче блока NTA-регистр должен оставаться либо неизменным, либо получать приращение на единицу. Эти правила позволяют мастерам географически адресовать слуг и считывать обратно предыдущее содержание NTA-регистра. Заметим также, что нет необходимости делать NTA-регистр шириной и 32 разряда. Регистр может содержать одиночные биты, указывающие достоверность многобитовых полей внутри вторичного адреса шириной в 32 бита. NTA-регистр загружается всегда, вне зависимости от достоверности вторичного адреса. Если вторичный адрес не верный, то возвращается SS = 7. Простая или принудительная передача блока не должна модифицировать NTA-регистр, если для наблюдения за передачей данных имеются другие средства, например, память «первый вошел, первый вышел» или счетчики-указатели, как регистр CSR = 40 в соединителе сегментов. 4.5. Операция сканирования редких данных и узорного выбора устройствОперация сканирования редких данных (СРД), случай 3 в табл. III, позволяет мастеру быстро определять, какие из многочисленных устройств содержат ценные данные, и для получения данных ограничиться опросом именно этих устройств. Сканирование редких данных может быть выполнено следующим образом. Операция может начаться с широкого адресного цикла при AD <04:02> =2. В следующем цикле чтения модули, имеющие данные, выставляют сигналы ТР на АD-линии. Затем мастер заканчивает широкую операцию удалением AS, а после этого географически адресуется к тем модулям, которые имеют данные. Данные могут быть считаны при помощи передач блоков. Если требуется очистить модули и установить их в исходное состояние, мастер может начать другую широкую операцию, на этот раз направленную к пространству регистров управления и состояний. Затем при помощи цикла записи данных и ранее полученного ТР-узора выбирается первоначальная группа модулей. Вторичным адресным циклом с последующими циклами записи данных выбирают и модификации нужных регистров. Узорный выбор устройств выполняется во время первого цикла записи данных, следующего за широким адресным циклом с АD <03> = 1 и AD <02> = 0. Может быть также промежуточный цикл чтения данных при MS = 0. Цикл чтения, следующий после узорного выбора, не предусматривает чтение узора редких данных, как при СРД, а является обычным циклом чтения при широкой операции. Узорный выбор устройств не может быть изменен без выполнения нового широкого адресного цикла. Первый цикл чтения, который дает узор редких данных, не препятствует узорному выбору во время примыкающего цикла записи данных. Это возможно, например, путем выполнения широкой адресации при MS = 4 и AD <04:02> = 2, чтения узора редких данных, демаскированием, быть может, битов некоторых модулей, записи узора (с выполнением узорного выбора), записи вторичного адреса для выбора CSR-регистра во всех выбранных модулях, а затем записи данных, чтобы вызвать в этих модулях ответное действие. Отметим, что процесс присоединения к мастеру во время выполнения широкого адресного цикла не влияет ни на какие внутренние указатели в слуге. Следовательно, существует возможность конструирования устройств, которые выставляют сигнал ТР в зависимости от содержания регистра, указанного регистром NTA. Для осуществления этой возможности выполняется широкий адресный цикл (случай 1 или 2) с целью отбора интересующих устройств, затем следует цикл записи данных вторичного адреса для установки указателя в NTA каждого слуги. Мастер завершает цикл передачи широкого адреса (случай 3), сохраняя GK = 1, для повторного отбора устройств, за которым следует цикл чтения данных при MS = 0 для опроса этих устройств. Широкие операции значительно медленнее обычных операций вследствие затрат времени на проведение системных подтверждений. Широкие операции обычно следует ограничивать несколькими циклами или случаями, когда возможен существенный параллелизм. ГЛАВА 5. ОПЕРАЦИЯ ФАСТБАС. ТАЙМИРОВАНИЕ, ПОСЛЕДОВАТЕЛЬНОСТИ И ОТВЕТНЫЕ ДЕЙСТВИЯОперация ФАСТБАС содержит обмен информацией между мастером и одним или более слугами. Мастер осуществляет полное управление операцией. Слуги только отвечают на запросы мастеров. Мастер инициирует цикл магистрали (т.е. делает запрос), выставляя сперва сигналы на управляющих линиях («выбор режима» и «чтение»), а также на информационных линиях («адрес/данные», «четность» и «разрешение контроля по четности») и затем, после соответствующей задержки, выставляя синхронизирующий сигнал. В зависимости от типа запроса выбранный слуга или вспомогательная логика отвечают при помощи выставления подтверждающего сигнала, а также, если это требуется, слуга выставляет данные на линии «адрес/данные». Статус текущего цикла сообщается по линиям «состояния слуги», сигналы на которые подаются соединителями сегментов или слугами в случае первичного адресного цикла и слугами в случае цикла данных. В табл. IV показана таймирующая последовательность для адресного цикла или цикла данных с подтверждением. Блочные передачи данных могут использовать, а могут и не использовать подтверждение мастер/слуга. Таблица IV Таймирующая последовательность для цикла с подтверждением
Этот раздел начинается с общих требований к таймированию для сигналов, генерируемых мастерами и слугами. Далее специфицируются первичные адресные циклы и циклы данных. В заключение специфицируется использование некоторых специальных линий, которые могут оказывать влияние на операции ФАСТБАС. 5.1. Общие требования к таймированию взаимодействия мастер/слугаСледствие требований к таймированию, которые перечисляются ниже, заключается в том, что слуге не нужно иметь сведения о характеристиках таймирования в том сегменте, к которому он в текущий момент подключен, а мастеру не нужно проводить различие между операциями в пределах данного сегмента и вне сегмента. Мастера и вспомогательная логика, подключенные к некоторому сегменту, имеют дело с требованиями к таймированию, ассоциируемыми только с данным сегментом. Соединители сегментов имеют дело с требованиями к таймированию, ассоциируемыми с межсегментными операциями. Никакие конкретные времена в этом разделе не упоминаются. Наоборот, спецификации приводятся в терминах времен разброса задержек, времен ответных действий и так далее. Рекомендуемые значения этих времен для конкретных реализаций приведены в приложении А. 5.1.1. Требования к таймированию сигналов мастера1. Информация должна быть выставлена на линии AD, РЕ, PA, PD и MS мастером только после выполнения условия AK = EG = 0 в течение времени большего, чем минимальный промежуток между импульсами (см. п. 2.3 и табл. АII). 2. Управляющая информация на линиях RD, MS и, если требуется, на линиях AD, РА, РЕ должна выставляться раньше, чем выдается сигнал AS (u) или DS (t), на время разброса задержек. 3. Подача сигнала EG мастером должна производиться в то же самое время, что и выставление адресной информации. 4. Во время циклов передачи первичного адреса или записи данных мастер должен поддерживать сигналы на линиях MS, AD, РА и РЕ до тех пор, пока он не получит сигнал АК (u) или DK (t) соответственно и примет информацию с линий SS, либо до тех пор, пока не выйдет за пределы установленного лимита времени. 5. Во время цикла чтения данных мастер должен поддерживать сигналы на линиях MS и RD до тех пор, пока он не получит сигнал DK (t) и не примет информацию с линий SS, AD, РА и РЕ, либо до тех пор, пока не выйдет за пределы лимита времени. 6. Мастер после получения сигналов подтверждения АК (u) или DK (t) от слуги должен, при выполнении условия WT = 0, обеспечить время разброса задержек перед приемом данных с линии SS или, при условии RD = 1, также с линией AD, РА и РЕ. 7. Мастер должен генерировать строб адреса AS (d), если операция ФАСТБАС, инициированная стробом адреса AS (u), должна быть завершена. Мастер должен прекратить подачу всех сигналов на магистраль по крайней мере на время разброса задержек раньше, чем поступит AS (d) (кроме строба данных DS, который может быть удален одновременно с AS (d)). 8. Мастер должен поддерживать сигнал AS (d) в течение времени (минимального промежутка между импульсами, см. табл. АII), достаточного для того, чтобы очередной слуга, к которому будет осуществляться обращение, видел сигнал AS (d) прежде, чем поступит следующий сигнал AS (u). 9. Если мастер в течение лимита времени адресных ответных действий не получает сигнал АК (u) (см. п. 5.1.3 и приложение А) после подачи сигнала AS (u), мастер должен выставить сигнал AS (d) в течение по крайней мере минимального времени спада импульса до начала новой операции. 10. Если ответ AK (d) на сигнал AS (d) не получен в течение лимита времени адресных ответных действий мастера, он должен констатировать ошибку. 11. Если ответ DK (t) на сигнал DS (t) не получен в течение лимита времени ответных действий мастера для данных (см. приложение А), мастер должен констатировать ошибку. Системные соображения требуют, чтобы мастера запускали таймер ответных действий в начале каждого цикла магистрали, за исключением принудительных передач. Если в пределах ожидаемого промежутка времени ответ не получен, данный цикл должен быть завершен и должны быть инициированы восстановительные или диагностические процедуры. Для периодов таймера ответных действий адресного цикла и цикла данных могут быть установлены различные значения, если это желательно. При выборе конкретных значений периодов таймера ответных действий следует учитывать только свойства локального сегмента. За исключением принудительных передач, мастер должен ожидать ответ на каждый таймирующий фронт, который он генерирует. В момент каждого такого таймирующего фронта мастер должен запускать таймер ответных действий (см. приложение А). Этот таймер должен быть сброшен, когда поступает подтверждение на данный таймирующий переход или когда мастер обнаруживает появление сигнала на линии WT (ожидание). Такие таймеры должны управляться при помощи регистра управления и состояний CSR = 9, как это специфицировано в разд. 8. В мастере лимиты на время ответных действий основываются на времени реакции слуги на таймирующий фронт и максимальном времени распространения сигнала для той магистрали, к которой непосредственно подключен данный мастер. Таймер другого типа, долгий таймер, нужен мастерам для предотвращения мертвых связок. Этот таймер управляем регистром CSR-9<04> (см. п. 8.12) и игнорирует сигнал WT. Он может быть сброшен и запущен в любой момент, например, когда мастер выставляет AR или AS. Лимит времени может быть изменен в любой момент в соответствии с изменяющимися обстоятельствами. Окончание срока не должно влиять на цикл магистрали, если не выставлены AS = 1 и АK = 0 (лимит времени на мертвую связку в течение адресного цикла). Лимит должен быть достаточным для того, чтобы обеспечить окончание нормальных операций без обрыва, и не слишком большим, чтобы состояния мертвых связок не приводили к бесполезной трате ресурсов системы. Заметим, что мертвые связки могут быть следствием повторных неудач при попытках получения управления нужными ресурсами, и поэтому обнаружение мертвых связок более важно, чем обнаружение падения активности в работе магистрали. Долгий таймер может быть полезен как средство в определение степени удовлетворительного прогресса в достижении целей в конкретных применениях. Как слуги, так и соединители сегментов выдают сигнал WT (u), когда они оказываются не в состоянии выполнить ответные действия немедленно, но предполагают, что смогут сделать это через короткое время. Мастер должен содержать таймер ожидания, который запускается по получении сигнала WT (u), а сбрасывается и запрещается, когда сигнал «ожидание» находится в состоянии WT = 0. Такой таймер ожидания предохраняет мастера от неопределенно долгого ожидания прихода сигнала WT (d), который требуется для продолжения данного цикла. Если истекает лимит времени таймера ожидания, мастер завершает данную операцию, убирая все сигналы. Мастер должен иметь долгий таймер. Долгий таймер и таймер ожидания, если снимается, должны управляться при помощи регистра CSR#9, как установлено в гл. 8. 5.1.2. Требования к таймированию сигналов слугиПри получении сигнала AS (u) слуга должен предполагать, что данные на линиях AD, RE, PA, RD и MS действительны для первичного адресного цикла. Эти данные перестают считаться действительными в тот момент, когда слуга генерирует сигнал АК (u) или получает сигналы АК (u) или AS (d). Присоединенный слуга (см. п. 5.2.2) должен ответить на сигнал AS (u) сигналом АК(u) в пределах времени ответа от слуги (см. приложение А). Слуга должен ответить на сигнал DS (t) в пределах времени ответа на прием данных (см. приложение А) либо выставить сигнал WT = 1 до тех пор, пока он не подаст сигнал DK (t). Если в течение первичного адресного цикла присоединенный слуга выставляет SS, сигналы на линии SS (статус слуги) должны быть поданы не позднее, чем сигнал АК (u), и поддерживаться до тех пор, пока не будет изменено состояние линий MS и RD, либо пока не будет получен сигнал DS (u) или AS (d). Присоединенный слуга, поддерживающий условия АК = 1, в ответ на сигнал AS (d) должен подать сигнал WT = 0, если он этого еще не делает. Когда слуга определяет, что WT = 0, он должен удалить с магистрали все сигналы в течение времени ответных адресных действий слуги и затем выдать AK (d). Присоединенный слуга по получении DS (t) должен принять, что действительные данные находятся на линиях MS и RD и, если подходит, также на линиях AD, РА и РЕ. Данные на этих линиях должны считаться действительными до тех пор, пока слуга не выработает сигнал DK (t) или не получит сигнал DS (t) или AS (d) (см. подпункты 4 и 5 п. 5.1.1). Присоединенный слуга должен выставить SS и, если RD = 1, также AD и на выбор РА и РЕ или ТР не позднее чем DK (t) и должен поддерживать эти сигналы до тех пор, пока состояние линий MS и RD не изменится или будет получен сигнал DS (t) или AS (d). Ответ слуги АК (u) или DK (t) должен означать, что слуга будет отвечать на немедленно следующий сигнал DS (t). Ответ слуги AK (d) должен означать, что он находится в состоянии, в котором он будет правильно отвечать на сигнал AS (u). Слуга должен выдать SS = 6 в ответ на DS (t) для любой невыполнимой операции. Слуга должен выдать SS в ответ на сигнал AS (u) в соответствии с табл. VI. В ответ на AS (d) слуга должен выдать SS = 0. (Например, если нереализованный код MS сопровождает сигнал DS (d) после единичной передачи, устройство должно вернуть ответ SS = 6). Если слуга должен поддерживать АК = 1 в течение большего промежутка времени, чем время адресных ответных действий слуги после получения сигнала AS (d), слуга должен выставить WT = 1. Мастер, видя, что АК = 1, WT = 0, по истечении лимита времени адресных ответных действий мастера, рассматривает это как ошибку. 5.1.3. Использование линии ожидания (WT)Все операции ФАСТБАС, за исключением принудительных передач, являются асинхронными. Если требуется, таймирующие сигналы могут быть запрещены при помощи линии WT (ожидание). Линия WT используется, когда взаимодействие мастер/слуга происходит через соединитель сегментов. В течение принудительной передачи слуга должен игнорировать WT = 1. Сигнал WT должен следующим образом использоваться для задержки таймирующих ответных действий в сегментах ФАСТБАС: 1. При получении управляющего сигнала WT = 1 действующий мастер должен сбросить и запретить свой активный таймер ответных действий (адресного цикла или цикла данных). Мастер может выполнить внутренние ответные действия на таймирующие сигналы AG, АК и DK, но не должен изменять состояние таймирующих сигналов AS и DS. 2. Если в мастере имеется таймер ожидания, управляемый при помощи регистра CSR-9, он должен быть запущен при получении сигналу WT (u). 3. При получении управляющего сигнала WT = 1 слуга может внутренне ответить на таймирующие сигналы AS и DS, но не должен изменять состояние таймирующих сигналов АК или DK. 4. Как для мастера, так и слуги, а также для вспомогательной логики операция ФАСТБАС должна возобновиться, когда получен управляющий сигнал WT = 0. 5. При получении сигнала WT (d) действующий мастер должен перезапустить соответствующий ситуации таймер ответных действий (адресного цикла или цикла данных). 6. При получении управляющего сигнала WT = 1 контролер таймирования арбитража (см. п. 7.1) должен запретить свой таймер GK (u) (подтверждение разрешения). 7. При получении сигнала WT (d) контроллер таймирования арбитража должен перезапустить своп таймер ответных действий GK (u). Независимо от состояния сигнала WT, мастер может завершить операцию, когда истекает лимит времени долгого таймера или таймера ожидания. Слуга может выставить WT в ответ на DS (t), если ему требуется больше времени, чем разрешит таймер ответных действий для цикла данных в мастере, но такая практика не рекомендуется, поскольку она увеличивает риск попадания в состояние невосстанавливаемого сбоя. Для целей диагностики операция на магистрали может выполняться по шагам путем подачи импульсного сигнала на линию WT. 5.2. Первичные адресные циклыПервичный адресный цикл операции ФАСТБАС устанавливает связь между мастером и одним или более слугами. Слуги остаются присоединенными к мастеру и отвечают на циклы данных до тех пор, пока мастер не разорвет связку. Первичный адресный цикл начинается после того, как мастер получил право на владение магистралью и выставил на магистраль сигнал GK-1. Мастер затем выставляет сигнал RD = 0, а также подает сигналы на линии MS, AD и, возможно, на лини РА, РЕ и EG. Затем подается строб адреса AS, и слуги, получающие сигналы AS = 1, EG = 0, сравнивают, в зависимости от состояния линий MS, либо свои логические адреса, либо широкие адреса с адресом, полученным по линиям AD. Слуги, получающие сигналы АК = 0, AS = 1 и EG = 1, сравнивают адрес, поступивший по линиям AD, со своим географическим адресом. Если была затребована связь с единственным слугой, то слуга, который распознает посланный адрес, возвращает действующему мастеру сигнал АК (u), указывающий, что этот слуга теперь становится присоединенным к мастеру. Если был указан широкий адрес, ответный сигнал АК (u) генерируется вспомогательной логикой, и этот сигнал, когда он получен действующим мастером, служит признаком того, что широкий адрес распространился через указанные части системы. В течение остальной части операции действующий мастер поддерживает AS = 1, а присоединенный слуга (или вспомогательная логика) поддерживает АК = 1. Мастер завершает операцию, подавая AS = 0, a слуга или вспомогательная логика отвечают сигналом АК = 0. Когда сигналы AS = AK = 0 в течение достаточного промежутка времени, мастер может инициировать новый первичный адресный цикл, если он сохранил свое право на владение магистралью, продолжая подавать сигнал GK = 1. Таймирование первичных адресных циклов с точки зрения мастера и слуги показано на рис. 11 - 13. 5.2.1. Последовательность действий мастера для формирования сигнала ASМастер должен инициировать первичный адресный цикл, если сигналы AK = WT = EG = 0, а он сам подает сигнал GK = 1. В течение первичного адресного цикла мастер должен: установить RD = 0; подать адресную информацию на линии AD; подать, если требуется, сигнал EG, если MS = 0 или 1; подать, если формируется четность, сигнал РЕ и выставить на линию РА дополнение до нечетного количества единичных битов для линий AD; подать сигналы на линии MS в соответствии с табл. V, чтобы указать режим адресации; сформировать сигнал AS (u) в соответствии со спецификациями на таймирование в п. 5.1.1 и поддерживать AS = 1 в течение операции. * Минимальное значение ТА должно быть больше, чем 2TS 1 - линия «чтение»; 2 - линия «выбор режима»; 3 - линии «адрес/данные», «разрешение контроля по четности»; 4 - линия «строб адреса»; 5 - линия «подтверждение приема адреса»; 6 - линия «статус слуги»; 7 - линия «строб данных» Относительно определений символов см. рис. 13. Рис. 11. Цикл логической адресации
1 - линия «выбор режима»; 2 - линии «адрес/данные», «разрешение контроля по четности», «четность»; 3 - линия «строб адреса»; 4 - линия «разрешение географической адресации»; 5 - линия «подтверждение приема адреса»; 6 - линия «статус слуги» Относительно определений символов см. рис. 13. Рис. 12. Цикл географическом адресации, ЕС выставлен мастером 5.2.2. Ответные действия слуги на сигнал AS (u)В течение первичного адресного цикла слуга должен стать присоединенным слугой и принимать участие в последующих циклах передачи данных только в случаях, если АК = 0, а также если он распознает свой адрес и тип адресации, как это определено в табл. V. В - задержка от мастера до слуги; В1 - задержка от мастера до источника EG; В2 - задержка EG от источника до слуги; LС - время работы логики и формирователя, необходимое слуге для присоединения; Ld - время отсоединения слуги; LЕ - время работы логики в источнике EG; LM - время работы логики и формирователя в мастере; LS - время работы логики в слуге; TAmjn - минимальный промежуток времени между импульсами (см. табл. А.II); TS - время разброса фронтов, учитываемое мастером. Рис. 13. Цикл географической адресации, EG выставлен вспомогательной логикой Таблица V Спецификация типов адресации
Логически адресуемый слуга должен, кроме того, иметь CSR-0 <01> = 1 (разрешено распознавание адреса) и не должен использовать поле внутренних адресов IA для того, чтобы определить, должен ли он стать присоединенным (см. п. 4.1). Когда WT = 0, присоединенный слуга должен в ответ на AS (u) и MS1 = 0 сформировать сигнал АК (u). Если WT = 0, то в ответ на AS (d) он должен сформировать сигнал АК (d). Оба ответных действия должны происходить в пределах лимита на время ответных действий слуги в адресном цикле (см. приложение А). В течение первичного адресного цикла слуга не должен подавать коды SS = 1, 2 или 3 (см. п. 10.7.4) и должен подавать код SS = 6 только в случае, если обнаружен внутренний адрес, попадающий в недопустимую область адресов данных. Если в течение первичного адресного цикла имеет место MS1 = 1, присоединенный слуга не должен генерировать сигнал АК = 1. (Это широкая операция, см. пп. 4.3.2 и 7.3). Слуга в крейт-сегменте, который обнаруживает сигналы EG = 1 и AS = 1, когда АК = 0, должен сравнивать код AD <04:00> с кодом на штырьках географического адреса GA <04:00>. Слуга в кабель-сегменте, обнаруживший EG = 1 и AS = 1, когда АК = 0, должен сравнить AD <04:00> со своим географическим адресом, установленным переключателем. Если найдено соответствие в любом из указанных случаев, а также имеет место AD <07:05> = 0, тогда слуга должен стать присоединенным слугой и сформировать сигнал АК (u), когда WT = 0, а затем поддерживать АК = 1 до тех пор, пока AS = 1. Если в течение первичного адресного цикла, сопровождаемого сигналом РЕ = 1, слуга обнаружит ошибку четности, он не должен генерировать АК (u) и становиться присоединенным слугой. Эти правила не требуют, чтобы слуга отвечал на все режимы адресации. Обязательной является только географическая адресация (см. п. 4.2). Участие слуги в логических адресных циклах может быть разрешено и запрещено специальными битами в регистре CSR-0. Такое свойство не специфицируется для широких адресных циклов. Если первичный адресный цикл определяет логический адрес (в область адресов данных), часть IА адресного поля загружается в низшие разряды регистра NTA, а высшие разряды NTA устанавливаются на нуль (см. п. 4.4). Во время фазы декодирования в первичном адресном цикле требование АК = 0 удерживает очень медленного удаленного слугу от неправильного декодирования, когда быстрый близкий слуга выдал сигнал АК (u) и мастер продолжает изменять состояние данных и управляющих линий для последующего цикла данных (см. рис. 8). 5.2.3. Ответные действия мастера на сигнал АК(u)Спустя время разброса задержек после получения сигнала АК (u), мастер должен интерпретировать ответ на линиях SS, получаемых в течение первичного адресного цикла, так, как показано в табл. VI. Ответы SS = 1, 2 или 3 должны служить для мастера признаком того, что указанная связь не была установлена и что соединитель сегментов является присоединенным к мастеру. Все другие ответы по линиям SS свидетельствуют о том, что слуга присоединен к данному мастеру. Если сигнал АК (u) не будет получен прежде, чем истечет лимит на время ответов мастеру в адресном цикле, мастер должен выставить AS = 0. Мастер, выставляющий сигнал EG, должен генерировать EG (d) при получении сигнала АК (u). Отметим, что в течение первичных адресных циклов слуга выставляет ненулевые ответы это линиям SS, если это оправдано, только на логические адреса в пределах области адресов данных. Мастер должен интерпретировать ответные коды SS = 4, 5 или 6 как ошибку. Таблица VI Ответ по линиям SS в адресном цикле, поступающий с. сигналом АК (u)
Мастер может изменять состояние сигналов на линиях AD, RD, РА, РЕ и MS по получении сигнала АК (u). 5.3. ОперацииПрисоединенные слуги отвечают на циклы данных, которые должны инициироваться действующими мастерами. Взаимные подтверждения мастер-слуга используются для всех циклов данных, за исключением принудительных передач. Эти подтверждения формируются мастером, генерирующим сигнал «строб данных» (DS), и слугой или вспомогательной логикой, отвечающими сигналом «подтверждение приема данных» (DK). Ниже приводится терминология, используемая для определения различных возможных операций. НУЛЕВАЯ. Адресация выполняется, но передача данных не происходит. Этот тип операции может быть полезным для тестирования присутствия устройства или для настройки системных связей с целью гарантировать их наличие перед началом фактических передач. ОДНОКРАТНАЯ. Этот тип операции представляет собой обычную в режиме произвольного доступа передачу данных в количестве одного слова. Такая передача данных, запись или чтение, происходит, соответственно, по сигналу DS (u) или DK (u). БЛОЧНАЯ. В нескольких циклах передачи данных пересылается некоторое количество (возможно, нулевое) слов данных без повторения какой-либо адресной информации. Передачи данных происходят по сигналу DS (t) или DK (t). Прежде чем инициировать каждую новую передачу данных, мастер ожидает ответа на предыдущую. ПРИНУДИТЕЛЬНАЯ. Аналогична блочной передаче, за тем исключением, что мастер инициирует каждую новую передачу данных, не ожидая ответа на предыдущую. ЗАЩИТНЫЙ БУФЕР. Передает данные только в защитный буфер или из него. Не оказывает никакого другого влияния на слугу. Цикл считывания с защитного буфера может быть использован для восстановления информации в случае ошибок по четности при считывании. Запись в защитный буфер с последующим считыванием из него может быть использована для проверки канала передачи данных между мастером и слугой. Передачи данных происходят на DS (t) или DK (t). Перед началом каждой передачи данных мастер ожидает реакцию на предыдущую передачу. ОЧИСТКА. Операция данных с подтверждением от DS (t) к DK. (t) при RD = 0 с целью предотвращения ошибок при передаче данных из-за логических схем типа монтажного ИЛИ. Во время этой операции никакие данные не передаются. Для магистралей, управляемых напряжением, операции по очистке применяются при изменении направления передачи магистрали чтения к записи. Эта операция препятствует одновременному выставлению AD, РА и РЕ обоими устройствами - мастером и слугой. В конце цикла чтения слуга выставляет сигналы на линии. Если после этого мастер хочет выполнять цикл записи, необходимо выполнить операцию очистки для снятия сигналов слуги, прежде чем мастер выставит на эти линии свои сигналы. Подтверждение цикла очистки обеспечивает время, необходимое для того, чтобы отмена сигналов слуги прошла к мастеру с освобождением магистрали для использования ее мастером. Если мастер должен задействовать эти линии до их очистки, то его формирователи напряжения не смогут подавать полный ток возбуждения. Надежный сигнал мастера не будет выставлен на магистрали, пока не исчезнет ток из других драйверов. Поскольку мастер не может опознать это состояние, гарантия надежной работы должна зависеть от дополнительного подтверждения, обеспечиваемого циклом очистки. БЛОКИРОВАННЫЙ АДРЕС. Первичный адресный цикл сопровождается последовательностью отдельных передач и/или блочных или принудительных передач, считываний или записей в перемешанном виде. Примером является операция считывание - модификация - запись, показанная на рис. 14. Вторичные адресные циклы - специальный тип цикла данных - могут быть использованы для доступа к различным внутренним регистрам в пределах адресного пространств, выбираемого в первичном адресном цикле в ходе операции с блокировочным адресом. Помимо этого, последовательности с блокировкой арбитража при операциях ФАСТБАС могут выполняться отдельным мастером, который не теряет руководства магистралью. Таким образом, набор передач отдельных, блочных, принудительных или, при блокированном адресе, во множество различных слуг может происходить без прерывания со стороны других возможных действующих мастеров. Это достигается путем поддержания GK = 1 в мастере и логикой соединителей сегментов (СС), которая заставляет их сохранять установленное соединение в системе до удаления GK. Для установления соединений в системе для последовательностей с блокированным арбитражем могут быть использованы нулевые операции. При последовательности с блокированным арбитражем может быть доступ только к адресам в первоначально соединенной системе. Синхронизация трех различных типов циклов данных с точки зрения мастера и слуги показана на рис. 14 - 16. Таблица VII Интерпретация кодов MS в цикле данных
* Добавление в NTA при потребности (см. пп. 5.3.2 и 11.2). ** В очистном цикле данных не происходит передачи данных. *** Предполагаемое использование кода MS = 4 состоит в том, чтобы показать при DS = (u), что запрашиваются ограниченные действия слуги, прежде чем будут переданы дальнейшие данные. Точные действия могут зависеть от применения, при этом код MS = 4 не сопровождается действительными данными. 5.3.1. Последовательность действий мастера для формирования сигнала DSВо время цикла данных мастер, в соответствии с предписаниями по таймированию в п. 5.1.1, должен: установить сигнал RD = 0 для циклов записи и RD = 1 для циклов чтения; выставить данные на линиях AD, когда RD = 0. Если мастер, при желании, генерирует четность, он должен установить сигнал РЕ = 1 и выставить РА так, чтобы на линиях AD и РА в сумме в состояние логической единицы было установлено нечетное число битов; установить на линиях MS код в соответствии с табл. VII для того, чтобы указать тип цикла данных. Сформировать сигнал DS (t) в соответствии с предписаниями по таймированию в п. 5.1.1. Данные должны передаваться в соответствии с табл. VII. Дли завершения блочной или принудительной передачи с нечетным счетом слов мастер должен установить MS = 0, чтобы MS-линии достигли устойчивого состояния перед DS (d) с учетом разброса фронтов. Однако, если счет слов четный и блочная или принудительная передача является частью последовательности с блокированным арбитражем, то следует выполнить специальные действия, указанные в п. 11.1. Для цикла очистки данных мастер должен выставить RD = 0. Рис. 14. Цикл чтение-модификация-запись Сигналы на линиях MS, выставленные мастером, неизменны с момента начала разброса фронтов до DS (t) и остаются такими до получения DK (t). Хотя линии MS и могут быть установлены в упомянутое состояние при нескольких переходах DS (t), на этих линиях могут случаться выбросы после DK (t), длящиеся до времени разброса перед DS (t). Принудительная передача чтения выполняется мастером, формирующим DS (t). Он использует DK (t), получаемые от слуги, для стробирования данных, но мастер не ожидает прихода сигнала DK (t) прежде, чем формировать следующий сигнал DS (t). 5.3.2. Ответные действия слуги на сигнал DS (t).Слуги, которые стали присоединенными в течение широкого адресного цикла, не должны генерировать сигнал DK = 1. Слуга, который стал присоединенным к определенному устройству во время первичного адресного цикла, должен отвечать на сигнал DS (t) в пределах лимита времени ответных действий слуги в цикле данных (см. приложение А) или должен выставить WT = 1 до тех пор, пока он не сформирует сигнал DK (t). В момент времени, не позже чем DK (t), присоединенный слуга должен выставить код на линиях SS, а также должен быть готов к приему последующего сигнала DS (t) или AS (d). Также тогда и только тогда, когда RD = 1, слуга должен выставить сигналы на линии AD и, возможно, на линиях РА и РЕ. Во время цикла записи вторичного адреса присоединенный слуга должен выставить на линии SS ответные коды 0, 1 или 7, как это предписано в табл. VIIIb и п. 5.3.3. Устройства, которые не имеют регистра NTA (см. п. 4.4) в случае циклов чтения или записей вторичного адреса должны возвращать код SS = 0. Информация, выставляемая присоединенным слугой, и предпринятые внутренние действия должны быть такими, как установлено в табл. VIIIa, VIIIb и п. 5.3.3. Таблица VIIIa Ответы слуги на линиях SS во время цикла данных, поступающие сигналом DK (t)
В течение циклов данных разряды данных, не реализованные в слуге, должны возвращаться в виде логических нулей при операции чтения и должны быть игнорированы при операции записи. 5.3.3. Обсуждение ответов по линиям «статус слуги»В этом разделе дается интерпретация записей в табл. VIIIa и VIIIb. Вообще автоматическое изменение содержимого регистра NTA допускается только в том случае, если данные были приняты или выданы слугой.
Рис. 15. Чтение данных при произвольном доступе Таблица VIIIb Ответы слуги по линиям SS и действия при DK (t)
* Отклонение производится только, когда регистр NTA не реализован, при этом возвращается SS = 0. Рис. 16. Блочная передача с подтверждениями, запись SS = 0 Нормальное действие. Никакие трудности не были отмечены слугой. Однако все же существует возможность того, что мастер, затребовавший чтение данных, может обнаружить ошибку четности, вызванную трудностями при передаче. SS = 1 Занято. Слуга занят и не может ни выдать, ни принять данные. Мастеру следует вскоре выполнить повторную попытку с неопределенной вероятностью успеха. SS = 2 Конец блока. Во время блочной или принудительной передачи был упущен конец блока. Данные не могут быть ни выданы, ни приняты. Если цикл данных, явившийся источником этого ответа, сопровождается дальнейшими циклами данных, код SS = 2 повторяется, а состояние слуги не изменяется. Для того, чтобы продолжить передачи данных слуге, который достиг конца блока, мастер должен сначала заново адресовать слугу либо при помощи вторичного адресного цикла, либо путем разрыва связки AS/AK с последующим проведением первичного адресного цикла. SS = 3 Определяется пользователем. Этот ответ разработчик системы может использовать для специальных целей. Его смысл должен быть известен действующему мастеру и может быть различным при разных типах слуг. SS = 4 Зарезервирован. SS = 5 Зарезервирован. SS = 6 Ошибка данных (отклонены). Этот ответ указывает, что слуга не способен или не желает принимать или выдавать данные вследствие ошибки, связанной сданными или с текущим значением внутреннего адреса, либо в связи с тем, что на линиях 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 во время передач больших массивов данных и только сигнализировать об ошибке, если будет превышено пороговое значение счета. 5.3.4. Реакция мастера на 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> и информационные линии в соответствии с табл. VIIIa, VIIIb и п. 5.3.3. 5.4. Использование линии «сброс магистрали» (RB)Этот асинхронный сигнал используется для принудительного приведения сегмента в спокойное состояние для инициализации, повторной инициализации или диагностических целей. Для того, чтобы сохранить максимум диагностической информации, регистры и устройства памяти в модуле не должны очищаться по сигналу RB. Сигнал ВН «магистраль остановлена», который выставляется только схемой управления таймированием арбитража (см. п. 7.4) запрещает следствия сигнала RB. Это обстоятельство позволяет осуществлять вставление модулей при включенном питании при помощи запрещения ответов модулей на ложные сигналы по линии RB. 5.4.1. Формирование сигнала RB мастеромИмпульс на линию RB может быть подан любым мастером, не обязательно действующим мастером, в любой момент времени. Если ВН = 0, мастер, выставляющий сигнал RB, должен подать сигнал GK (u) одновременно с сигналом RB (u), если он уже не подаст сигнал GK = 1. Импульс на линии RB должен иметь длительность, соответствующую характеристикам данной магистрали (см. приложение А). Мастер, выставляющий сигнал RB, должен поддерживать GK = 1 в момент RB (d), и должен присвоить себе право владения магистралью. Мастер, который выставляет в сегменте сигнал RB и в момент RB (d) принимает право владения магистралью, должен продолжать делать это до проведения диагностики в сегменте и/или инициализации или повторной инициализации сегмента. 5.4.2. Ответныe действия слуги на сигнал RBУстройства должны интегрировать сигнал RB=1 в течение времени интегрирования для сигнала RB, соответствующего типу данной магистрали и все действия на магистрали, вызванные сигналом RB, должны быть завершены в пределах минимальной длительности сигнала RB = 1 (см. приложение А). Когда проинтегрированные сигналы RB = 1 и ВН = 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>. См. последний абзац п. 5.5. Отметим, что когда сигнал ВН = 1, устройства игнорируют состояние сигнала RB. 5.5. Ответные действия устройства на включение питанияПри включении питания устройства должны запретить выдачу в сегментах всех сигналов ФАСТБАС, за исключением сигналов на линиях AL и SR. От устройств, реагирующих на POWER ON (включение питания) или RB, требуется только запрещать выставление сигналов ФАСТБАС, которые не установлены на нуль при нулевом состоянии других сигналов ФАСТБАС. Например, не требуется, чтобы слуга блокировал выставление АК, если АК. сведено к нулю путем приема AS = 0. ГЛАВА 6. АРБИТРАЖ В МАГИСТРАЛИВ общем виде система ФАСТБАС состоит из одного или более сегментов, каждый из которых может содержать несколько мастеров. Прежде чем мастер сможет начать операцию, ему должны быть обеспечены гарантии, что магистраль, к которой он подключен, свободна и остается свободной от вмешательства со стороны других мастеров в течение всего периода передачи. Методика, используемая для обеспечения этого условия, требует наличия в каждом устройстве схемы, способной завоевывать право на владение магистралью, а также наличия некоей активной схемы, называемой схемой управления таймированием арбитража (УТА), которая подключается к каждому сегменту и не является частью какого-либо отдельного устройства. УТА обеспечивает выработку таймирующих и управляющих сигналов для процесса арбитража, а также информирует выигравшего мастера о том, когда он сможет принять на себя использование магистрали. Если действие влечет за собой прохождение через соединители сегментов, тогда такая гарантия доступности магистрали должна быть распространена сегмент за сегментом на все затрагиваемые сегменты. Каждому мастеру присваивается уровень приоритета для использования во время цикла арбитража, и в соответствующий момент подготовленный мастер, с самым высоким приоритетом среди принимавших участие в арбитраже получает право на владение магистралью. Как только мастеру было дано и он принял право владения магистралью, мастер оставляет за собой управление магистралью до тех пор, пока не решит отказаться от этого. В результате операция с низким приоритетом может запретить исполнение операции с высоким приоритетом. Соблюдение приоритетов обеспечивается только во время арбитража. При получении запроса на арбитраж УТА инициирует цикл арбитража, если магистраль в данный момент не занята. Если магистраль занята, то именно действующий мастер решает, когда сможет состояться цикл арбитража. Выбор критерия, используемого мастером для определения этого момента времени, предоставляется разработчику устройства. Одна из альтернатив заключается и том, чтобы разрешить проведение цикла арбитража непосредственно сразу за последним первичным адресным циклом текущей операции. В результате следующий мастер обычно может быть выбран прежде, чем действующий мастер закончит свой последний цикл данных. Такое перекрытие арбитража с действиями на магистрали означает, что, когда магистраль занята, теряется минимальное или вообще никакое время не теряется при переключении от одного мастера к другому. Если последняя или единственная часть текущего взаимодействия является блочной или принудительной передачей, промежуток времени между последним адресным циклом и последним циклом данных может оказаться довольно длительным. Если используется предложенный выше алгоритм, следующий мастер может быть выбран задолго до того, как он получит право на владение магистралью. Другие мастера, имеющие более высокий уровень арбитража, чем подготовленный мастер, могут выставить запросы на использование магистрали в течение того промежутка времени, которое требуется действующему мастеру для завершения его последних циклов данных. Этим мастерам, однако, не будет разрешено участвовать в соревновании за право владения магистралью до тех пор, пока подготовленный мастер не получит управление магистралью и, в свою очередь, не разрешит проведение очередного цикла арбитража. Если действующий мастер задерживает инициирование цикла арбитража до своего последнего или предпоследнего цикла данных, результаты арбитража с большей точностью отображают состояние запросов на момент освобождения магистрали. 6.1. Использование линий магистрали в процессе арбитражаВ табл. IX представлено краткое описание десяти линий магистрали, используемых в процессе арбитража. Таблица IX Линии для арбитража в системе ФАСТБАС
Каждому мастеру в сегменте должен быть присвоен единственный в пределах его сегмента уровень арбитража. Уровень арбитража должен быть указан при помощи двоичного шестиразрядного числа, содержащегося в регистре CSR = 8 (см. п. 8.11). Допустимые уровни арбитража должны находиться в диапазоне от 1 до 63. Уровень арбитража 0 не должен быть разрешен. Уровень арбитража должен быть разделен на два класса, которые определяются значениями старшего разряда. Локальный уровень должен иметь старший разряд в нулевом состоянии. Для локальных уровней единственность требуется только в пределах данного сегмента. Для системных уровней их старший разряд должен быть установлен в единицу, и они должны быть присвоены ведущим устройствам в сегментах с выполнением требования единственности по всему маршруту. Когда уровень арбитража пропускается на линии AL, старший разряд должен появиться на линии AL <05>, а младший - на линии AL <00>. Рекомендуется, чтобы локальный уровень арбитража 31 был зарезервирован для использования диагностическими модулями. Мастер должен выставить AR как первый этап в получении владения магистралью. Перед этим мастер должен проверить состояние других линий магистрали. Для выполнения протокола гарантированного доступа мастер выставляет AR, только если не выставлен AI. Это ведет к круговому, с учетом приоритетов, разрешению владения магистралью. Для выполнения протокола приоритетного доступа мастер выдает AR только в случае, когда его уровень арбитража выше, чем уровень действующего мастера. Это позволяет мастеру, который проверяет состояние AR, выполнять длинную передачу, прерываемую только передачами с более высоким приоритетом. Если не работает ни один из этих протоколов, мастер выдает AR, если ему требуется использовать магистраль. Цикл арбитража инициируется, если линия AR находится в состоянии «истинно», а линии AG, GK, WT находятся в состоянии «ложь». Так как состоянием линии GK управляет действующий мастер, он может управлять инициированием циклов арбитража. Схема УТА запускает такой цикл, формируя сигнал AG (u), который используется мастерами, выставляющими запросы, для пропускания своих уровней арбитража на линии AL, а всеми другими мастерами - чтобы убрать свои уровни арбитража с линий AL. Определение выигравшего мастера производится самими мастерами - схема УТА просто обеспечивает таймирующие сигналы для этого процесса. После выдачи сигнала AG (u) схема УТА ожидает в течение фиксированного промежутка времени завершение процесса арбитража. Этот промежуток определяется задержками на магистрали и во внутренней логике. В конце указанного периода ожидания код на линиях AL представляет собой уровень арбитража выигравшего мастера. Если в это время схема УТА обнаруживает недопустимый нулевой уровень на линиях AL, она не ожидает прихода сигнала GK (u) и считает данный цикл арбитража завершенным. Если код на линиях AL отличается от нуля, тогда схема УТА проверяет магистраль на предмет активности. Когда связка AS/AK текущей операции прекращается на время, достаточное для очистки магистрали, и WT = 0, тогда схема УТА формирует сигнал AG (d). Выигравший мастер, о котором теперь говорят как о подготовленном мастере до тех пор, пока он не возьмет на себя владение магистралью, осознает, что он выиграл, а всем остальным участкам процесса арбитража становится известно, что они проиграли. Получение подготовленным мастером сигнала AG (d) побуждает его возвратить схеме УТА сигнал «подтверждение разрешения» (GK) и приступить к использованию магистрали. Если схема УТА не получает сигнал GK в течение времени, определяемого задержками на магистрали и в логике, она предполагает, что выигравший мастер не хочет или не может присвоить право на владение магистралью, и, если сигнал «запрос на арбитраж» находится в состоянии АR = 1, инициирует новый цикл арбитража Если мастерам разрешено выставлять сигнал AR в любой момент времени, мастера с высоким приоритетом могут неопределенно долго не давать право на владение магистралью мастерам с низким приоритетом. Этой проблемы можно избежать, если мастера руководствуются рекомендованным протоколом гарантированного доступа, который использует формируемой схемой УТА управляющий сигнал «запрет запроса на арбитраж» (AI). Мастера инициируют запросы на арбитраж тогда, когда сигнал АI = 0. Все запросы на владение магистралью, которые присутствуют в момент выдачи сигнала AI (u), обслуживаются в порядке приоритетов, прежде чем любым запросам, возникающим после сигнала AI (u), будет разрешено пройти на линию AR. Результатом является форма циклического упорядочения приоритетов. Мастера, которые не руководствуются этим протоколом, могут сочетаться с такими мастерами, которые его используют, допуская возможность для мастеров получать владение магистралью, не принимая во внимание запросы от мастеров с более низкими приоритетами. Две особенности протокола арбитража должны быть подчеркнуты. Первая заключается в том, что именно мастера решают, кто будет следующим использовать магистраль. Вторая состоит в том, что именно схема управления таймированием арбитража определяет момент времени, в который подготовленный мастер может взять на себя владение магистралью. На рис. 17 показана логика управления арбитража в мастере. Для работы этой схемы требуются дополнительные ключи (см. п. 6.3.1). Для обеспечения правильности векторов арбитража нужны дальнейшая аппаратная или программная проверки. 6.2. Процесс арбитражаВ предыдущем разделе были кратко описаны таймирование и управление циклом арбитража. Подробные спецификации, касающиеся этих вопросов, помещены в дальнейших разделах. В данном разделе детально описывается процесс, при помощи которого определяется выигравший уровень арбитража. Реализация соответствующей схемы в ведущем устройстве показана на рис. 18. Отметим, что логические правила в данном случае таковы, что если логический нуль и логическая единица одновременно подаются на одну и ту же линию от двух различных источников, эта линия будет находиться в состоянии логической единицы. Рис. 17. Логика управления арбитражем в мастере Рис. 18. Логика арбитража в мастере При получении сигнала AG (u) те мастера, которые желают соревноваться за право владения магистралью (т.е. выставляющие AR), используют внутренний флаг «пропустить сигналы на линии AL» для того, чтобы выставить свой внутренний уровень арбитража (IAL) на линии AL <05:00>. Затем каждый мастер непрерывно сравнивает присвоенный ему уровень арбитража с кодом на линиях AL. Если мастер обнаруживает, что внутреннее значение любого из разрядов AL отличается от логического уровня соответствующей линии AL, то он запрещает выставление своих данных на все линии AL, имеющие меньший вес. Как следствие логического правила, упомянутого выше, единственно устойчивое различие, которое может возникнуть, относится к случаю, когда внутреннее значение равняется 0, в то время как на соответствующей линии AL имеется логический уровень 1. Условие, накладываемое при пропускании информации на линии AL; может вызвать неоднократное изменение их содержимого, прежде чем стабилизируется конечное значение. По ходу этих изменений один или несколько мастеров могут на короткое время устанавливать свой внутренний флаг «арбитраж выигран» («это мой»), указывающий, что они будут выбраны владеющими магистралью в следующий раз, как только она станет доступной. Однако схема УТА ожидает в течение времени, равного четырем задержкам магистрали плюс шесть задержек в логике арбитража, чтобы определить окончательно выигравшего мастера прежде, чем перейти к следующей части процесса арбитража. Задержка в логике арбитража равняется времени, требуемому мастеру для того, чтобы отметить различие в значениях одного из старших разрядов кода AL и прекратить пропускание всех разрядов кода AL с меньшим весом. Кроме зависимости от используемой технологии, на эти задержки влияет также способ реализации функции арбитража. Рис. 19 иллюстрирует таймирование процесса выбора мастера с самым высоким приоритетом. Изображенная ситуация заключается в следующем: мастер А (уровень арбитража 010101b) и схема УТА находятся на одном конце магистрали. Мастера В (уровень арбитража 001111b) и X (уровень арбитража 100000b) находятся на противоположном конце магистрали. Действующим мастером является X, а мастера А и В выставляют сигналы на линию AR. Мастер X формирует сигнал GK (d), чтобы показать, что может состояться цикл арбитража. Схема УТА отвечает сигналом AG (u), и именно момент выдачи этого сигнала служит точкой отсчета шкалы времени на рис. 19. Мастер А, обнаружив сигнал AG (u), пытается пропустить свой уровень арбитража на линии AL. Мастер X еще не получил сигнал AG (u), следовательно линия AL <05>- все еще находится в состоянии логической 1, и приоритетная схема не разрешает мастеру А, вследствие его уровня арбитража, выставить сигналы на какие-либо из линий AL. Спустя время задержки в магистрали мастер X обнаруживает сигнал AG (u) и, так как он сам не выставляет запрос, убирает свой уровень арбитража с магистрали. В это время мастер В получает сигнал AG (u) и пытается выставить свой уровень арбитража на магистраль. Поскольку в настоящий момент ни мастер А, ни мастер X не выставляют сигналы на какие-либо линии AL, на последних теперь содержится код уровня арбитража мастера В и он считает себя в данный момент выигравшим. * Мастер А устанавливает внутренне «это мой». ** Мастер В устанавливает внутренне «это мой». Рис. 19. Арбитраж для двух мастеров при наихудших задержках Спустя время, равное задержке в магистрали, код уровня арбитража мастера В достигает конца магистрали, на котором расположен мастер А и где приоритетная логика разрешает установку мастером А линии AL <04> в состояние логической 1. Мастер А в это время не может оказать влияние на любые другие линии AL, поэтому код 011111b распространяется обратно к противоположному концу магистрали. Здесь мастер В обнаруживает, что его собственное значение и состояние на магистрали для линии AL <04> различаются, следовательно оно прекращает выставлять сигналы на линии от AL <03> до AL <00> включ. и более не рассматривает себя и качестве выбранного мастера. Код 010000b затем распространяется обратно к концу магистрали, на котором расположен мастер А и где приоритетная логика теперь разрешает ему выставить все разряды своего уровня арбитража на линии AL, а также, обнаружив соответствие между внутренним и внешним значениями уровня арбитража, начинает рассматривать себя в качестве выигравшего мастера. Уровень арбитража мастера А распространяется в сторону того конца магистрали, на котором расположен мастер В, не оказывая дополнительного влияния на что-либо. Итак, если не учитывать задержки в логике арбитража, спустя четыре задержки в магистрали после выдачи сигнала AG (u) был определен истинный выигравший мастер. Надписи аналогичны рис. 19. * Соответствующий мастер устанавливает внутренне «это мой». □ В этом месте и в этот момент в состоянии магистрали нет изменений Рис. 20. Арбитраж для трех мастеров при наихудших задержках На рис. 20 рассмотрена более сложная ситуация, которая приводит к такому же самому худшему случаю задержек. Усложнение в данном случае заключается в добавлении в промежуточной точке магистрали еще одного мастера чей уровень арбитража также является промежуточным между уровнями мастеров А и В. Небольшие квадратики на диаграмме показывают, что в данном месте и в данное время в состоянии магистрали не происходит никаких изменений. 6.3. Правила арбитража6.3.1. Формирование мастером сигнала AR и пропускание соединителем сегментов сигнала АRСигнал «запрос на арбитраж» (AR) используется мастером для выставления требования на владение магистралью своего сегмента или, через соединитель сегментов, другого сегмента. Второе применение этой линии позволяет действующему мастеру обнаружить присутствие других мастеров, которые в настоящий момент заблокированы текущей операцией. Мастер должен генерировать управляющий сигнал AR только при условии, что установлены в «1» как бит СSR# 0 <01> (разрешение), так и бит CSR = 0 <02> (работа) (см. табл. ХIIb). Правила, регулирующие процесс формирования сигнала AR, следующие. 1. Мастер должен поддерживать сигнал AR = 0, пока он не пожелает получить владение магистралью своего сегмента. 2. Мастер, который не подчиняется протоколу гарантированного доступа, должен быть в состоянии выставить сигнал AR в любое время. 3. Мастер, который подчиняется протоколу гарантированного доступа, должен быть способен выставлять сигнал AR (u), только когда сигнал А1 = 0. 4. Мастер, который подчиняется протоколу приоритетного доступа, должен быть способен выставлять сигнал AR (u), только если его уровень арбитража выше, чем уровень мастера, действующего на магистрали. 5. Если мастер, который выставил сигнал AR (u), более не желает запрашивать циклы арбитража, он должен выдать сигнал AR (d). 6. Активный или зарезервированный соединитель сегментов должен пропускать сигнал AR от дальней к ближней стороне, чтобы дать возможность действующему мастеру обнаруживать запросы других мастеров на использование сегментов, занятых текущей операцией (см. п. 10.7.6). Подготовленному мастеру следует прекратить сигнал AR = 1 при получении сигнала AG (d), если он не должен принимать участие в очередном цикле арбитража. 6.3.2. Установка и снятие сигнала AI схемой УТАУправляющий сигнал «запрет запроса на арбитраж» (AI) генерируется схемой управления таймированием арбитража для того, чтобы дать возможность мастерам участвовать в соревновании за владение магистралью, что позволяет мастерам с низким приоритетом получать владение магистралью независимо от потока запросов, выставляемых мастерами с более высокими приоритетами. Сигнал AI генерируется всеми схемами УТА, но не все мастера должны принимать во внимание сигнал AI, когда они выставляют AR. Мастерам следует иметь возможность работы в (режиме гарантированного доступа (см. п. 8.11). Спецификации, касающиеся установки и снятия сигнала AI схемой УТА, содержатся в п. 7.1. 6.3.3. Установка и снятие сигнала AG схемой УТАПередний фронт таймирующего сигнала «разрешение на арбитраж» - (AG) формируется схемой УТА для того, чтобы инициировать цикл арбитража, во время которого соревнующиеся мастера определяют, кто из них станет подготовленным мастером. Задний фронт сигнал AG используется для того, чтобы передать управление подготовленному мастеру. Устройства, требующие знания уровня арбитража действующего мастера, должны при AG (d) хранить значение AL <05:00> во внутреннем регистре. Спецификации, касающиеся установки и снятия сигнала AG схемой УТА, содержатся в п. 7.1. 6.3.4. Установка и снятие сигнала AL мастеромКаждому мастеру присваивается внутренний уровень арбитража, который он, если желает получить владение магистралью, через логическое «ИЛИ» подает на линии «уровень арбитража», AL <05:00> во время цикла арбитража. Затем соревнующиеся мастера непрерывно проверяют и модифицируют состояние линий AL в соответствии с установленным протоколом арбитража. После соответствующей задержки состояние линий AL представляет собой самый высокий уровень арбитража, поданный на них в течение данного цикла. Мастер должен принимать участие в цикле арбитража в случае, если он выставляет сигнал AR = 1, когда получен сигнал AG (u). Информационные сигналы AL 05:00> должны генерироваться мастером следующим образом. 1. Мастер, участвующий в цикле арбитража, должен выставить свой уровень арбитража на линии AL в пределах промежутка времени, равного задержке в логике арбитража (см. приложение А), после как обнаружения сигнала AG (u). 2. Мастер не должен изменять содержимое своего регистра, уровня арбитража (см. п. 8.11) во время цикла арбитража, в котором он принимает участие, пока не будет завершен данный цикл и получен сигнал GK (u). 3. Мастер, не принимающий участие в цикле арбитража, должен убрать любые сигналы, которые он выставляет на линии AL, в пределах промежутка времени, равного задержке в логике арбитража, после обнаружения сигнала AG (u). 4. Каждый мастер, участвующий в цикле арбитража, должен непрерывно сравнивать сигнал, получаемый мм по каждой из линий AL, с соответствующим значением, которое он генерирует для данной линии. Если для какой-то отдельной линии получаемый сигнал AL <i> (находится в состоянии логической 1, а сигнал, генерируемой для этой линии, в состоянии логического 0, тогда мастер должен выставить сигналы AL <i - l> = AL <i - 2> = - - = AL <0> = 0 в пределах промежутка времени, равного задержке в логике арбитража. 5. После того, как управляющий сигнал AG = 1 поддерживался в течение времени, большего минимального времени арбитража (см. приложение А) для данного сегмента, мастер, чей уровень арбитража совпадает с уровнем арбитража, установившимся на линиях AL, должен стать следующим мастером, которому будет предоставлено владение магистралью (подготовленным мастером). Мастер может изменять состояние сигналов, которые он выставляет на линии AL, при включении питания, а также в течение времени от сигнала GK (u) до сигнала AG (u). Для того, чтобы удовлетворить требования к таймированию для мастера, принимающего участие в цикле арбитража, рекомендуется схема, аналогичная той, что приведена в разд. D.1 приложения D. 6.3.5. Установка и снятие сигнала GK мастеромЦикл арбитража позволяет соревнующимся мастерам самим принять решение, кто из них станет следующим, которому будет предоставлено владение магистралью. Тот факт, что мастер является подготовленным мастером, известно ему самому; любой другой мастер просто знает, что он не подготовленный мастер. Когда подготовленный мастер получает сигнал AG (d), прежде чем использовать магистраль, он подтверждает, что возьмет на себя владение магистралью, выдачей сигнала «подтверждение разрешения», GK (u). Если этот ответ не будет получен в пределах интервала времени, установленного схемой УТА (см. п. 7.1.2), будет инициирован новый цикл арбитража, если еще остались какие-либо активные запросы. Циклы арбитража запрещены до тех пор, пока действующий мастер не сформирует сигнал GK (d). Управляющий сигнал GK должен генерироваться мастером, как указано ниже: 1. Подготовленный мастер, которому предстоит принять владение магистралью, в ответ на сигнал AG (d) должен выдать сигнал GK (u) в пределах времени ответных действий слуги при адресации (см. приложение А) до генерации любых других сигналов в сегменте. 2. После подачи сигнала GK (u) подготовленный мастер должен стать действующим мастером. 3. Действующий мастер должен формировать сигнал GK (d) прежде, чем освобождать магистраль, или по получении интегрированного сигнала RB = 1 сигнала ВН = 0. Для действующего мастера допускается вслед за сигналом GK (d) вновь выдавать сигнал GK (u) при условии, что в течение того периода, когда им шал GK = 0, мастер продолжал поддерживать сигнал AS = 1. Если мастер формирует сигнал AS (d), когда GK-0, он должен принять участие в цикле арбитража и выиграть его прежде, чем будет вновь использовать магистраль. 6.4. Арбитраж системного уровняПроцедура арбитража и локальном сегменте проста. Каждому мастеру в сегменте присваивается отличный от других, обычно на локальном уровне, уровень арбитража, и арбитраж происходит так, как описано выше. Связь через границы сегментов выполняется соединителями сегментов. Для того, чтобы операция прошла через соединитель сегментов, он должен получить владение магистралью сегмента своей дальней стороны. Для этого требуется, чтобы соединитель сегментов содержал схему арбитража мастера, описанную выше. Основная проблема, которую необходимо решить, заключается в том, как уровни арбитража передаются через соединители сегментов СС. Поскольку СС должен обладать способностью запрашивать и получать владение магистралью сегмента своей дальней стороны, он должен принимать участие в циклах арбитража и ему должен быть присвоен уровень арбитража. Если бы этот уровень арбитража пересекал каждый сегмент, оставаясь в том виде, каким он был у мастера, инициировавшего взаимодействие, проблема гарантии единственности уровней арбитража оказалась бы трудной, если не невозможной, для решения. Однако, если соединителю сегментов присваивается локальный, с точки зрения сегментов его дальней стороны, уровень арбитража, проблема значительно облегчается, причем за это платится приемлемая цена, заключающаяся в том, что, возможно, уровень арбитража будет изменяться по мере того, как взаимодействие будет пересекать границы сегментов. Если мастеру необходимо иметь высокий приоритет, который остается одним и тем же во всей соединенной системе, ему присваивается системный уровень арбитража. СС, обнаруживающий системный уровень арбитража в сегменте своей ближней стороны, будет использовать тот же самый системный уровень арбитража, когда будет соревноваться за использование сегмента своей дальней стороны. Следовательно, один тот же уровень арбитража, который выше, чем любой локальный уровень, используется во время проведения арбитража за владение каждым сегментом, вовлекаемым во взаимодействие. Если весь поток операций, выходящий из сегмента через соединитель сегментов, должен иметь системный уровень арбитража, тогда действующие мастера в этом сегменте не нуждаются в том, чтобы им были присвоены как можно более редкие системные уровни арбитража. Системные уровни арбитража передаются соединителем сегментов без изменения, но локальные уровни арбитража преобразуются в уровень арбитража дальней стороны соединителя сегментов. Если уровень арбитража дальней стороны СС является системным, тогда этот системный уровень используется при проведении арбитража за владение всеми дополнительными сегментами, необходимыми для осуществления связи со слугой. Межсегментный процесс арбитража включает исходный сегмент, все сегменты, являющиеся посредниками, а также сегмент, являющийся целью данного взаимодействия. Вследствие этого оказывается возможным использовать гадин и тот же системный уровень арбитража более чем один раз в физически соединенной системе при условии, что каждая часть этой системы, использующая тот же системный уровень арбитража, представляет собой логически выделанную структуру: т.е. маршруты от исходного сегмента к сегменту, являющемуся целью взаимодействия, не имеют общих сегментов. В разд. 10 подробно описывается, как СС участвует в арбитраже за владение сегментом своей дальней стороны. Оптимальные уровни арбитража мастеров и СС зависят от конкретной системы. Приоритеты соблюдаются только во время проведения арбитража. Если никакие из мастеров не следует протоколу гарантированного доступа, для мастеров с низким приоритетом существует вероятность, что их запросы на владение магистралью останутся не обслуженными в течение очень длительных периодов времени. В таких системах вероятность возникновения этой ситуации может быть уменьшена путем присвоения высоких приоритетов редко возникающим запросам и низких приоритетов - часто возникающим запросам. Протокол гарантированного доступа устраняет возможность исключения или значительной задержки реакции на запросы от мастеров с низким приоритетом за счет некоторой задержки реакции на запросы с высоким приоритетом. Если это оказывается неприемлемым, те мастера, которые должны получать быстрый доступ к магистрали, могут, вдобавок к тому, что им присваивается высокий уровень приоритета, игнорировать состояние линии AI, когда они выставляют запросы. Такие мастера могут в любой момент времени добавлять запросы к очереди необслуженных запросов без необходимости ожидать, пока не кончится очередь. Поскольку запросы в такой очереди обслуживаются в порядке приоритетов, на запросы на владение магистралью от мастеров с высоким приоритетом, игнорирующих сигнал AI, может быть дан быстрый ответ. ГЛАВА 7. ВСПОМОГАТЕЛЬНАЯ ЛОГИКА В СЕГМЕНТЕПрактическая (реализация сегмента требует наличия схемы, которая является общей для всех устройств в сегменте. Эта вспомогательная логика управляет проведением циклов арбитража, контролирует адресные циклы и сигнализирует о выставлении географических адресов в данном сегменте на линию EG, формирует системные подтверждения для широких операций, выдает сигналы для остановки операций в сегменте, когда задействован переключатель «работа/останов», подает логические единицы и нули для кодирования штырьков географического адреса (GA) обеспечивает согласователи на обоих концах магистрали для большинства сигнальных линий. Подобно мастеру, вспомогательная логика должна быть осведомлена о характеристиках таймирования магистрали, к которой она подключена. Такая информация, касающаяся конкретной реализации магистрали, содержится в приложении А. 7.1. Управление таймированием арбитража (УТА)Описание арбитража в магистрали дано в разд. 6. Каждый сегмент должен иметь схему управления таймированием арбитража. 7.1.1. Формирование сигнала AI схемой УТАСхема УТА должна формировать сигнал AI (u) одновременно с сигналом AG (u). Схема УТА должна формировать сигнал AI (d), если сигнал AR находился в состоянии логического нуля в течение по меньшей мере двойной задержки в магистрали. При включении питания, а также когда обобщенный сигнал RB = 1 и ВН = 0, схема УТА должна установить сигнал А1 = 0 (см. п. 5.4.2). 7.1.2. Формирование сигнала AG схемой УТАСхема УТА должна генерировать таймирующий сигнал AG (u) с целью начать цикл арбитража, когда она обнаруживает, что выполняются все из перечисленных ниже условий: AR = 1, запрос на арбитраж. AG = 0, в течение минимального времени спада импульсов, если отсутствует подготовленный мастер (AL <5:0> =0), или минимального лимита времени на ответ мастера в адресном цикле, если есть подготовленный мастер (присутствует ненулевой код AL <5:0>), см. приложение А. GK = 0, действующий мастер, если он есть, подготовился освободить магистраль. WT = 0, таймирующие переходы не запрещены. Интегрированный сигнал RB = 0 (cм. п. 7.4 касательно защиты от переходных процессов). Схема УТА должна генерировать сигнал AG (d) с целью завершить цикл арбитража, когда управляющий сигнал AG = 1 поддерживался в течение времени, большего минимального времени арбитража для сегмента, и GK = AK = AS = WT = 0 по крайней мере в течение времени разброса фронтов импульса в сегменте. Если при выставлении сигнала AG (d) на линиях AL не нули, схема УТА должна запускать таймер ответных действий выдачи GK (u), который должен быть задержан на время ответных действий мастера в адресном цикле (см. приложение А). Если ответ GK (u) на сигнал AG (d) не получен в пределах этого времени, схема УТА должна быть cброшена и ей должно быть разрешено проводить новый цикл арбитража. При получении управляющего сигнала WT = 1 схема УТА не должна генерировать таймирующии сигнал AG (t) и должна запретить выдачу сигнала GK (u) своим таймером ответных действий (см. п. 5.4). Когда интегрированный сигнал RB = 1 (см. п. 5.5.2) и ВН = 0 или при включении питания, схема УТА должна установить сигнал AG = 0. Зарезервированный соединитель сегментов (см. п. 10.7.6) пропускает сигнал AR от своей дальней стороны к ближней стороне, позволяя таким образом действующему мастеру получать сведения о запросах на использование любого из сегментов, вовлеченных в данную операцию. Когда мастер выдает сигнал GK = 0, чтобы показать, что вскоре он прекратит владение магистралью, сегменты, в которых сигнал AR выставлен единственно потому, что через СС пропускается сигнал, могут немедленно обнаружить, что условия для выставления сигнала AG (u) удовлетворяется. Это вызывает проведение цикла арбитража, в результате чего на линиях AL устанавливаются нули. Схема УТА распознает эту ситуацию как ошибочную, формирует сигнал AG (d) и, следовательно, оказывается готовой ответить правильно на следующий сигнал AR = 1. 7.2. Управление географической адресациейСлуга, обнаруживший сигнал EG во время адресного цикла, проверяет 8 младших адресных линий для того, чтобы определить, был он выбран или нет. Мастер, осуществляющий географическую адресацию слуги, расположенного в другом сегменте, не может подать сигнал EG вместе с полем адреса группы, которое указывает на этот сегмент, поскольку это действие привело бы к выбору слуги, расположенного в том же сегменте, где находится мастер. Следовательно, соединители сегментов не пропускают сигнал EG и каждый сегмент должен иметь схему управления географической адресацией (УГА) для того, чтобы обнаружить географические адреса, нацеленные на слуги, которые расположены в данном сегменте, и выставить EG. Географический адрес может иметь либо нули в старших 24 разрядах, либо ненулевое поле адреса группы, за которым следуют в общей сложности 24 разряда, содержащих нули. Сегменту может быть присвоено более чем одно значение для поля адреса группы. Одно из них, обычно самое меньшее, называется «базовый адрес группы», и именно это значение заносится в регистр адреса сегмента в схеме УГА во время инициализации системы и используется для обнаружения географического адреса. Если сигнал EG не выставлен, слуги не будут распознавать географический адрес. Задержка, возникающая при формировании сигнала EG-схемой УГА, не вызывает никаких трудностей при условии, что лимит времени для мастера в адресном цикле подготовлен с учетом этой задержки. Сегмент должен содержать схему управления географической адресацией, состоящей из формирования сигнала EG и обеспечивать следующие функции поддержки слуги. Если сигнал EG еще не установлен в сегменте, формирователь EG должен по получении сигнала AS (u) проверить состояние старших 24 разрядов кода на линиях AD, если MS1 = MS2 = 0. если старшие 12 разрядов (AD <31:20>) на линиях AD соответствуют содержимому регистра адреса сегмента, а следующие 12 разрядов (AD <19:08>) все равны нули, или если AD <31:08> = 0, то формирователь сигнала EG должен подать сигнал EG = 1 после приема сигнала AS (u) спустя не более чем максимальное время задержки для сигнала EG (см. приложение А). Формирователь сигнала EG должен установить EG = 0, если AS = 0 или AK = 0. Переходы между состояниями EG должен запрещаться сигналом WT = 1 (ожидание). Часть схемы УГА, выполняющая функции слуги устройства: 1. Должна быть географически адресуемой по адресу 255, только когда MS = 1. 2. Должна обеспечивать реализацию обязательных характеристик регистра CSR = 0. 3. Должна обеспечивать реализацию регистра адреса сегмента в виде разрядов CSR = 3 <31:20>, где должен содержаться базовый адрес группы для данного сегмента. Этот регистр должен иметь 12 разрядов и обеспечивать чтение и запись. 4. Должна обеспечивать реализацию регистра NTA, имеющего два разряда. Он должен допускать чтение и запись через посредство вторичных адресных циклов, как указано в пп. 4.4 и гл. 5. 5. Должна при сигнале DS (u) выдавать ответные коды SS = 0, 6 или 7 в соответствии с определениями в гл. 5. Указание географических адресов должно выполняться путем подачи логической 1 или логического 0 на GA03 с помощью монтажа на задней плате, как показано на рис. 34 (см. п. 7.6 и приложение А). Рекомендуется, чтобы на плате УГА в логике сигнала EG был реализован CSR# 1 в виде регистра переключателя и перемычек, допускающего только чтение. Код, хранимый в этом регистре, может использоваться для однозначного идентифицирования сегмента. Этот регистр должен содержать по меньшей мере разряды с 20 по 31. 7.3. Формирование системного подтверждения при широкой операцииВспомогательная логика формирует системные подтверждения во время широких операций (см. гл. 4 и 5). Во время первичного адресного цикла логика системного подтверждения (ЛСП) активизируется в каждом сегменте, адресуемом мастером, выполняющим широкую операцию. Каждое ЛСП выставляет AK и DK, а также, наряду с сигналом WT, генерируемым соединителями сегментов, обеспечивает правильное распространение таймирующих сигналов от мастеров к слугам и обратно. Каждый сегмент должен содержать логику системного подтверждения (ЛСП). При распознавании широкого адреса (AS = 1, АК = 0, MS1 = 1) ЛСП должна разрешать функционирование своего формирователя подтверждения. Эта схема распознавания адреса должна быть способна требовать выставление сигнала MS2 = 0, который должен устанавливаться по умолчанию. ЛСП должна также содержать средства, требующие наличия MS2 = 0 во время цикла данных, как условия для выработки ответа, указанного ниже в п. 3. Когда ее работа разрешена, ЛСП: 1. Должна после получения сигнала AS (u) ожидать в течение времени ответов при широкой адресации (см. приложение А); затем, если сигнал WT находился в состоянии 0, в течение времени не менее двух задержек магистрали выдавать АК = 1. 2. Должна выдавать АК = 0, когда сигнал «строб адреса» находится в состоянии AS = 0 в течение времени ответов при широкой адресации и когда WT = 0. 3. Должна во время циклов данных после получения DS (t) ожидать в течение времени ответов при широкой операции, затем выдавать DK (t), когда в кабель-сегменте WT = 0 или когда сигнал WT находился в состоянии логического 0 в течение времени, равного по меньшей мере двум задержкам в магистрали крейт-сегмента. Отметим, что задержка после WT = 0 может перекрыть задержки, характерные для времен ответов. Соединитель сегментов, пропускающий любую операцию, выставляет WT = 1 в сегменте своей ближней стороны до тех пор, пока не будет получен ответ от сегмента дальней стороны. В случае широкой операции в сегменте, более чем один СС в сегменте может пропускать данную операцию. Перечисленные выше правила, касающиеся использования сигнала WT, позволяют всем широким циклам, адресным или данных, достигнуть конца каждой ветви широкой операции прежде, чем будет сформирован любой таймирующий ответный сигнал помимо сигнала WT = 1. По мере того, как ответ АК или DK идет обратно к действующему мастеру, выдерживается двойное время задержки в магистрали; этим игнорируются любые возмущения сигнала WT = 1 в крейт-сегментах, вызываемые многочисленными источниками, устанавливающими в различные моменты времени сигнал WT в состояние WT = 0. Для некоторых конкретных реализаций кабель-сегмента эти две задержки в магистрали могут не являться необходимыми. Во время циклов принудительных передач данных (MS = 3) соединители сегментов не выставляют сигнал «ожидание», и время интегрирования для WT = 0 равно нулю. Следовательно, логические требования п. 3, указанные выше, приводят в результате к синхронному распространению сигналов DS (t) и DK (t) от мастера к концам ветвей широкой операции. 7.4. Управление «работа/останов» и сигнал «магистраль остановлена»Логика «работа/останов» опознает состояние переключателя «работа/останов» (см. п. 14.4) и подает на линии АК и ВН сигналы, показывающие неактивное, остановленное состояние сегмента. Это позволяет всем устройствам, размещенным в сегменте, защищать себя от ложных сигналов, когда другие устройства подключаются или отключаются от сегмента. Запрос на останов от переключателя «работа/останов» после завершения любой операции, которая к настоящему моменту уже выполнялась и при освобождении магистрали сегмента, вызывает подачу сигналов ВН и АК. Устройства должны использовать сигналы ВН и/или АК для внутренней защиты. Каждый сегмент должен иметь переключатель «работа/останов» и управляющую логику для обеспечения неактивного состояния остановленной магистрали. Запрос на останов от переключателя «работа/останов» должен запрещать новые циклы арбитража. Логика «работа/останов» должна выставить ВН = АК = 1, когда переключатель «работа/останов» переведен в состояние «останов», а также выполняются все условия, перечисленные ниже: * AG = GK = AS = WT = 0; сигнал «подтверждение приема адреса» находился в состоянии * АК=0 в течение времени, равного минимальному времени спада импульсов * и нет подготовленного мастера. Когда переключатель «работа/останов» переведен в состояние «работа», логика «работа/останов» должна выставить ВН = 0 и АК = 0. Схема УТА должна быть единственным устройством, способным генерировать ВН = 1. Для защиты от переходных процессов, пока ВН = 1, все устройства должны запрещать свои входы с линий RB и SR. Сигнал ВН = 1 не должен вызывать запрета для работы любого дисплея на передней панели. 7.5. СогласователиКаждая определенная сигнальная линия сегмента ФАСТБАС должна быть согласована на обоих концах сегмента. Не должны быть согласованы соединения в сегменте ФАСТБАС для GA <04:00>, UR, DLA, DLB, DRB, DAR, DBR и штырьки F и Т. Величина сопротивления нагрузки, используемого в согласовать с, должна быть выбрана из соображений оптимизации качества сигналов для всех вариантов нагрузки сегмента (см. приложения А и С). Зарезервированные линии не нуждаются в согласовании. 7.6. Вспомогательная логика для крейт-сегментовЕсли специфицированная в настоящем разделе вспомогательная логика реализована на печатных платах, расположенных с тыльной стороны задней платы и описанных в п. 14.5, должно выполняться следующее: 1. Скомпонованные печатные платы должны иметь однократную ширину, соответствующую рис. 35. Площади, обозначенные как «зоны, свободные от деталей», должны быть проводящими при потенциале заземления. 2. Плата УГА должна быть прикреплена в сегменте к позиции с самым высоким номером и должна содержать: a) управление географической адресацией (см. п. 7.2); b) источник напряжения для подачи логической 1 на штырьки географического адреса (см. п. 7.2); c) согласователи (см. п. 7.5). 3. Плата УГА должна быть прикреплена в сегменте к позиции с номером ниже 8, предпочтительно с самым низким номером, и должна содержать: а) управление таймированием арбитража (см. п. 7.1); b) управление «работа/останов» (ем. п. 7.4): c) логику системного подтверждения (см. п. 7.3); d) согласователи (см. п. 7.5); e) логический 0 для подсоединения к географическому адресу GA03 (см. п. 7.2). 4. Управление «работа/останов» должно быть подсоединено к однорядному 4-контактному разъему с шагом 2,54 мм с квадратными штырьками со стороной 0,640 мм, аналогичному показанному на рис. 30, и с назначением контактов, соответствующим приведенному в п. 14.4. 5. Четырехконтактный разъем управления «работа/останов» должен быть установлен на стороне печатной платы, где расположены детали, около заднего края (противоположного 130-контактному разъему) с контактами, направленными к заднему краю платы. Если вспомогательная логика, определенная в этом разделе, реализуется иначе, чем на расположенных с тыльной стороны печатных платах, описанных в п. 14.5, должно выполняться следующее. 1 1. Логическая 1 должна поступать в GA03 с самым высоким номером в соответствующей возможной позиции (выше 24 или между 8 и 15) на задней плате, и 2. Логический 0 должен поступать в GA03 при номере позиции меньше 8, предпочтительнее при наименьшем из возможных. Независимо от расположения вспомогательной логики согласователи в магистрали должны быть на концах сегмента или вблизи них. Для крейт-сегментов, которые входят в состав расширенного сегмента, возможно, что все особенности, перечисленные в первых частях (2) и (3), не потребуются. Однако, независимо от того, как реализуется расширенный сегмент, всегда требуются согласователи и соединители с GA03. 7.7. Вспомогательная логика для кабель-сегментовКаждый кабель-сегмент должен быть снабжен всеми функциями вспомогательной логики в соответствии со спецификациями, приведенными в пп. 7.1 - 7.5. ГЛАВА 8. ОБЛАСТЬ АДРЕСОВ РЕГИСТРОВ УПРАВЛЕНИЯ И СОСТОЯНИЙСостояние линий MS во время первичного адресного цикла определяет, выбирается ли в пределах слуги область адресов данных (MS = 9 или 2) или область адресов регистров управления и состояний (CSR) - (MS = 1 или 3). Если выбирается область данных, когда используется логическая адресация, поле внутренних адресов IA первичного адреса имеет обычно достаточную ширину для того, чтобы указать желаемый регистр или функцию слуги. Каждое устройство имеет поле адресов CSR шириной 32 разряда. Следовательно, для того, чтобы выбрать конкретный регистр из области CSR, после первичного адресного цикла требуется вторичный адресный цикл. Все CSR-регистры должны быть доступны при помощи вторичной адресации Поскольку каждое устройство имеет 32 разряда, предназначенных для адресов CSR-регистров, существует возможность разделить это адресное пространство на ряд зон и выполнить стандартные присвоения адресов в Пределах этих зон, не запрещая специальное использование всего пространства. Данная спецификация (не требует ни того, чтобы были реализовали все описанные регистры, ни того, чтобы были реализовали все биты в определенном регистре. Если какая-либо из обсуждаемых функций реализована, то она должна быть реализована так, как специфицирована. Единственным обязательным регистром должен быть регистр СSR#0, и в нем необходимы только биты с 31 по 16 (идентификатор устройства). Область адресов регистров управления и статуса должна быть распределена следующим образом: 0000 0000 - 3FFF FFFF - область адресов нормальных CSR-регистров; 4000 0000 - 7FFF FFFF - область адресов программных CSR-регистров; 8000 0000 - BFFF FFFF - область адресов параметрических CSR-регистров; С000 0000 - FFFF FFFF - область адресов пользовательских CSR-регистров Область адресов нормальных CSR содержит наиболее общеупотребимые управляющие и статусные регистры. Все регистры в этой области либо определены, либо зарезервированы. И все же, поскольку некоторые из них предназначены для использования зависимости от типа устройства, имеется некоторая гибкость в употреблении регистров. Область адресов программных CSR содержит программы и таблицы, используемые прежде всего самим устройством. Они могут быть предусмотрены в мастере ФАСТБАС и могут потребоваться в качестве данных другими устройствами ФАСТБАС. Область адресов параметрических CSR содержит статистическую или редко меняющуюся информацию о данном устройстве, например, калибровочные константы, и информацию от изготовителя. Изменение информации, хранимой в области адресов параметрических регистров, может потребовать специальных операций, таких как программирование ППЗУ, которые не могут быть выполнены посредством ФАСТБАСА. Данные спецификации не накладывают никаких специальных ограничений на область адресов пользовательских CSR. Настоятельно рекомендуется, чтобы все регистры, предназначенные для записи, допускали бы и чтение. Отметим, что когда считывается содержимое какого-либо регистра, все не реализованные биты возвращаются в виде логических нулей (см. п. 5.3.2). 8.1. Функции селективной установки и сбросаМногие функции управления требуют, чтобы какой-либо бит в регистре был или установлен, или сброшен, чтобы вызвать необходимые действия. Соображения экономии при реализации диктуют, чтобы ряд подобных функций был сгруппирован вместе в одном управляющем регистре. Часто с той целью, чтобы осуществить селективную установку или сброс отдельного бита в таком регистре и при этом не нарушить любые другие биты в этом регистре, используется операция типа «чтение-модификация-запись». В случае ФАСТБАСА многие функции управления лучше всего будут выполняться при помощи широких операций, исключая таким образом возможность использования операции типа «чтение-модификация-запись», поскольку состояние другие битов в одном и том же управляющем регистре может отличаться от устройства к устройству. Чтобы приспособить для этой цели широкие операции, для системы ФАСТБАС принято решение размещать функции установки и сброса в различных битах в пределах одного и того же регистра. Виты установки по своему местоположению соответствуют статусным битам, на которые осуществляется воздействие, а биты сброса смещены на 16 разрядов влево (в сторону старших разрядов) в данном слове. Таким образом, логическая единица, записанная в позицию бита установки, считывается обратно как логическая единица в позиции бита установки, а логическая единица, записанная в позицию бита сброса, считывается обратно как логический нуль в позиции бита установки. Бит, считываемый обратно в позиции бита сброса, может использоваться для передачи относящейся к этому статусной информации об устройстве. Операции установки бита и сброса бита, когда они реализованы, должны работать так, как показано в табл. X. Бит сброса, соответствующий данному биту установки, должен находиться в том же регистре, что и бит установили, а позиция бита сброса должна быть расположена на 16 разрядов левее позиции бита установки. Статусный бит, считываемый обратно, должен находиться в позиции бита установки. Таблица X Реализация функции селективной установки/сброса в CSR-регистре
Действие битов установки и сброса не ограничивается исключительно тем, что описано выше. Бит установки мог бы использоваться для запуска схемы с одним устойчивым состоянием, а бит сброса - для предварительного приведения ее в исходное состояние. В этом случае статусный бит должен отражать текущее состояние схемы с одним устойчивым состоянием. Выборка закодированных значений в пределах статусных слое должна производиться в начале цикла чтения данных, и эти значения не должны изменяться, пока данное статусное слово пропускается на магистраль. Биты селективной установки и сброса не должны размещаться в одном регистре с обычными битами, предназначенными для чтения и записи. Селективные биты могут размещаться в одном регистре с битами, предназначенными только для чтения, или с битами для импульсного управления, таким как «установка» и «сброс», которые вызывают некоторые действие, но не запоминаются в адресуемом регистре. 8.2. Распределение области адресов нормальных CSR-регистровРаспределение адресов регистров в области нормальных CSR (показано в табл. XI. Все регистры группируются по выполняемой функции, и среди них первая группа из 8 шт. представляет собой регистры, наиболее часто требуемые для слуг, следующая группа из 8 шт. содержит регистры, наиболее часто требуемые в дополнение к мастеру, и так далее. Таблица XI Регистры управления и статуса - CSR
Регистры с селективной установкой и сбросом. Адреса от 0 до 3FFF FFFFh в области CSR регистров должны быть зарезервированы для функций, перечисленных в табл. XI. Если какая-нибудь функция не требуется в устройстве, тогда данный регистр или конкретный бит в пределах регистра не нуждается в реализации. Идентификатор устройства, биты СSR# 0 <31:16>, должен быть реализован в каждом устройстве. Устройства, использующие GSR-регистры, для которых влияние «сброса» определяется в п. 8.1, должны реализовывать CSR# 0 <30>. Устройства, использующие CSR-регистры, для которых влияние «очистки» определяется в п. 8.1.6, должны реализовывать CSR# 0 <16>. Устройства, способные генерировать сообщения о прерываниях, должны реализовывать, при необходимости, CSR# 2 <06:04> и <22:20>. Устройства, к которым возможна логическая адресация, должны реализоваться CSR# 3, CSR# 0 <01> и CSR# 0 <17>. В устройствах, способных выставлять запрос на владение магистралью, должен быть реализован регистр CSR# 8. В устройствах с таймерами должен быть реализован регистр CSR# 9. Регистры 2, 3, 8 и 9, если они включены в состав устройства, должны быть реализованы с возможностью выполнения обеих операций, чтения и записи. Устройства, использующие CSR-регистры, для которых влияние «сброса» обязательно, должны реализовывать CSR# 0 <30>, см. п. 8.18. Устройства, использующие CSR-регистры, для которых влияние «очистки» обязательно, должны реализовывать CSR# 0 <16>, см. п. 8.18. 8.3. CSR-регистр 0Функции, которые считаются необходимыми даже в простейших из устройств, содержатся в CSR# 0. Для того, чтобы реализовать эти функции по возможности экономичным способом, определения в этом регистре нарушают соглашение ФАСТБАС в том, что функции битов регистра не совпадают для операций чтения и записи. Некоторые биты по своему существу допускают только запись, т.е. вызывают немедленные действия, такие как очистка регистра, в то время как другие, такие как идентификатор устройства, по существу допускают только чтение. CSR# 0 совмещает в себе эти два типа битов, позволяя функциям, которые нормально должны быть распределены в двух регистрах, содержаться в регистре, имеющем единый адрес. Адрес, используемый для этого регистра 0, отличается от всех других адресов тем, что доступ к нему может осуществляться географически даже простыми устройствами, не имеющими дешифраторов адреса. Устройства, имеющие дешифраторы адреса, могут быть реализованы таким образом, чтобы обеспечить доступ к регистру CRS# 0, используя широкую, географическую или логическую адресацию. 8.3.1. Идентификаторы устройств и их распределениеИдентификатор устройства ФАСТБАС представляет собой шестнадцатиразрядное двоичное число, которое присваивается каждому различаемому типу устройства. Если устройство подвергалось какому-нибудь изменению, что могло повлиять на его характеристики, должен использоваться новый идентификатор. Значения для старших 12 разрядов из шестнадцати будут присваиваться председателем комитета NIM по запросам организаций, которые затем будут присваивать значения для остального четырехразрядного поля и закреплять результирующие шестнадцатиразрядные числа за новыми или переработанными моделями устройств ФАСТБАС так, как это требуется. Таким образом, блок из 16 идентификаторов представляется организациям. Могут быть запрошены несколько блоков. Эта схема позволяет определить 65520 идентификаторов. Идентификатор считается с разрядов CSR# 0 <31:16>. Нулевой код (никакие биты не установлены в единицу) не допускается для разрядов 31:20 идентификатора. В разрядах CSR# 0 <31:20> должно содержаться значение, присвоенное председателем комитета NIM*. * В настоящее время код-идентификатор присваивает председатель комитета NIM Луис Кострелл (Lous Coslrell, National Bureau of Standards, Gaithersburg, MD 20899, USA) или П. Дж. Понтин (Р. J. Pouting, ЕР Division CERN, 1211 Geneva 23, Switzerland). 8.3.2. Распределение битов управления и статусаПрисвоение битов в регистре CSR# 0 должно быть таким, как показано в табл. ХIIа, с функциями различных битов такими, как определено в табл. XIIb Таблица ХIIа Назначение битов регистра CSR# 0
Примечание. В этой и последующих таблицах номера битов, которым предшествует буква S или С, указывают на то, что данный бит является либо битом установки (S) либо битом сброса (С), связываемым с действием функции селективной установки/сброс. Таблица ХIIb Определения функций битов регистра CSR# 0
8.4. CSR-регистр 1Назначение битов этого регистра определяется пользователем. В соединителях сегментов он используется для хранения уровня арбитража дальней стороны. 8.5. CSR-регистр 2Этот регистр управления и состояний не является обязательным для устройств, за исключением тех, которые генерируют сообщения о прерываниях. Он используется для обеспечения более подробных сообщений об ошибках, а также для реализации функций, которые являются менее общими, чем те, что обеспечиваются регистром CSR# 0. Присвоение индивидуальных битов показано в табл. XIIIa, a их определения приводится в табл. XIIIb. Если какие-нибудь из функций, определенных из CSR# 2, реализованы, они должны быть реализованы так, как показано в табл. XIIIa. Таблица XIIIa Определение функций регистра CSR - 2
Таблица XIIIb Определения функций битов регистра CSR-2
|