Разработка модели чипа межкластерной коммутации Выполнил: Куцевол Виталий Научный руководитель: Алексей Мешков Московский физико-технический институт Выпускная.

Презентация:



Advertisements
Похожие презентации
Разработка модулей коммутации данных в микропроцессоре « Эльбрус -4 С +» Выпускная квалификационная работа на соискание степени бакалавра студента 816.
Advertisements

Выполнил: Петрыкин Д.А., ФРТК, 613 гр. Научный руководитель: Слесарев М.В. Выпускная квалификационная работа.
Выпускная квалификационная работа Исаев Михаил, ФРТК, 515 гр. Научный руководитель Сахин Ю. Х. Объединение двух процессорных ядер с архитектурой "Эльбрус"
Научный руководитель: Кожин А.С. Студент: Лавров А.В, ФРТК 816 гр.
Разработка коммутатора сообщений блока регистров и прерываний в кластере «Эльбрус-S» Выполнил: Петроченков М. В. 613 гр. Научный руководитель: Зайцев А.И.
Разработка кэша справочника для вычислительного комплекса на базе микропроцессора Эльбрус – 2S Студент : Петров Игорь, ФРТК, 613 группа Научный руководитель:
Адаптация буферизующего коммутатора данных МП «Эльбрус-S2» Студент: Рогов А.С., ФРТК, 613 гр. Научный руководитель: Костенко В.О. Выпускная квалификационная.
Московский физико-технический институт (государственный университет) Факультет радиотехники и кибернетики Кафедра информатики и вычислительной техники.
Разработка контроллера встроенного интерфейса AXI в составе системы на кристалле «Эльбрус-S2» Студент: Поляков Н.Ю., ФРТК, 515 гр. Научный руководитель:
Устройство обмена с оперативной памятью системы на кристалле "Эльбрус-S"
Доработка контроллера памяти DDR2 SDRAM МП Эльбрус-S для МП Эльбрус-S2 Научный руководитель: Шерстнёв Андрей Кожин Алексей, ФРТК 513 гр.
Разработка интерфейса между системным коммутатором и контроллером памяти с использованием протокола AXI Выпускная квалификационная работа на соискание.
«Очередь запросов к L2 cache системы на кристалле Эльбрус-2S» Выполнил студент: Северенков Е. Научный руководитель: Слесарев М. Выпускная квалификационная.
Разработка контроллера обрабатываемых запросов кэш памяти третьего уровня микропроцессора "Эльбрус-4С+" Студент: Кожин Евгений, группа 713 Научный руководитель:
Реализация справочника для аппаратной поддержки когерентности в ВК Эльбрус-2S Студент: Петров Игорь, ФРТК, 613 группа Научный руководитель: к.т.н. Груздов.
Разработка системного коммутатора для микропроцессора «MCST-4R» Выполнил: Студент 415 группы МФТИ Щербина Н.А. Научный руководитель: Черепанов С.А. Дипломная.
Студент: Неделько Н.В., 913 группа Научный руководитель: Волконский В.Ю. Разработка модулей сопряжения функциональной модели PCI-устройства с RTL-моделью.
Студент: Перов Д.Ю., ФРТК, 816 группа Научный руководитель: д.т.н. Сахин Ю.Х.
Архитектура вычислительной машины (Архитектура ЭВМ) концептуальная структура вычислительной машины, определяющая проведение обработки информации и включающая.
Логическая поддержка когерентности в Эльбрус/МЦСТ-ХR серверах среднего уровня.
Транксрипт:

Разработка модели чипа межкластерной коммутации Выполнил: Куцевол Виталий Научный руководитель: Алексей Мешков Московский физико-технический институт Выпускная квалификационная работа на соискание звания бакалавра

Постановка проблемы. Интерфейсы Эльбрус-3S Микропроцессор Эльбрус-3S содержит следующие интерфейсы : - интерфейс оперативной памяти - три канала межпроцессорного обмена - канал ввода-вывода для соединения Максимальная возможная конфигурация без использования дополнительных средств это кластер - 4 процессора.

Постановка проблемы. Проект Butterfly. Проект «Butterfly» предполагает объединение 16 процессорных модулей Эльбрус-3S в общую систему. Проблема недостающих интерфейсов решена введением чипа межкластерной коммутации (ChipKK). Задачи ChipKK : - поддержать когерентный доступ к оперативной памяти для системы из 16 процессоров на основании снуп-протокола MOESI - минимизировать задержки, связанные с дополнительной аппаратурой и большим количеством процессоров

Цель работы. Цель: -создание программной модели чипа межкластерной коммутации Требования: -совместимость с уже существующей моделью кластера без ChipKK -наличие интерфейсов для подключения модели как в составе программной модели всего проекта «Butterfly», так и для использования при изолированном тестировании -возможность синхронизации с моделью RTL -поддержка существующего функционала (механизмы контроля, сохранения и загрузки состояния, вывода результатов )

