Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЗахар Строев
1 Разработка контроллера обрабатываемых запросов кэш памяти третьего уровня микропроцессора "Эльбрус-4С+" Студент: Кожин Евгений, группа 713 Научный руководитель: к.т.н. Груздов Ф.А. Московский физико-технический институт (государственный университет) Факультет радиотехники и кибернетики Магистерская диссертация Кафедра информатики и вычислительной техники
2 Точка сериализации Когерентность памяти Атомарность операций с памятью Сериализация запросов к одной и той же кэш-строке Точка сериализации – устройство, обеспечивающее сериализацию запросов по одному адресу. Останавливает обработку следующих запросов до завершения текущего.
3 МП «Эльбрус-2S» как система с одной точкой сериализации Сериализация запросов в SIC Темп обработки – 1 запрос/такт
4 МП «Эльбрус-4С+» 8 процессорных ядер архитектуры «Эльбрус» Общий кэш третьего уровня (L3 кэш) – 16 МБ Использование L3 кэша в качестве уровня сериализации
5 Структурная схема МП
6 Постановка задачи Разработка устройства обработки запросов в L3 кэше (Request In-process Buffer, RIB) Требования: Хранение переходного состояния строки L3 кэша в RIB, а не в памяти L3 кэша Использование RIB в качестве устройства, обеспечивающего сериализацию локальных запросов (от процессорных ядер)
7 Функции RIB Упорядочивание запросов к одной и той же кэш-строке для максимального количества разных адресов Отправка запросов в SIC для получения доступа к кэш-строке Рассылка снуп-запросов в процессорные ядра Отправка ответов на запросы в SIC и ядра Запись нового состояния в память L3 кэша Чтение данных из конвейера данных L3 кэша
8 Расположение RIB в конвейере банка L3 кэша IRQ(girq, lirq) – входые очереди Reqarb – арбитр запросов Tag&State Memory – память тэгов и состояний Tagcmp – сравнение тэгов LDAnalizer – блок анализа состояний Pipe_lru – устройство поиска жертвы для вытеснения Pipe_dm – конвейер данных
9 Прохождение запроса через RIB CAM - Content-addressable memory В памяти L3 кэша не хранится переходное состояние строки Просмотр RIB при прохождении запроса через конвейер Одна запись вместо двух
10 Построение очередей Решение: Запросам в L3 кэше назначаются права на работу с кэш-строкой Полное владение (O) Частичное владение (H) Отсутствие прав, блокировка запроса (B) Проблема двух точек сериализации: Локальный запрос блокирует адрес в L3 кэше и посылает запрос в SIC В это же время глобальный запрос из другого МП блокирует адрес в SIC и посылает снуп-запрос в L3 кэш
11 Примеры построения очередей
12 Оптимизации Очереди запросов по чтению. Данные выдаются запросчику до прихода ответа о получении данных предыдущим запросчикам –Минимальная задержка между последовательными чтениями – 2 такта Проблема гонки запросов Invalidate. Строка находится в L3 кэше. Ядро хочет получить права на запись строки. Посылается в SIC запрос Invalidate. В этот момент глобальный запрос отнимает данные из L3 кэша. Решение раньше – превращение Invalidate в Read&Invalidate в SIC Решение сейчас – отслеживание типа ответов от SIC –Уменьшение нагрузки на котроллер памяти и трафика данных
13 Результаты работы Разработан контроллер обрабатываемых запросов кэш памяти третьего уровня микропроцессора "Эльбрус-4С+" –Обеспечение сериализацию локальных запросов –Реализация протокола переходных состояний кэш-строк L3 кэша –Емкость 32 запроса –Работа на частоте 1300 MHz (28 нм) Проведена автономная верификация и верификация в составе МП Проводится верификация на прототипе
14 Спасибо за внимание
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.