АРБИТР ШИНЫ

ЦП ВМ86 не имеет средств запроса доступа к шине и распознавания разрешения шины. Эти функции выполняет БИС арбитра шины ВБ89. Работая совместно с контроллером шины и контроллером приоритетов, арбитр шины управляет доступом к шине своего ведущего. Арбитр шины дешифрирует состояния микропроцессора ^S2-^S0, вырабатывает управляющие сигналы для организации доступа к шине и управляет контроллером шины.

Способы подключения арбитра шины на основе приоритетной обработки запросов

С помощью арбитров шины (АШ) в многопроцессорной системе можно организовать следующие подсистемы обработки приоритетов: способами приоритетной цепочки, независимых приоритетов (или последовательного и параллельного разрешения приоритетов) и параллельных циклически изменяемых приоритетов.

Предварительно введем некоторые обозначения, используемые для выводов БИС ВБ89 и их назначение. На рисунках показаны только те сигналы, которые необходимы для понимания логики работы схемы.

^BPRО - выход приоритета шины

^BREQ (ЗШ) - сигнал запроса шины модуля

^BPRN (РШ) - сигнал разрешения захвата системной шины

^CBRQ (ЗШ) - сигнал общего запроса шины (двунаправленный вывод)

^BUSY (ЗАН) - сигнал занятости шины (двунаправленный вывод)

BCLK - вход синхронизации системной шины

^AEN - сигнал разрешения выдачи адреса на шину адреса (~AEN=1, то МА находится в третьем состоянии).

В последовательной схеме выход приоритета шины ^BPRO каждого модуля подключается ко входу разрешения захвата ^BPRN арбитра с более низким приоритетом. Для любого модуля низкий уровень на входе ^BPRN означает, что он имеет наибольший приоритет, а если ^BPRN =1, то модуль не получил разрешения шины и не передает (блокирует) сигнал разрешения на выходе ^BPRO.

 

 

 

 


Таким образом, если нескольким арбитрам необходим доступ к шине, то сигнал высокого уровня на выходе ^BPRO у арбитра с более высоким приоритетом поступит на вход ^BPRN соседнего и запретит арбитрам с меньшим приоритетом захватывать системную шину.

Арбитры с более высоким приоритетом, не использующие СШ, формируют на выходах ^BPRO сигналы низкого уровня и таким образом предоставляют возможность захватить шину арбитрам с более низким приоритетом.

Линии ^CBRQ (общий запрос шины) и ^BUSY (занятость) предназначены для того, чтобы текущий ведущий модуль шины мог освободить шину при поступлении запроса с более высоким приоритетом.

Основным недостатком метода является низкое быстродействие на переключение и возможность перегрузки шины (рекомендуется не более трех модулей за период синхронизации шины BCLK). Кроме того приоритет модуля определяется его местоположением относительно модуля с наивысшим приоритетом и является фиксированным.

Достоинство - не требует дополнительных затрат оборудования.

В схеме с параллельной обработкой приоритетов выходы запроса шины ^BREQi каждого арбитра подаются на приоритетный контроллер, выполненный на основе шифратора приоритетов, выделяющего приоритетный запрос и дешифратора, формирующего сигнал разрешения захвата шины на вход ^BPRNi арбитра (рис.10).

Линии ^CBRQ (общий запрос шины) и ^BUSY (занятость) являются двунаправленными и имеют выход с открытым коллектором.

Любой ведущий модуль с более высоким приоритетом по линии ^BREQi может получить шину с помощью схемы выделения приоритета. В отличие от ранее рассмотренного метода, одновременно с формированием сигнала ^BREQi арбитр выставляет сигнал запроса на линию общего запроса ^CBRQ. После того, как текущий ведущий шины с более низким приоритетом завершает свой цикл шины, он освобождает шину и снимает сигнал занятости ^BUSY. Запрашивающий ведущий шины, который получает сигнал ^BPRN, формирует сигнал ^BUSY, снимает сигнал запроса с линии ^CBRQ и начинает использовать шину, т.е. состояние линии ~CBRQ показывает на наличие запросов от других модулей с более низким приоритетом.

Арбитр шины допускает создание конфигурации, позволяющей устройствам с меньшим приоритетом получать управление шиной, т.е. прерывать обмен модулей с более высоким приоритетом. Для этих целей арбитр имеет два входа:

ANYRQST - любой запрос. Если к этому входу подключить +5 В, то при появлении любого запроса на линии ^CBRQ, арбитр освобождает системную шину в конце текущего цикла независимо от приоритета арбитра, запросившего шину (как видно, данная процедура аналогична режиму спецмаскирования при работе ПКП ВН59А);

~CRQLCK - блокировка общего запроса шины позволяет арбитру шины игнорировать сигналы на линии ^CBRQ, т.е. при ^CRQLCK=0 запрещает арбитру освобождать шину любому модулю с более низким приоритетом или просто игнорирует запросы по линии ^CBRQ (имеем режим фиксированных приоритетов ВН59А).

 


Для реализации метода вращающихся приоритетов (циклического сдвига) в схему контроллера приоритетов необходимо добавить схему комбинационного сдвигателя и регистра низшего приоритета (разновидность режимов циклического сдвига по типу А ПКП ВН59А), что дает возможность динамически изменять приоритеты путем их циклического сдвига, позволяя каждому арбитру в равной степени использовать системную шину в порядке очередности (рис. 8).

В регистр приоритета заносится либо номер запроса, принятого на обработку для присвоения ему низшего приоритета (режим А), либо можно программно управлять назначением приоритетов.