Upload
oma
View
67
Download
4
Embed Size (px)
DESCRIPTION
Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Разработка системного коммутатора для микропроцессора « MCST-4R ». Дипломная работа. ЗАО «МЦСТ», 2010г. Назначение системного коммутатора (СК) в МЦСТ -4R. - PowerPoint PPT Presentation
Citation preview
Разработка системного коммутатора для
микропроцессора «MCST-4R»
Выполнил:Студент 415 группы МФТИ Щербина Н.А.
Научный руководитель:Черепанов С.А.
Дипломная работа
ЗАО «МЦСТ», 2010г.
Назначение системного коммутатора (СК) в МЦСТ-4R
• Обеспечение пакетного обмена между локальными абонентами
– L2 кэш контроллером– контроллером когерентности,
CC– IO-зондом, HB
• Поддержка организации 4-х процессорной CC NUMA системы, посредствам обмена через межсистемные LVDS каналы, IP Link
CORE0 CORE1 CORE2 CORE3
L2
System commutator CoherencyController
MemoryController
IPC
C
IPC
C
IPC
C HostBridge IO
CC
IP Link IP Link IP Link IO LinkD
DR
2 SD
RA
M
IPCC – контролер канала межсистемного взаимодействия IOCC – контролер канала ввода/выводаHost Bridge – IO зонд
Основные требования• Минимизация времени прохождения пакетов через
СК
– Обработка СК одиночных запросов в локальную память не более 3-х тактов
– Максимальная задержка прохождения пакетов через СК при рабочей нагрузке (~16%) со стороны L2 – 5 тактов
• Тактовая частота 1ГГц
• Площадь не более 1мм2
• Технология 90нм
Задачи СК• Обслуживание абонентов согласно политике
приоритетов
• Максимальная загрузка выходных портов
• Обеспечение независимости пакетных потоков между различными парами абонентов
• Обеспечение независимости потоков командных пакетов различного типа
Маршрут проектированияОпределение основных
интерфейсов
Создание тестового окружения
Выбор архитектуры коммутатора
Разработка механизма организации очередей
Реализация СК с упрощенной схемой арбитража
Автономная отладка,Измерение
производительности
Варьирование схемы арбитража
Отладка в составе всей системы
Решение задачи независимости потоков данных между различными парами абонентов
Решение задачи независимости потоков командных пакетов различных типов
Оптимизация коммутационной логики с целью обеспечения необходимой производительности при минимальных затратах оборудования
Выбор архитектуры коммутатора
Switch Architecture
Input Queuing
SingleBuffer
MultipleBuffers
SingleQueue
MultipleQueues
Cross-PointBuffers
SharedMultiple-Buffers
Output Queuing(Dedicated Buffers)
Решение задачи независимости потоков данных между различными парами абонентов
Cross-Point Buffers архитектура
• Достоинства– Высокая пропускная способность– Простота реализации– Решение задачи независимости потоков данных между
различными парами абонентов– Подробное описание в литературе
• Недостатки– Большое количество требуемого оборудования– Неэффективное использование буферного пространства
Структура СК
RTBL
Buf
f L
ink
Bu
ff C
C
Buf
f IO
RTBL
Buf
f L
ink
Buf
f L2
Bu
ff I
O
RTBL
Buf
f L
ink
Bu
ff L
2/C
C
RTBLB
uff
Lin
k
Buf
f L
2/C
C
Buf
f IO
RECRTBL
Buf
f L
ink
Bu
ff L
2/C
C
Buf
f IO
RECRTBL
Buf
f L
ink
Buf
f L
2/C
C
Bu
ff I
O
REC
Arb io3x1
Arb link(allocator)
4 X 3
Arb loc(allocator)
4 x 2
MUX Link0 MUX Link1 MUX LINK2 MUX L2 MUX CC MUX IO
Link MUX Link Link MUX L2/CC Link MUX IO
Link In Arb
TR TR TR
From Link0 From Link1 From Link2 From L2 From CC From HB
To Link0 To Link1 To Link2 To L2 To CC To HB
• Распределение входных буферов соответственно группам абонентов-получателей. Критерий объединения в группы – скорость обработки получаемых запросов.
• Разбиение общей коммутационной логики на три независимых арбитра
– арбитр доступа к L2 и CC– Арбитр доступа к HB (IO)– арбитр доступа к линкам
Позволяет, не увеличивая длину внутреннего конвейера, достичь требуемой тактовой частоты
Организация внутренних очередей
• Входной буфер разбивается на три независимые очереди:
– запросы– когерентные запросы– ответы
Конфигурация происходит программным образом путем записи в соответствующие управляющие регистры, с целью обеспечить оптимальное разбиение входных буферов СК непосредственно в готовом кристалле
• Три внутренних конвейера для каждого типа командных пакетов
• Арбитр – обеспечивает доступ к общему каналу для передачи данных
MUX
Mul
tiple
que
ues
buffe
r
PIPE
0
PIPE
1
PIPE
2
Arbiter
Val toout port
Data toout port
Req
From In port
Ctrl
Решение задачи независимости потоков командных пакетов различных типов
Алгоритм работы арбитра(Входные данные)
.001101001
,011011110
,001101010
,010101110
3210
aaaa
210 iiii aaaa
Арбитр линков Arb link (4 x 3)
Источники запросов : 0 – L2 , 1 – CC , 2 - IO , 3 – Link.
Абоненты назначения: 0 – Link0, 1 – Link1, 2 - Link2.
Пусть - матрица запросов i-го абонента, i = 0,1,2,3.
Например Вектор запросов i-го источника в Link1
L2 подаёт запрос на отправку пакета 2-го типа в Link0
Алгоритм работы арбитра(Матрица запросов)
Пусть - вектор возможности абонента принять пакеты трех типов ,где j = 0,1,2.
Например
Можно получить матрицу запросов R, где R[i][j] – означает, что i-ый источник
передает запрос на отправку какого-либо пакета j-ому абоненту.
, где
jb
.001,101,110 210 bbb
Link0 способен принять пакет 0-го типа
.221100
2
2
1
0
bababar
rrrr
R iiii
Алгоритм работы арбитра(Задача назначения)
Исходная задача сводится к задаче назначения.
Дальнейший выбор типов пакетов осуществляется тремя Round-Robin арбитрами.
001111011111
R
001100010000
GAllocator
IO подает запрос на отправку пакета в Link1
IO получает грант на отправку пакета в Link1
Система тестирования
Node0 Node1
Node3 Node2
SystemCommutator
Tem
inal
inst
r
Tem
inal
inst
r
Tem
inal
inst
r
Tem
inal
inst
r
Tem
inal
inst
r
Tem
inal
inst
r
• Формирование входного трафика, задаваемого некоторыми вероятностными параметрами
• Передача необходимых для измерений данных в полях пакетов, не используемых при штатной работе коммутационной среды
• Составление статистики прихода пакетов на выходы коммутационной среды
Система тестирования• Простота реализации
• Тестирование коммутационной среды как на предмет ошибок, так и на производительность
• Возможность создания рабочих ситуаций, трудно реализуемых при верификации СК в составе всей системы
• При жестко фиксированных интерфейсах независимость от внутренней логики функционирования тестируемых модулей
Измерения производительности
0
10
20
30
40
50
60
0 10 20 30 40 50 60 70 80 90 100
0
4
8
12
16
20
24
28
32
0 10 20 30 40 50 60 70 80 90 100
Время прохождения Пропускная способность
Нагрузка, % Нагрузка, %
Врем
я прохождения,
такт
Пропускная способность,
%
Случай общей шины
Случай отдельной шины на каждый тип пакета
Разница в пропускной способности не более 6%
Результаты• Разработан системный коммутатор для микропроцессора «МЦСТ-4R»
– Проведя анализ известных архитектур коммутаторов, выбрана Cross-point buffers архитектура– Разработан механизм организации внутренних очередей– Получен алгоритм работы внутренних арбитров
• Создана rtl-модель системного коммутатора
• При предварительном синтезе в Design compiler получены следующие физические параметры устройства:
– Критическая цепь 1.07нс – Площадь ~0.7мм2
• Разработана система автономного тестирования СК– При последующей верификации устройства в составе всей системы в нем было обнаружено всего 3
ошибки
• На тестовом стенде были получены следующие параметры производительности СК – Время обработки одиночного запроса к локальным абонентам 3 такта– Максимальное время прохождения локального запроса при рабочей нагрузке (16%) - 4 такта.– Максимальная пропускная способность локальных каналов >40%.
(Измерения производились при критическом целевом трафике!)
Спасибо за внимание!