Рассматриваются проблемы пропускной способности в кэшах современных микропроцессоров. Приводится обзор устройства выходного потока данных кэша L2 системы на кристалле «Эльбрус-2S». Излагается алгоритм управления потоком.
Процессорное ядро разрабатываемого ЗАО «МЦСТ» четырёхъядерного микропроцессора (системы на кристалле, СНК) «Эльбрус-2S» имеет двухуровневую иерархию кэш-памяти, включающую раздельные кэши команд и данных в структуре L1 и общий кэш команд-данных в структуре L2. Целью описанного в статье проекта было повышение эффективной пропускной способности кэш-памяти L2, в первую очередь обусловленное VLIW-архитектурой микропроцессора, которая при ширине команды до 64 байтов предполагает большое число стандартных обращений в память по чтению. Помимо этого, кэш L2 обслуживает заявки от кэша L1, устройства трансляции адресов (Translation Lookaside Unit, TLU), а также запросы на подкачку кода от буфера команд (Instruction Buffer, IB). Дополнительную нагрузку по чтению создаёт техника спекулятивной подкачки кода, задаваемая компилятором, и асинхронная предподкачка массивов с использованием устройства Array Access Unit (AAU).
В архитектуре «Эльбрус», как и в других архитектурах процессоров общего назначения (фирмы Intel, AMD), максимальная пропускная способность кэша L2, определяемая шириной выходного канала, составляет 32 байта/такт, что является одним из «узких мест» в системе. Поэтому с точки зрения пропускной способности важную роль играет эффективность, с которой выполняется арбитраж доступа запросчиков к выходной шине чтения. В новой версии ядра «Эльбрус», используемой в СНК «Эльбрус-2S», был разработан и реализован описываемый в данной статье алгоритм арбитража, действующий также и для шины вытеснения модифицированных данных в память (write back).
Подробнее... Загрузить файл ![]()
Содержание:
Введение
1. Принципы и проблемы организации доступа к выходным шинам данных кэша L2
2. Основные механизмы доступа к выходным шинам данных кэша L2 в микропроцессоре «Эльбрус-2S»
Алгоритм арбитража выходных шин с учётом предистории
Динамическое распределение приоритетов между подкачкой кода и чтениями данных
Арбитраж запросов подкачки кода – техника Critical Word First
Отмена арбитража для запросов с промахом в кэш
3. Экспериментальные результаты
Литература
