Согласованность RISC-V кеша
Для процессора RISC-V Rocket, какую политику записи используют кэши (например, обратная запись + выделение, запись через + отсутствие выделения)? Как кэши L1 остаются связанными с кэшем L2 в RISC-V?
1 ответ
RISC-V - это ISA (архитектура набора команд), а не процессор. Таким образом, ISA ничего не может сказать о политиках обратной записи в кэш или о дизайне когерентности. Эти решения оставлены на усмотрение отдельных групп разработчиков процессоров. На самом деле, им даже не нужны кэши.
Единственное, что RISC-V должен сказать о памяти, это "модель согласованности памяти". В RISC-V используется довольно расслабленная модель согласованности, и поэтому два потока RISC-V могут видеть две разные последовательности / чередования операций с памятью (в отличие от "последовательной согласованности", когда все потоки видят одно и то же чередование).
Редактировать (теперь, когда вопрос проясняется, речь идет только о процессоре Berkeley Rocket):
По состоянию на 9 сентября 2015 года, кэш L1 Rocket имеет обратную запись + выделение. L1 сохраняются согласованными с помощью запросов отслеживания. Каждое ядро Rocket находится на "Rocket Tile", который содержит L1.
Дополнительный L2 находится за пределами Ракетных плиток. Ракетные плитки разрешают доступ к одному L2. L2 включительно и содержит все данные L1. Тем не менее, L2 может содержать устаревшие данные, но если ядро запрашивает эти данные, L2 будет знать, какой L1 содержит текущую копию данных, и отправит запрос на освобождение в зависимости от ситуации.