170 likes | 355 Views
Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Разработка системного коммутатора для микропроцессора « MCST-4R ». Дипломная работа. ЗАО «МЦСТ», 2010г. Назначение системного коммутатора (СК) в МЦСТ -4R.
E N D
Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Разработка системного коммутатора для микропроцессора «MCST-4R» Дипломнаяработа ЗАО «МЦСТ», 2010г.
Назначение системного коммутатора (СК) в МЦСТ-4R • Обеспечение пакетного обмена между локальными абонентами • L2 кэш контроллером • контроллером когерентности, CC • IO-зондом, HB • Поддержка организации 4-х процессорной CC NUMA системы, посредствам обмена через межсистемные LVDS каналы, IP Link IPCC – контролер канала межсистемного взаимодействия IOCC– контролер канала ввода/вывода Host Bridge– IO зонд
Основные требования • Минимизация времени прохождения пакетов через СК • Обработка СК одиночных запросов в локальную память не более 3-х тактов • Максимальная задержка прохождения пакетов через СК при рабочей нагрузке (~16%) со стороны L2 – 5 тактов • Тактовая частота 1ГГц • Площадь не более 1мм2 • Технология 90нм
Задачи СК • Обслуживание абонентов согласно политике приоритетов • Максимальная загрузка выходных портов • Обеспечение независимости пакетных потоков между различными парами абонентов • Обеспечение независимости потоков командных пакетов различного типа
Маршрут проектирования Решение задачи независимости потоков данных между различными парами абонентов Решение задачи независимости потоков командных пакетов различных типов Оптимизация коммутационной логики с целью обеспечения необходимой производительности при минимальных затратах оборудования
Выбор архитектуры коммутатора Решение задачи независимости потоков данных между различными парами абонентов
Cross-Point Buffersархитектура • Достоинства • Высокая пропускная способность • Простота реализации • Решение задачи независимости потоков данных между различными парами абонентов • Подробное описание в литературе • Недостатки • Большое количество требуемого оборудования • Неэффективное использование буферного пространства
Структура СК • Распределение входных буферов соответственно группам абонентов-получателей. Критерий объединения в группы – скорость обработки получаемых запросов. • Разбиение общей коммутационной логики на три независимых арбитра • арбитр доступа к L2 и CC • Арбитр доступа к HB (IO) • арбитр доступа к линкам Позволяет, не увеличивая длину внутреннего конвейера, достичь требуемой тактовой частоты
Организация внутренних очередей Решение задачи независимости потоков командных пакетов различных типов • Входной буфер разбивается на три независимые очереди: • запросы • когерентные запросы • ответы Конфигурация происходит программным образом путем записи в соответствующие управляющие регистры, с целью обеспечить оптимальное разбиение входных буферов СК непосредственно в готовом кристалле • Три внутренних конвейера для каждого типа командных пакетов • Арбитр – обеспечивает доступ к общему каналу для передачи данных
Алгоритм работы арбитра(Входные данные) Арбитр линков 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-ому абоненту. • , где Link0способен принять пакет 0-го типа
Алгоритм работы арбитра(Задача назначения) • Исходная задача сводится к задаче назначения. • Дальнейший выбор типов пакетов осуществляется тремя Round-Robinарбитрами. Allocator IOподает запрос на отправку пакета в Link1 IOполучает грант на отправку пакета в Link1
Система тестирования • Формирование входного трафика, задаваемого некоторыми вероятностными параметрами • Передача необходимых для измерений данных в полях пакетов, не используемых при штатной работе коммутационной среды • Составление статистики прихода пакетов на выходы коммутационной среды
Система тестирования • Простота реализации • Тестирование коммутационной среды как на предмет ошибок, так и на производительность • Возможность создания рабочих ситуаций, трудно реализуемых при верификации СК в составе всей системы • При жестко фиксированных интерфейсах независимость от внутренней логики функционирования тестируемых модулей
Измерения производительности Случай отдельной шины на каждый тип пакета Время прохождения Пропускная способность Пропускная способность, % Время прохождения, такт Нагрузка, % Нагрузка, % Случай общей шины Разница в пропускной способности не более 6%
Результаты • Разработан системный коммутатор для микропроцессора «МЦСТ-4R» • Проведя анализ известных архитектур коммутаторов, выбрана Cross-point buffers архитектура • Разработан механизм организации внутренних очередей • Получен алгоритм работы внутренних арбитров • Создана rtl-модель системного коммутатора • При предварительном синтезе в Design compiler получены следующие физические параметры устройства: • Критическая цепь 1.07нс • Площадь ~0.7мм2 • Разработана система автономного тестирования СК • При последующей верификации устройства в составе всей системы в нем было обнаружено всего 3 ошибки • На тестовом стенде были получены следующие параметры производительности СК • Время обработки одиночного запроса к локальным абонентам 3 такта • Максимальное время прохождения локального запроса при рабочей нагрузке (16%) - 4 такта. • Максимальная пропускная способность локальных каналов >40%. (Измерения производились при критическом целевом трафике!)