Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Децентрализованный арбитраж





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

Одна из возможных схем, которую можно условно назвать схемой децентрали­зованного параллельного арбитража, показана на рис. 4.13. Каждый ведущий имеет уникальный уровень приоритета и обладает собственным контроллером шины, способным формировать сигналы предоставления и занятия шины. Сигналы за­проса от любого ведущего поступают на входы всех остальных ведущих. Логика арбитража реализуется в контроллере шины каждого ведущего. Под децентрализованный арбитраж может быть модифицирована также схема, приведенная на рис. 4.12. Подобный вариант, называемый кольцевой схемой, по­казан на рис. 4.14.

Рис. 4.14. Кольцевая схема

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

Текущий ведущий, управляющий шиной, генерирует сигнал ПШ, который про­ходит через все ведущие устройства, не запросившие шину. Ведущий, сформиро­вавший запрос и имеющий на входе активный сигнал ПШ, запрещает прохождение этого сигнала далее по цепочке, но не может взять на себя управление шиной до момента ее освобождения текущим ведущим. Когда текущий ведущий обнаружи­вает, что «потерял» сигнал ПШ на своем входе, он обязан при первой возможности освободить шину и снять сигнал занятия шины.

Для большинства шин все-таки более характерна другая организация децентра­лизованного арбитража. Такие схемы предполагают наличие в составе шины груп­пы арбитражных линий, организованных по схеме «монтажного ИЛИ». Это позволяет любому ведущему видеть сигналы, выставленные остальными устрой­ствами. Каждому ведущему присваивается уникальный номер, совпадающий с кодом уровня приоритета данного ведущего. Запрашивающие шину устройства выдают на арбитражные линии свой номер. Каждый из запросивших ведущих, об­наружив на арбитражных линиях номер устройства с более высоким приорите­том, снимает с этих линий младшие биты своего номера. В конце концов на арбит­ражных линиях остается только номер устройства, обладающего наиболее высоким приоритетом. Победителем в процедуре арбитража становится ведущий, опознавший на арбитражных линиях свой номер. Подобная схема известна также как рас­пределенный арбитраж с самостоятельным выбором, поскольку ведущий сам оп­ределяет, стал ли он победителем в арбитраже, то есть выбирает себя самостоя­тельно.

Идея подобного арбитража была предложена М. Таубом (Matthew Taub) в 1975 году. В алгоритме Тауба под арбитраж выделяются две группы сигнальных линий, доступные всем устройствам на шине. Устройства подключаются к этим линиям по схеме «монтажного ИЛИ». Первая группа служит для передачи сигна­лов синхронизации и управления. Вторую группу линий условно назовем шиной приоритета и обозначим В. В зависимости от принятого числа уровней приоритета эта группа может содержать от 4 до 7 линий. Каждому потенциальному ведущему назначается уникальный уровень приоритета. Приоритет Р представлен ^-разрядным двоичным кодом. Каждому разряду кода приоритета соответствует линия в шине В. Ведущие, претендующие на управление шиной, выдают на шину В свои коды приоритета Р. Дальнейшее поведение ведущих определяется следующим прави­лом: если i-ii разряд кода приоритета равен О (Р i = 0), а на i -й линии шины В в дан­ный момент присутствует единица (В i = 1), то ведущий обнуляет в выставляемом коде все младшие разряды, от 0-го до i - ro. В результате такой процедуры на шине В остается код наивысшего из выставленных приоритетов. Устройство, распознав­шее на шине свой код приоритета, считается выигравшим арбитраж. После завер­шения своей транзакции выигравшее устройство снимает с шины В свой код при­оритета, при этом ситуация на линиях В меняется. Ведущие, претендовавшие на шину, восстанавливают ранее обнуленные разряды, и начинается новый цикл ар­битража.

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...