Устройство обмена с оперативной памятью системы на кристалле "Эльбрус-S"

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



Advertisements
Похожие презентации
Научный руководитель: Кожин А.С. Студент: Лавров А.В, ФРТК 816 гр.
Advertisements

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

Устройство обмена с оперативной памятью системы на кристалле "Эльбрус-S"

Core L2 MAU Эльбрус Chipset 0.13 um 300 MHz Core L2 MAU Memory 100 MHz 1.6/3.2 GB/s

Эльбрус-S Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset 0.09 um 500 MHz Memory 8 GB/s2 GB/s

Задача: Разработка MAU для новой системы с обеспечением максимально возможной эффективности доступа к памяти Требования: Поддержка когерентности Максимальная пропускная способность Минимальное время доступа

Структурная схема CPU MC#1 i/oLink ALink BLink C Chipset ST Buff ST Data LD Buff LD Data KM MAU MC#2

Операция Load Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset Memory

Для завершения LD необходимо: Собрать когерентные ответы Принять данные Взять из LDB сопровождающую информацию и отдать с ней данные в процессор Требования к буферу: Параллельный асинхронный приём данных и когерентных ответов со всех направлений Приоритет данных из кэшей над данными из памяти Максимально быстрая выдача данных в процессор на основе собранной информации Буфер приёма данных и сбора когерентных ответов

Буфер приёма данных и сбора когерентных ответов (принятая схема) 48 4xDW mc0mc1link0link1link2 mem 64 data[63:0] 4 tag 11 cp 6 num coh 69 4x rq in_regs ready release ответ о завершении ackcode 24 когерентные ответы wait приоритет

Пропускная способность Запросы по чтению – 32 или 64 байт за такт (16 или 32 ГБ/с) Приём данных процессором – 32 байт за такт (16 ГБ/с) Приём данных MAU: из памяти – 8 ГБ/с из линков – по 2 ГБ/с из ввода-вывода – 1 ГБ/с на практике - в сумме не более ~12 ГБ/с Лишние запросы нехватка ПСП + доп. задержки в линках Необходима оптимизация работы LDB

LDB CPU MRQ LDB Addrdst03dst47 Chipset LD Data 24

Оптимизация работы LDB «Эльбрус»: Возможность подклеивания заявок: не требующих нового обращения в память (за 4xDW) не требующих тех же DW Задача – добавить возможность подклеивания заявок, запрашивающих пересекающиеся группы DW += LDB

Решение – буфер виртуальных заявок Типы входящих в LDB заявок: обычная – заведение новой строки, запрос в память за 4xDW или 8xDW подклеиваемая – добавление значимостей DW и соотв. DST в имеющуюся строку вторичная – новый тип, заведение новой строки без запроса в память Аппаратная реализация: введение в LDB битов вторичности запросов (для блокирования ухода таких заявок в память) и сигналов заведения вторичных строк буфер вторичных заявок - ссылок на исходные строки LDB для вторичных строк LDB поддержка буфером приёма данных удержания данных на своём выходе по сигналу из буфера вторичных заявок

Схема взаимодействия LDB, буфера приёма данных и буфера вторичных заявок Буфер данных data_out номер первичной строки Буфер вторичных заявок hold LDB информация о заведении номер текущей вторичной строки destination

Задержки в LDB, STB – примерно 3 такта (физические) + ожидание в очереди Буфер приема данных (до оптимизаций): задержка данных на входных регистрах -1-2 для MC, 1-7 для линков, 1-8 для I/O задержка на принятие решения – 1 такт (физическая) ожидание выдачи из-за одновременного возникновения готовности нескольких строк - 0-?

Задержка на входных регистрах Приоритетная схема необходима для избежания переполнения, либо требуется более сложный механизм увеличение задержки и площади Однако не учитывает ни время ожидания, ни готовность по когерентным ответам доп. задержка при интенсивном приходе данных (0-7 тактов) mc0mc1link0link1link2 in_regs приоритет I/O

Решение Байпас значимостей готовностей по данным Внеочередная запись в массив данных Запись «приоритетных» данных на регистр «внеочередного» источника Результат: + Динамика заполнения регистров не меняется + Задержка на регистрах на итоговую задержку не влияет - Данные из массива можно получить только через 3 такта после принятия решения

Временная диаграмма работы буфера приёма данных и сбора когерентных ответов такты ЦП Данные в ЦП Чтение из массива чёт номер строки для выдачи готовность по данным готовность по ответам Внеочередная запись в массив hold и вторичные строки адреса назначения из LDB Адреса назначения в ЦП hold и вторичные строки Потребовался ещё 1 такт задержки данных на выходе буфера. Но ЦП всё равно принимает данные только через 2 такта после адресов. Общая задержка не увеличилась нельзя! регистрыивходырегистрыивходы

Проблема выбора строки из множества готовых Готовность по данным – до 6 строк одновременно Готовность по ответам – до 6 строк одновременно Итого 12 + накопленные ранее. Неадекватный выбор разброс времени доступа Приоритет по номеру: + простота, минимальные задержки и площадь - возможность «зависания» некоторых строк Решение #1 – приоритет по номеру, смещающийся по счётчику (простое). Решение #2 – приоритет по очерёдности поступления запроса (сложное). Оба оказались реализуемыми, тема для отдельного исследования.

Результаты Разработано verilog-описание MAU, удовлетворяющее поставленным требованиям и решающее поставленные задачи Начата отладка и физдизайн