Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 62
Текст из файла (страница 62)
После этогопроисходит передача данных.Так как шина является общим ресурсом, за доступ к которомусоревнуются подключенные к ней устройства, то необходимы методы управления предоставлением доступа устройств к шине. Возможно использование центрального устройства для управления доступом к шине, однако это уменьшает масштабируемость и гибкостьсистемы.Для разрешения конфликтов, возникающих при одновременномзапросе устройств на доступ к шине, используются различные приемы, в частности:• назначение каждому устройству уникального приоритета (статического или динамического);• использование очереди запросов FIFO;• выделение фиксированных временных интервалов каждомуустройству.Алгоритмы арбитража.Статические приоритеты. Каждое устройство в системе получает уникальный приоритет, при одновременном запросе несколькихустройств на передачу доступ к шине предоставляется устройству снаивысшим приоритетом.
На практике часто используется соединение устройств в цепь, при котором приоритет устройства определяется местом его подключения к шине. Для контроля доступа к шинеиспользуется отдельный блок управления.Динамические приоритеты. Так же, как и в предыдущем алгоритме, устройства получают уникальные приоритеты, однако в отличие от него эти приоритеты непостоянны во времени. Приорите-3.7. Коммутаторы для многопроцессорных ЕС313ты динамически изменяются, предоставляя устройствам более илименее равные шансы получения доступа к шине. Наиболее частоприменяются следующие способы изменения приоритетов: наивысший приоритет предоставляется устройству, наиболее долго не использовавшему шину, и циклическая смена приоритетов.
Контрольдоступа к шине осуществляет устройство, получившее доступ кшине в предыдущем цикле арбитража.Фиксированные временные интервалы. Каждое устройство по порядку получает одинаковый временной интервал для осуществленияпередачи. Если устройство не имеет данных для передачи, то интервал тем не менее не предоставляется следующему устройству.Очередь FIFO. Создается очередь запросов «первый пришел —первый ушел», однако сохраняется проблема арбитража между почти одновременными запросами, а также возникает необходимостьподдержания очереди запросов достаточной длины. Преимуществомданного алгоритма является возможность достижения максимальной пропускной способности шины.О с о б е н н о с т и р е а л и з а ц и и ш и н .
Внутри микросхемшины используются для объединения функциональных блоков микропроцессоров, микросхем памяти, микроконтроллеров. Шины используются для объединения устройств на печатных платах и печатных плат в блоках. В последнее время применяются шины следующих стандартов (см. также гл. 2):ISA — Industry Standard Architecture;EISA — Extended ISA;VESA — Video Electronics Standards Association;PCI — Peripheral Computer Interconnect;VME — Versabus Module Europe;I2C — Inter Integrated Circuit;AGP — Accelerated Graphic Port.Шины используются также в мезонинной технологии, где набольшой плате устанавливается один или несколько шинных разъемов для установки меньших плат, так называемых мезонинов.Шины, объединяющие устройства, из которых состоит вычислительная система, являются критическим ресурсом, отказ которогоможет привести к отказу всей системы.
Шины обладают также рядом принципиальных ограничений. Возможность масштабируемости шинных структур ограничивается временем, затрачиваемым наарбитраж, и количеством устройств, подключенных к шине. Приэтом чем больше подключенных устройств, тем больше время, затрачиваемое на арбитраж. Время арбитража ограничивает и пропускную способность шины. Кроме того, в каждый момент времени314Глава 3. Вычислительные системышина используется для передачи только одним устройством, чтостановится узким местом при увеличении количества подключенных устройств. Пропускная способность шины ограничивается еешириной — количеством линий (проводников), используемых дляпередачи данных, — и тактовой частотой ее работы. Данные величины имеют физические ограничения.Простые коммутаторы с пространственным разделением.
Простыекоммутаторы с пространственным разделением (Gigaplane) используются, например, в семействе Sun Ultra Enterprise.Простые коммутаторы с пространственным разделением позволяют одновременно соединять любой вход с любым одним выходом(ординарные) или несколькими выходами (неординарные). Такиекоммутаторы представляют собой совокупность мультиплексоров,количество которых соответствует количеству выходов коммутатора,при этом каждый вход коммутатора должен быть заведен на всемультиплексоры.
Структура этих коммутаторов показана нарис. 3.42. Достоинства: возможность одновременного контакта совсеми устройствами; минимальная задержка. Недостатки: высокаясложность порядка пх т, где п — количество входов, т — количество выходов; сложность обеспечения надежности.Выход 1Вход 1Выход 2Вход 2Выход тВход тРис.
3.42. Простой коммутатор с пространственным разделением3.7. Коммутаторы для многопроцессорных ВС315Составные коммутаторыПростые коммутаторы имеют ограничения на число входов ивыходов, а также могут требовать большого количества оборудования при увеличении этого числа (в случае пространственных коммутаторов). Поэтому для построения коммутаторов с большим количеством входов и выходов используют совокупность простыхкоммутаторов, объединенных с помощью линий «точка—точка».Составные коммутаторы имеют задержку, пропорциональнуюколичеству простых коммутаторов, через которые проходит сигналот входа до выхода, т. е. числу каскадов. Однако объем оборудования составного коммутатора меньше, чем простого с тем же количеством входов и выходов.Чаще всего составные коммутаторы строятся из прямоугольныхкоммутаторов 2 х 2 с двумя входами и выходами.
Они имеют два состояния: прямое пропускание входов на соответствующие выходы иперекрестное пропускание. Коммутатор 2 x 2 состоит из собственноблока коммутации данных и блока управления. Блок управления взависимости от поступающих на него управляющих сигналов определяет, какой тип соединения следует осуществить в блоке коммутации: прямой или перекрестный.
При этом если оба входа хотятсоединиться с одним выходом, то коммутатор разрешает конфликти связывает с данным выходом только один вход, а запрос на соединение со стороны второго блокируется или отвергается.К о м м у т а т о р К л о з а (рис. 3.43). Коммутатор Клоза можетбыть построен в качестве альтернативы для прямоугольного коммутатора с (т х d) входами и (т х d) выходами.
Он формируется изтрех каскадов коммутаторов: т коммутаторов (d x d) во входномкаскаде, т коммутаторов (d х d) в выходном и d промежуточныхкоммутаторов (т х т).Рис. 3.43. Коммутатор Клоза 3 x 4316Глава 3. Вычислительные системыСоединения внутри коммутатора устроены следующим образом:• у'-й выход /-го коммутатора входного каскада соединен с ;-мвходом у-го промежуточного коммутатора;• J-WL вход /с-ro коммутатора выходного каскада соединен с £-мвыходом у'-го промежуточного коммутатораДанный тип составных коммутаторов позволяет соединять любой вход с любым выходом, однако при установленных соединенияхдобавление нового соединения может потребовать разрыва и переустановления всех соединений.Баньян-сетиКоммутаторы этого типа строятся на базе прямоугольных коммутаторов таким образом, что существует только один путь от каждого входа к каждому выходу.Структура баньяновой сети, выполненная в виде узла на 16 входов и выходов состоит (рис.
3.44) из простых коммутирующих элементов, соединенных друг с другом. Через последовательности этихэлементов передаются блоки данных. Изображенная структура имеет четыре каскада ( 1 — 4 ) коммутирующих элементов. Каждый передаваемый блок данных имеет в заголовке адрес, разрядность которого равна числу элементов баньяновой сети. Блок, поданный наКоммутирующий элемент23Рис. 3.44.
Баньян-сеть3.7. Коммутаторы для многопроцессорных ВС317вход '-го каскада попадает на один из его выходов, если в /-м разряде адреса записан «О». Если в этом разряде находится «1», то блокпередается на другой выход элемента. Так, по каскадам, происходитретрансляция блоков данных, определяемая деревом выбора путейпередачи.Таким образом осуществляется самомаршрутизация блоков, определяемая их адресами. В результате баньян-сети обеспечиваютбольшую пропускную способность, ибо блоки данных через нихпроходят параллельно, а функции маршрутизации выполняются аппаратно. Однако нужно иметь в виду, что в баньяновых сетях могутпроисходить взаимные блокировки и возникать тупиковые ситуации.
Поэтому в рассматриваемых сетях должны быть приняты специальные меры, предотвращающие появление этих тупиков.Важной разновидностью баньян-сетей является дельта-сеть.Она формируется из прямоугольных коммутаторов (а х Ь) и представляет собой и-каскадный коммутатор с п входами а и п выходамиЬ. Составляющие коммутаторы соединены так, что для соединениялюбого входа и выхода образуется единственный путь одинаковойдлины для всех пар входов и выходов.Распределенные составные коммутаторыВ распределенных вычислительных системах ресурсы разделяются между задачами, каждая из которых исполняется на своемподмножестве процессоров.
В связи с этим возникает понятие близости процессоров, которая является важной для активно взаимодействующих процессоров. Обычно близость процессоров выражается в различной каскадности соединений, различных расстоянияхмежду ними.Один из вариантов создания составных коммутаторов заключается в объединении прямоугольных коммутаторов ( v + l x v + 1 ) ,v > 1, таким образом, что один вход и один выход каждого составляющего коммутатора служат входом и выходом составного коммутатора. К каждому внутреннему коммутатору подсоединяются процессор и память, образуя вычислительный модуль с v каналами длясоединения с другими вычислительными модулями.