166 Глава 4. Организация шин
просто путем замедления тактирования. Так, можно разрешить всем сигналам из­меняться только по одному из фронтов ТИ, что создает достаточную заминку для распространения сигналов и их стабилизации.
В асинхронных шинах проблема должна быть решена либо в самом драйвере, либо за счет введения искусственной приостановки, компенсирующей излишнее быстродействие драйвера. Еще одна возможность — замедление цепей приемника.
Чтобы сделать приемники нечувствительными к отражениям и высокочастот­ному шуму, в них встраивают фильтры нижних частот. В шине NITS Altair, напри­мер, используются драйверы большой мощности и маломощные приемники. По причине быстрых драйверов и неудачного дизайна монтажной шины сигналы в этой шине сильно искажаются, но маломощные приемники достаточно медлительны и позволяют нивелировать большинство из дефектов сигнала.
Применяющиеся в настоящее время драйверы и приемники на базе транзис­торно-транзисторной логики (ТТЛ) уже не в полной мере отвечают растущим тре­бованиям. В новых шинах наметилась тенденция перехода к трансиверам на основе эмиттерно-связанной логики (ЭСЛ), как, например, в шине Fastbus. Заме­чательно, что одновременно с уменьшением емкости линий, уровней и крутизны фронтов сигналов, подавлением шумов в приемнике, в подобных трансиверах со­храняется преемственность со старыми устройствами: они допускают использова­ние со стороны дочерних плат источников питания и сигналов, характерных для ТТЛ-технологии.
Обычно перед установкой или извлечением дочерней платы требуется отклю­чение источника питания машины. В мультипроцессорных системах это крайне нежелательно, поскольку временное отключение питания приводит к необходи­мости перезагрузки и перезапуска каждого процессора. Некоторые системы про­ектируются так, что допускают извлечение и установку платы в присутствии пи­тающего напряжения. В них обеспечивается сохранение состояния остальных плат, но работа шины временно приостанавливается. Естественно, что плата, которая была удалена и заменена на другую, уже не находится в исходном состоянии и долж­на быть инициализирована. Чаще всего реализация подобного режима оказывает­ся чересчур дорогостоящей.
Распределение линий шины
Любая транзакция на шине начинается с выставления ведущим устройством ад­ресной информации. Адрес позволяет выбрать ведомое устройство и установить соединение между ним и ведущим. Для передачи адреса используется часть сиг­нальных линий шины, совокупность которых часто называют шиной адреса (Ш К).
На ША могут выдаваться адреса ячеек памяти, номера регистров ЦП, адреса портов ввода/вывода и т. п. Многообразие видов адресов предполагает наличие дополнительной информации, уточняющей вид, используемый в данной транзак­ции. Такая информация может косвенно содержаться в самом адресе, но чаще пе­редается по специальным управляющим линиям шины.
Разнообразной может быть и структура адреса. Так, в адресе может конкрети­зироваться лишь определенная часть ведомого, например, старшие биты адреса
Распределение линий шины 167
могут указывать на один из модулей основной памяти, в то время как младшие биты определяют ячейку внутри этого модуля.
В некоторых шинах предусмотрены адреса специального вида, обеспечиваю­щие одновременный выбор определенной группы ведомых либо всех ведомых сразу (broadcast). Такая возможность обычно практикуется в транзакциях записи (от ведущего к ведомым), однако существует также специальный вид транзакции чте­ния (одновременно от нескольких ведомых общему ведущему). Английское назва­ние такой транзакции чтения broadcall можно перевести как «широковещательный опрос». Информация, возвращаемая ведущему, представляет собой результат поби­тового логического сложения данных, поступивших от всех адресуемых ведомых.
Число сигнальных линий, выделенных для передачи адреса {ширина шины ад­реса), определяет максимально возможный размер адресного пространства. Это одна из базовых характеристик шины, поскольку от нее зависит потенциальная емкость адресуемой памяти и число обслуживаемых портов ввода/вывода.
Совокупность линий, служащих для пересылки данных между модулями сис­темы, называют шиной данных (Ш Д). Важнейшие характеристики шины данных — ширина и пропускная способность.
Ширина шины данных определяется количеством битов информации, которое может быть передано по шине за одну транзакцию {цикл шины). Цикл шины сле­дует отличать от периода тактовых импульсов — одна транзакция на шине может занимать несколько тактовых периодов. В середине 1970-х годов типовая ширина шины данных составляла 8 бит. В наше время это обычно 32,64 или 128 бит. В лю­бом случае ширину шины данных выбирают кратной целому числу байтов, при­чем это число, как правило, представляет собой целую степень числа 2.
Элемент данных, задействующий всю ширину ШД, принято называть словом, хотя в архитектуре некоторых ВМ понятие «слово» трактуется по-другому, то есть слово может иметь разрядность, не совпадающую с шириной ШД.
В большинстве шин используются адреса, позволяющие указать отдельный байт слова. Это свойство оказывается полезным, когда желательно изменить в памяти лишь часть полного слова.
При передаче по ШД части слова пересылка обычно производится по тем же сигнальным линиям, что и в случае пересылки полного слова, однако в ряде шин «урезанное» слово передается по младшим линиям ШД. Последний вариант мо­жет оказаться более удобным при последующем расширении шины данных, по­скольку в этом случае сохраняется преемственность со «старой» шиной:
Ширина шины данных существенно влияет на производительность ВМ. Так, если шина данных имеет ширину вдвое меньшую чем длина команды, ЦП в тече­ние каждого цикла команды вынужден осуществлять доступ к памяти дважды.
Пропускная способность шины характеризуется количеством единиц инфор­мации (байтов), которые допускается передать по шине за единицу времени (се­кунду), а определяется физическим построением шины и природой подключае­мых к ней устройств. Очевидно, что чем шире шина, тем выше ее пропускная способность.
Последовательность событий, происходящих на шине данных в процессе од­ной транзакции, иллюстрирует рис. 4.9. Пусть устройство А на одном конце шины передает данные устройству В на другом ее конце.
168 Глава 4. Организация шин
Сначала устройство А выставляет данные на шину. Здесь ί — это задержка между моментом выставления данных устройством А и моментом их появления на шине. Этот интервал времени может составлять от 1 до 4 не. Как уже отмечалось, скорость распространения данных по шине реально не в состоянии превысить 70% от скорости света. Единственный способ уменьшения задержки распространения ίρ,. — сокращение длины шины. Когда сигнал достигает устройства, он должен бьпь «захвачен». Захват данных устройством В может быть произведен только по про­шествии некоторого времени стабилизации. Время стабилизации £ст — это время, в течение которого данные на входе устройства В должны стабилизироваться с тем, чтобы их можно было однозначно распознать. Необходимо также упомянуть и вре­мя удержания tyaинтервал, в течение которого информация должна оставаться на шине данных после того, как они были зафиксированы устройством В.
Общее время передачи данных по шине ta определяется выражением tn =tm + t + tCT + typ. Если подставить типовые значения этих параметров, получим 4 + 1,5 + + 2 + 0 = 7,5 не, что соответствует частоте шины 109/7,5 = 133,3 МГц.
На практике передача данных осуществляется с задержкой на инициализацию транзакции (ί„). Учитывая эту задержку, максимальную скорость передачи можно
определить как 1/( tn +tE)
Некоторые шины содержат дополнительные линии, используемые для обнару­жения ошибок, возникших в процессе передачи. Выделение по одной дополни­тельной линии на каждый отдельный байт данных позволяет контролировать лю­бой байт по паритету, причем и в случае пересылки по ШД лишь части слова. Возможен и иной вариант контроля ошибок. В этом случае упомянутые дополни­тельные линии используются совместно. По ним передается корректирующий код, благодаря которому ошибка может быть не только обнаружена, но и откорректи­рована. Такой метод удобен лишь при пересылке по шине полных слов.
Если адрес и данные в шине передаются по независимым (выделенным) сиг­нальным линиям, то ширина ШАи ШД обычно выбирается независимо. Наибо­лее частые комбинации: 16-8,16-16, 20-8, 20-16, 24-32 и 32-32. Во многих ши­нах адрес и данные пересылаются по одним и тем же линиям, но в разных тактах цикла шины. Этот прием называется временным мультиплексированием и будет
Распределение линий шины 169
рассмотрен позже. Здесь же отметим, что в случае мультиплексирования ширина ША и ширина ШД должны быть взаимоувязаны.
Применение раздельных шин адреса и данных позволяет повысить эффектив­ность использования шины, особенно в транзакциях записи, поскольку адрес ячейки памяти и записываемые данные могут передаваться одновременно.
Помимо трактов пересылки адреса и данных, неотъемлемым атрибутом любой шины являются линии, по которым передается управляющая информации и ин­формация о состоянии участвующих в транзакции устройств. Совокупность та­ких линий принято называть шиной управления (ШУ), хотя такое название пред­ставляется не совсем точным. Сигнальные линии, входящие в ШУ, можно условно разделить на несколько групп.
Первую группу образуют линии, по которым пересылаются сигналы управле­ния транзакциями, то есть сигналы, определяющие:
•  тип выполняемой транзакции (чтение или запись);
•   количество байтов, передаваемых по шине данных, и, если пересылается часть слова, то какие байты;
•   какой тип адреса выдан на шину адреса;
•   какой протокол передачи должен быть применен.
На перечисленные цели обычно отводится от двух до восьми сигнальных ли­ний.
Ко второй группе отнесем линии передачи информации состояния (статуса). В эту группу входят от одной до четырех линий, по которым ведомое устройство может информировать ведущего о своем состоянии или передать код возникшей ошибки.
Третья группа — линии арбитража. Вопросы арбитража рассматриваются не­сколько позже. Пока отметим лишь, что арбитраж необходим для выбора одного из нескольких ведущих, одновременно претендующих на доступ к шине. Число линий арбитража в разных шинах варьируется от 3 до 11.
Четвертую группу образуют линии прерывания.По этим линиям передаются запросы на обслуживание, посылаемые от ведомых устройств к ведущему. Под собственно запросы обычно отводятся одна или две линии, однако при одновре­менном возникновении запросов от нескольких ведомых возникает проблема ар­битража, для чего могут понадобиться дополнительные линии, если только с этой целью не используются линии третьей группы.
Пятая группа— линии для организации последовательных локальных сетей. Наличие от 1 до 4 таких линий стало общепринятой практикой в современных шинах. Обусловлено это тем, что последовательная передача данных протекает значительно медленнее, чем параллельная, и сети значительно выгоднее строить, не загружая быстрые линии основных шин адреса и данных. Кроме того, шины этой группы могут быть использованы как полноценный, хотя и медленный, из­быточный тракт для замены ША и ШД в случае их отказа. Иногда шины пятой группы назначаются для реализации специальных функций, таких, например, как обработка прерываний или сортировка приоритетов задач.
В некоторых ШУ имеется шестая группа сигнальных линий — от 4 до 5 линий позиционного кода, Подсоединяемых к специальным выводам разъема. С помощью
170 Глава 4. Организация шин
перемычек на этих выводах можно задать уникальный позиционный код разъема на материнской плате или вставленной в этот разъем дочерней платы. Такой код может быть использован для индивидуальной инициализации каждой отдельной платы при включении или перезапуске системы.
Наконец, в каждой шине обязательно присутствуют линии, которые в нашей классификации входят в седьмую ipyimy, которая по сути является одной из важ­нейших. Это группа линий тактирования и синхронизации. При проектировании шины таким линиям уделяется особое внимание. В состав группы, в зависимости от протокола шины (синхронный или асинхронный), входят от двух до шести линий.
В довершение необходимо упомянуть линии для подвода питающего напряже­ния и линии заземления.
Большое количество линий в шине предполагает использование разъемов со значительным числом контактов. В некоторых шинах разъемы имеют сотни кон­тактов, где предусмотрены подключение вспомогательных шин специального на­значения, свободные линии для локального обмена между дочерними платами, множественные параллельно расположенные контакты для «размножения» пи1 тания и «земли». Значительно чаще число контактов разъема ограничивают. В табл. 4.1 показано возможное распределение линий 32-разрядной шины в 64-кон­тактном разъеме.
Таблица 4.1. Распределение линий 32-разрядной шины в 64-контактном разъеме
Линии
Типовое число выводов
Комментарии
Адрес
16-32
Могут быть объединены
в мультиплексируемую шину
Данные
8-32
Арбитраж
3-11
Управление
2.-8
Состояние
1-4
Тактирование и синхронизация
2-6
Локальная сеть
1-4
Позиционный код
4-5
Питание
2-20
«Земля»
2-20
Выделенные и мультиплексируемые линии
В некоторых ВМ линии адреса и данных объединены в единую мультиплексируемую шину адреса/данных. Такая шина функционирует в режиме разделения времени, по­скольку цикл шины разбит на временной интервал для передачи адреса и временной интервал для передачи данных. Структура такой шины показана на рис. 4.10.
Мультиплексирование адресов и данных предполагает наличие мультиплексора на одном конце тракта пересылки информации и демультиплексора на его дру-
Арбитраж шин 1 7 1
гом конце. Мультиплексоры и демультиплексоры играют роль коммутирующих устройств.
Мультиплексирование позволяет сократить общее число линий, но требует ус­ложнения логики связи с шиной. Кроме того, оно ведет к потенциальному сниже­нию производительности, поскольку исключает возможность параллельной пере­дачи адресов и данных, что можно было бы использовать в транзакциях записи, одновременно выставляя на ША адрес, а на ТТТД — записываемое слово.
Примером применения мультиплексируемой шины адреса/данных может слу­жить шина Futurebus+.
Арбитраж шин
В реальных системах на роль ведущего вправе одновременно претендовать сразу несколько из подключенных к шине устройств, однако управлять шиной в каж­дый момент времени может только одно из них. Чтобы исключить конфликты, шина должна предусматривать определенные механизмы арбитража запросов и правила предоставления шины одному из запросивших устройств. Решение обыч­но принимается на основе приоритетов претендентов.                          J
Схемы приоритетов
Каждому потенциальному ведущему присваивается определенный уровень прио­ритета, который может оставаться неизменным (статический или фиксированный приоритет) либо изменяться по какому-либо алгоритму (динамический приори­тет).
Hosted by uCoz