Арбитры в мультипроцессорных системах
Mar 15, 2016
Арбитры в мультипроцессорных системах
Арбитры• Используются для разрешения конфликтных
ситуаций на аппаратном уровне• Арбитры принимают от процессоров сигналы
требования доступа ri и формируют сигналы предоставление доступа qi.
• Основная задача при получении нескольких сигналов требования доступа сформировать один сигнал предоставление доступа.
• Арбитры:• Децентрализованные – отдельные блоки, входящие
в состав ПМ.• Централизованные – реализованы в виде одного
устройства.
• Централизованные арбитры реализуют различные дисциплины обслуживания очередей.
• Каждый ПМ связан с арбитром собственными линиями требования/предоставления доступа.
• Преимущество – высокие функциональные возможности.• Недостатки • высокая аппаратурная сложность устройства, большое
количество линий связи, • большая длительность цикла арбитража, • сложности с масштабированием системы, • наращивание количества процессоров влечет за собой
изменение аппаратурных средств и алгоритма управления устройства.
A
ПМ1
r1 g1
ПМn
rn gn
ПМ2
r2 g2
...
• Распределенный арбитр представляет собой отдельные блоки встроенные в ПМ, функционирование основано на принципе приоритетных цепочек.
• Преимущества• простота реализации, • простота наращивания процессорных модулей, • соответствие концепции модульной архитектуры.• Недостатки• высокое время обслуживания требований доступа, • невозможность реализации дисциплин обслуживания очередей. • реализация географических приоритетов, т.е. чем дальше ПМ расположен от
начала цепочки, тем меньше шансов обслуживания, при высокой интенсивности требований доступа наиболее удаленные П могут оказаться в тупиковой ситуации и не получить доступа вообще.
• Повышение производительности – реализация динамических приоритетов
A
ПМ1 ПМnПМ2 ...A A
CШ
Организация приоритетной цепочки
ПМ1 ПМnПМ2
...
CШ
r1 g1 rn gnr2 g2ТД
ПД
Распределенный арбитр с фиксированными приоритетами
CШ
A
ПМ1
r1 g1
&
&
bs
A
ПМ2
r2 g2
&
&
A
ПМn
rn gn
&
&“1”
Синтез
A
ПМ1
r1 g1
БА
&
bso
“1”
bsi
di do
A
ПМ1
r1 g1
БА
&
bsobsi
di do
ri
ri, di, bsi
ri
ria1 a2
bso, qi
Ожидание
Захват шиныПередача данных
Принцип функционированияri – требование доступа. bsi – входной сигнал, 1 – шина занята, 0 – шина свободнаbso – выходной сигнал, 1 – захвачена, 0 – свободнаdi / do - входной / выходной сигнал цепочкиqi – предоставление доступа
Распределенный арбитр с динамическими
приоритетами
A
ПМ1
r1 g1
БА
&
bsobsi
di do1
A
ПМ1
r1 g1
БА
&
bsobsi
di do1
st1 st2
...
...
«1»
1
0
ri
ri, di, bsi
ri
ri
a1
a2
bso, qi
a3
st
ri, bsibsi
А1 – пассивное состояние, ожидание сигнала ТД, или ожидание обслуживания по цепочке. А2 – захват шины, передача данных через системную шину.А3 – процессор сбрасывает сигнал ТД и переходит в состояние – максимальный приоритет (начало цепочки).
st – установка максимального приоритета
Управляющий автомат
• Тип автомата: Мили • Мура • Способ управления: Синхронный • Асинхронный• Метод синтеза: • Временные функции• Декомпозиция триггеров
Централизованные арбитры
• метод приоритетной цепочки• метод индивидуального обслуживания
заявок• метод циклического обслуживания
заявок
Метод приоритетной цепочки• Преимущества, малое количество связей простота
наращивания процессорных модулей, концепция модульной архитектуры
• Недостатки, географические приоритеты
A
ПМ1
r1 bs
ПМn
rn bs
ПМ2
r2 bs
...
rbs
q
Метод циклического обслуживания запросов
• Решает проблему уменьшения количества линий связи, уменьшает длительность процесса арбитража, по отношению к распределенными арбитрами, возможна реализация как фиксированных так и динамических приоритетов.
A
ПМ1
r1 bs
ПМn
rn bs
ПМ2
r2 bs
...
rbsq
s
q1 q2 qn
CT
r – монтажное И, линия требования прерывания ТП, поступает на вход арбитра;
bs – монтажное И, линия блокирования СШ
q – s-розрядный код.
Синтез централизованного арбитра
• Реализация по методу циклического опроса запросов. • Тип управляющего автомата - синхронный, Мура• Метод временных функций / метод декомпозиции триггеров
ri, bs
ri, bs
bs
bs
a1
a2
CT+1
a3
CT=0
Состояние ожидания(нет запроса или шина
занята)
Есть запрос, шина свободна
Состояние счета и выдачи кода ПМ, пока шина свободна. ПМ узнает свой код и захватывает шину
При захвате шины, сброс счетчика
Кодирование состояний
ri, bs
ri, bs
bs
bsa1 a2
CT+1
a3
CT=0α
, c
, c
c
c
c
c
00 01
1110
Комбинационная схема автомата
&
&
&
&
&
&Reset
Clk
bs
r
&Q2
&Q1
&
&
CT+1
CT=0
Синтез счетчика
ACT s
qReset
Clk
bs
rQ2
Q1
CT+1
CT=0
&
CT=0
CT+1
Счетчик считает в коде Грея01326754
12131514101198
0110011001100110
0011110000111100
0000111111110000
0000000011111111
Реализация управления в арбитрах
Распределенныеарбитры
Централизованныеарбитры
Синхронныеавтоматы
Асинхронныеавтоматы
–+
++
Метод временных
функций
Метод декомпозиции
триггеров
Синхронизация в каждом арбитре своя, необходимость общей
синхронизации
Реализация динамического приоритета в централизованных арбитрах
ri, bs
ri, bs
bs
bs, a1 a2
CT+1
a3
α
, c
, c
c
c
c
00 01 11
10
bs, c
Состояние счета
• Динамический приоритет реализован за счет отсутствия сброса счетчика, при выдаче очередного запроса на прерывание на линию ТП – последнее обслуженное устройство имеет максимальный приоритет
• Реализация по методу циклического опроса запросов. • Тип управляющего автомата - синхронный, Мура• Метод временных функций
Дополнительная вершина
Синтез централизованного арбитра• Альтернативный способ эффективный при небольшом
количестве процессоров, имеет низкие аппаратурные затраты за счет отсутствия счетчика
• Реализация по методу циклического опроса запросов. • Тип управляющего автомата - асинхронный, Мура• Метод временных функций
ri, bs
ri, bs
bs
a2 a3
011
a4
010
Начальное состояние, сброс счетчика
Шина занята, запроса нет
Захват шины, сброс счетчика
a1
000
001
a4
110
ri, bs
ri, bs
ri, bs
bs
bsbs
Таблица переходов автоматаПС -> СП ПС СП ri bs F3 G3 F2 G2 F1 G1
a1 -> a2 000 001 1 0 0 0 0 0 1 0
a2 -> a3 001 011 1 0 0 0 1 0 0 0
a3 -> a1 011 000 – 1 0 0 0 1 0 1
a3 -> a4 011 010 1 0 0 0 0 0 0 1
a4 -> a1 010 000 – 1 0 0 0 1 0 0
a4 -> a5 010 110 1 0 1 0 0 0 0 0
a5 -> a1 110 000 – 1 0 1 0 1 0 0
a5 -> a2 110 001 1 0 0 1 0 1 1 0
a2 -> a1 001 000 – 1 0 0 0 0 0 0
bsriQQQF 3233 set)GiQ(FiQ tt Re1
Синтез централизованного арбитра с динамическими приоритетами
• Реализация по методу циклического опроса запросов. • Тип управляющего автомата - синхронный, Мура• Метод временных функций / метод декомпозиции триггеров
ri, bs
bs
a1 a2
10
a3
01
00
ri, bs
ri, bs
ri, bs
bsbs
a3
11
ri
ri
bs
ri
ri
Арбитры с индивидуальным обслуживанием запросов
A
ПМ1
r1 bs
ПМn
rn bs
ПМ2
r2 bs
...
rbs
q1
q2
qn
...
Программная реализация алгоритмов
обслуживания очередей
Аппаратная реализация алгоритмов
обслуживания очередей
КонтроллерыСпециализированные схемы на ПЛИС
Пример аппаратной реализации арбитра с индивидуальным обслуживанием
запросовRG
rс
{q}
Q
CD38 3
DC8
MS
3
1
УА
rс
rа rа
Q
{r}
w
Есть запрос прерывания
Cнято требование прерывания
Приоритетныйшифратор
ra
ra, rc
rca1 a2
W=1
Ожиданиенет требования
прерыванияЗапись в регистр
ra
W=0
Управление записью в регистр
МНОГОМАГИСТРАЛЬНЫЕ СИСТЕМЫ
• повышение эффективности обмена информацией, • большие возможности в плане реконфигурации систем,• требует больших аппаратурных затрат.
ЛМ1
ЛМ2
ЛМn
СМ1 СМ2 СМn
I/O I/O I/O
LM1
LM2
LMn
CPU1
CPU2
CPUn
...
...GM1 GM2 GMn
• Основные особенности мультипроцессорной системы – обеспечение доступа к системной магистрали и средства коммутации обеспечивающие отключение устройств от системной шины – реконфигурацию системы.
Арбитры + селектор адреса
Специальные управляющие регистры (запись команды) + коммутаторы управляемые этими командами
Реконфигурация системы
Интерфейс
РС
РУК
УДСМ УДЛМ Окно
К
КПЛПЦПКППТП
СМ
ЛМ
РУ
Бит отключения процессорного блока
Бит отключения ЦП
P
1
1
AR1
ARn...
RDM1
RDMn...
AR
RDM
LMi
AE
W
R
GMj
AR
RDM
CA GMk
GMi
...
&
ri
giАрбитр... GMi
AE
W
R
AR
RDM
1
1
1
&
&
&
...
...
...
AE
W
R
AEm
W(i+1)
R(i+1)
r(i+1)
... rm
g(i+1)
... gm
PM(i+1)
GBi
GBj
GBk
...
VCS
VCSg(i+1)
VCSgm
...
GMj
СА GMk
GMi
...
r(i+1)
R
LBi LB(i+1)
PMm
GMj
СА GMk
GMi
...
rm
LBm
&
AE(i+1)
&
AE
PMiAE(i+1)
W(i+1)
R(i+1)
Rm
Wm
AE(i+1)
...
...
...
AE(i+1)
W(i+1)
R(i+1)
Фрагмент вычислительной системы для курсового проекта