Разработка системного коммутатора для микропроцессора «MCST-4R» Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Дипломная работа ЗАО «МЦСТ», 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%. (Измерения производились при критическом целевом трафике!)
Спасибо за внимание!