Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемПолина Щетинина
1 Устройство обмена с оперативной памятью системы на кристалле "Эльбрус-S"
2 Core L2 MAU Эльбрус Chipset 0.13 um 300 MHz Core L2 MAU Memory 100 MHz 1.6/3.2 GB/s
3 Эльбрус-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
4 Задача: Разработка MAU для новой системы с обеспечением максимально возможной эффективности доступа к памяти Требования: Поддержка когерентности Максимальная пропускная способность Минимальное время доступа
5 Структурная схема CPU MC#1 i/oLink ALink BLink C Chipset ST Buff ST Data LD Buff LD Data KM MAU MC#2
6 Операция Load Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset Core L2 MAU Chipset Memory
7 Для завершения LD необходимо: Собрать когерентные ответы Принять данные Взять из LDB сопровождающую информацию и отдать с ней данные в процессор Требования к буферу: Параллельный асинхронный приём данных и когерентных ответов со всех направлений Приоритет данных из кэшей над данными из памяти Максимально быстрая выдача данных в процессор на основе собранной информации Буфер приёма данных и сбора когерентных ответов
8 Буфер приёма данных и сбора когерентных ответов (принятая схема) 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 приоритет
9 Пропускная способность Запросы по чтению – 32 или 64 байт за такт (16 или 32 ГБ/с) Приём данных процессором – 32 байт за такт (16 ГБ/с) Приём данных MAU: из памяти – 8 ГБ/с из линков – по 2 ГБ/с из ввода-вывода – 1 ГБ/с на практике - в сумме не более ~12 ГБ/с Лишние запросы нехватка ПСП + доп. задержки в линках Необходима оптимизация работы LDB
10 LDB CPU MRQ LDB Addrdst03dst47 Chipset LD Data 24
11 Оптимизация работы LDB «Эльбрус»: Возможность подклеивания заявок: не требующих нового обращения в память (за 4xDW) не требующих тех же DW Задача – добавить возможность подклеивания заявок, запрашивающих пересекающиеся группы DW += LDB
12 Решение – буфер виртуальных заявок Типы входящих в LDB заявок: обычная – заведение новой строки, запрос в память за 4xDW или 8xDW подклеиваемая – добавление значимостей DW и соотв. DST в имеющуюся строку вторичная – новый тип, заведение новой строки без запроса в память Аппаратная реализация: введение в LDB битов вторичности запросов (для блокирования ухода таких заявок в память) и сигналов заведения вторичных строк буфер вторичных заявок - ссылок на исходные строки LDB для вторичных строк LDB поддержка буфером приёма данных удержания данных на своём выходе по сигналу из буфера вторичных заявок
13 Схема взаимодействия LDB, буфера приёма данных и буфера вторичных заявок Буфер данных data_out номер первичной строки Буфер вторичных заявок hold LDB информация о заведении номер текущей вторичной строки destination
14 Задержки в LDB, STB – примерно 3 такта (физические) + ожидание в очереди Буфер приема данных (до оптимизаций): задержка данных на входных регистрах -1-2 для MC, 1-7 для линков, 1-8 для I/O задержка на принятие решения – 1 такт (физическая) ожидание выдачи из-за одновременного возникновения готовности нескольких строк - 0-?
15 Задержка на входных регистрах Приоритетная схема необходима для избежания переполнения, либо требуется более сложный механизм увеличение задержки и площади Однако не учитывает ни время ожидания, ни готовность по когерентным ответам доп. задержка при интенсивном приходе данных (0-7 тактов) mc0mc1link0link1link2 in_regs приоритет I/O
16 Решение Байпас значимостей готовностей по данным Внеочередная запись в массив данных Запись «приоритетных» данных на регистр «внеочередного» источника Результат: + Динамика заполнения регистров не меняется + Задержка на регистрах на итоговую задержку не влияет - Данные из массива можно получить только через 3 такта после принятия решения
17 Временная диаграмма работы буфера приёма данных и сбора когерентных ответов такты ЦП Данные в ЦП Чтение из массива чёт номер строки для выдачи готовность по данным готовность по ответам Внеочередная запись в массив hold и вторичные строки адреса назначения из LDB Адреса назначения в ЦП hold и вторичные строки Потребовался ещё 1 такт задержки данных на выходе буфера. Но ЦП всё равно принимает данные только через 2 такта после адресов. Общая задержка не увеличилась нельзя! регистрыивходырегистрыивходы
18 Проблема выбора строки из множества готовых Готовность по данным – до 6 строк одновременно Готовность по ответам – до 6 строк одновременно Итого 12 + накопленные ранее. Неадекватный выбор разброс времени доступа Приоритет по номеру: + простота, минимальные задержки и площадь - возможность «зависания» некоторых строк Решение #1 – приоритет по номеру, смещающийся по счётчику (простое). Решение #2 – приоритет по очерёдности поступления запроса (сложное). Оба оказались реализуемыми, тема для отдельного исследования.
19 Результаты Разработано verilog-описание MAU, удовлетворяющее поставленным требованиям и решающее поставленные задачи Начата отладка и физдизайн
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.