Научный руководитель: Кожин А.С. Студент: Лавров А.В, ФРТК 816 гр.
Количество ядер – 8 Тактовая частота – не менее 1,0 ГГц L1 кэш Данных – 64 Кбайт Команд – 128 Кбайт L2 кэш – 512 Кбайт L3 кэш – 16 Мбайт Для каждого процессорного ядра Общий для всех ядер
«Эльбрус-2S» MAU – устройство доступа в память (Memory Access Unit) SIC – контроллер системных обменов (System Interchange Controller) Принципиальная схема процессора «Эльбрус-2S»
Функции MAU: 1)Буферизация запросов, выдача ответов в ядро 2)Сбор ответов из Home- процессора и линков 3)Преобразование заявок 4)Уменьшение потока заявок путем их склеивания (объединение нескольких заявок по чтению в одну) Принципиальная схема процессора «Эльбрус-2S» «Эльбрус-2S»
Появление L3 кэша: Сбором ответов из Home-процессора и линков занимается кэш У MAU отсутствует интерфейс с SIC. Необходим новый интерфейс с L3 кэшем Уменьшение объема оборудования: Изменение условий подклейки
Необходимо: Разработать модуль, выполняющий взаимодействие L2 кэша ядра с общим L3 кэшем Сохранить минимальное время прохождения запросов по чтению (проект «Эльбрус-2S» - 2 такта) Уменьшить объем используемого оборудования Упростить интерфейс ядра с L3 кэшем Основные функции контроллера: Буферизация запросов, выдача ответа в ядро, хранение сопровождающей информации Формирование обобщенного когерентного ответа Склеивание заявок на чтение Соблюдение порядка выполнения запросов
Составные части контроллера: 1)LDB – буфер запросов по чтению 2)STB – буфер запросов по записи 3)ARB – арбитр, отслеживающий порядок выполнения запросов
Размер буфера: 32 ячейки Первичная подклейка Вторичная подклейка Очередь ответов: 4 позиции по 4 DW CAM – ассоциативная память CAM0 – соблюдение порядка заявок CAM1 – анализ подклейки
Очередь ответов – 4 позиции по 4 DW. Заменяет буфер сбора ответов, реализованный в MAU «Эльбрус-2S» Конвейер выдачи ответов в ядро Изменение первичной подклейки, оптимизация размера хранимого адреса назначения для запросов Упрощение интерфейса MAU
Размер буфера: 16 ячеек Снупирование STB когерентными запросами из L3 кэша Выдача данных по запросу из L3 кэша (один интерфейс со снуп-запросами) Выдача короткого ответа в L3 кэш
«Эльбрус-2S» Отдельный интерфейс для запросов за данными записи Выдача данных по записи 4 dw / такт «Эльбрус-4С+» Прием запросов за данными записи через интерфейс снуп-запросов Использование синтезированной CAM-памяти Выдача данных по записи - 2 dw / такт – уменьшение суммарной длины связей между ядрами и L3 кэшем на 20%
Глубина очереди FIFO: 48 ячеек В FIFO хранятся номера ячеек STB или LDB При одновременном поступлении запросов приоритет у запроса по чтению выше Реализована схема bypass
Минимальное время прохождения запросов по чтению: 2 такта Прием данных по записи: 4 dw / такт Прием и выдача данных по чтению: 4 dw / такт Минимальная задержка ответа по чтению: 1 такт Выдача данных по записи: 2 dw / такт Кредитный механизм передачи данных между контроллером и L3 кэшем Используются синтезированные блочная память и CAM
Разработано параметризуемое Verilog-описание контроллера обмена между процессорным ядром и общим кэшем 3-го уровня для МП «Эльбрус-4С+» Реализована подклейка запросов по чтению для уменьшения количества запросов в L3 кэш Сохранено минимальное время прохождения запроса по чтению (по сравнению с «Эльбрус-2S») Оптимизационные решения: Упрощен интерфейс ядра с L3 кэшем Сокращена площадь контроллера Уменьшена суммарная длина связей между ядрами и L3 кэшем Проводится автономное тестирование