Базовые функциональные модули: Migration Cache модуль, ответственный за преобразование идентификаторов(меток) первичных запросов от других кластеров в метки непротиворечивые в пределах своего кластера Directory Cache справочник, хранящий информацию, о копиях данных в других кластерах LinkControllers модули, ответственные за учет и сбор когерентных ответов и формирование обобщенных ответов Range хранит диапазоны оперативной памяти для каждого процессора Route saver модуль, трассирующий не содержащие адреса запросы из кластера-запросчика Receiver совокупность функций, принимающих пакеты LinkQueues очереди готовых к отправке пакетов Структура модели

Структура модели. Функционирование системы.

Структура модели Описание базовых модулей Migration Cache Шаг 1. Выбор свободной метки по чтению(rlabel) из FIFO, хранящего метки для пересадки(размер 32 ячейки * 5 бит) Шаг 2. Сохранение исходной метки из пакета первичного запроса в памяти чужих меток (Memory Initial Labels)по адресу, равному метке по чтению rlabel. Шаг 3. Сохранение метки по чтению rlabel и направления на кластер-запросчик и Home-процессор в памяти своих меток по адресу, равному исходной метке из пакета первичного запроса. Шаг 4 Преобразование пакета для отправки его в Home-процессор. После пересадки новая метка в пакете будет содержать rlabel, номер линка, указывающий на кластер-запросчик, и младший бит номера линка, указывающего на кластер-запросчик. Шаг 5 При отправлении первичного запроса в Home-процессор, копия новой метки передается в CkkLinkController для учета ожидаемых ответов и формирования обобщенного ответа, а также для направления пакета с данными из оперативной памяти и вторичного пакета в кластер- запросчик. Шаг 6. Выделенная метка освобождается при трассировке в Home-процессор пакета, сообщающего о завершении операции чтения. В пределах кластера, сгенерировавшего запрос метка пакета для запроса по чтению формируется из : -номер процессора(2 бита) -признак устройства, обрабатывающего запрос (1 бит) -номер регистра в этом устройстве(5 бит) Метки первичных запросов по чтению, пришедшие из других кластеров могут пересекаться. Migration Cache - модуль, приводящий метки к непротиворечивым, буферизующий исходный метки и восстанавливающий пакеты для отправки обратно.

Структура модели Описание базовых модулей. Directory Cache - имеет структуру 16-ассоциативного кэша размером 4096 строк - предусмотрен буфер для хранения и использования вытесняемых ячеек(64 слота) - заполнение происходит согласно адресу обрабатываемой ячейки оперативной памяти - считывание и запись производятся перед отправкой снуп запросов из домашнего кластера.

Структура модели Описание базовых модулей LinkController LinkController представляет из себя массив из 256 элементов (все возможные идентификаторы), которые содержат количество ожидаемых ответов и итоговый на данный момент ответ (возможно с данными) Range Range кластера состоит из объединения NodeRange каждого процессора, задаваемых параметрами запуска модели. Проверка принадлежности адреса данному кластеру состоит из 4-х проверок принадлежности процессорам Receiver Любой принятый пакет отправляется в receiver, который в зависимости от типа пакета и от определенных полей( например, признак out), распределяет пакеты между устройствами Route Saver Первичные пакеты, направляемые в другой кластер содержат адрес для маршрутизации. Но другие пакеты, вызванные первичным, содержат только уникальную метку, сопровождающую операцию в пределах кластера.Route saver сохраняет направления для восстановления их по метке пакета. Queues Queues в модели организованы по принципу FIFO. Но предусмотрены методы, позволяющие синхронизацию порядка выхода пакетов.

Использование модели В составе программной модели проекта «Butterfly» - окружением являются программные модели процессорных узлов - входные данные последовательность первичных запросов от процессоров, созданная генератором тестов - выходные данные трасса действий в системе, графический вывод последовательности запросов и изменения состояний Цели: -использование в качестве эталонной модели -проверка протокола -тестирование модели ChipKK в программном окружении -проверка корректности работы системы

Использование модели Изолированная модель ChipKK Дополнительные требования: - модель должна иметь интерфейсы, аналогичные RTL модели - необходимы механизмы синхронизации с RTL моделью - возможность своевременной модификации модели Схема использования модели

Характеристики модели - суммарный размер модулей 3500 строк - пиковая производительность100 кГц (на машине Intel(R) Core(TM)2 CPU 2.40GHz) - возможность как включения в состав модели проекта «Butterfly»,так и изолированного тестирования - поддержаны введенные в состав модели «Butterfly» инструменты ( трасса симулятора, графический интерфейс, механизмы проверки корректности работы, сохранение и загрузка состояния) - наличие дополнительных интерфейсов для синхронизации с RTL моделью ChipKK - четкая структура модели, позволяющая дальнейшую модернизацию

Заключение Разработана и эксплуатируется модель, удовлетворяющая поставленным требованиям. Поскольку разработка ChipKK не завершена,на данный момент модель поддерживается и активно модернизируется согласно требованиям потребителей

Спасибо за внимание