Я делаю некоторые эксперименты на NBDCache Rocket Chip.Я хочу изменить размер строки кэша и проиллюстрировать компромисс между повышением производительности и затратами на хранение в кэше L1.
Как я выяснил, значение по умолчанию для строки кэша в чипе ракеты составляет 64 бита, чтоотносительно небольшой.Я попытался изменить размер строки кэша с помощью параметров, определенных для WithNBigCores в subsystem / config.scala, но при компиляции нового кода я получил следующее утверждение:
[error] Caused by: java.lang.IllegalArgumentException: requirement failed: rowBits(256) != cacheDataBits(64)
Я ищу процесс измененияразмер строки кэша в Rocket Chip.
class WithNBigCores(n: Int) extends Config((site, here, up) => {
case RocketTilesKey => {
val big = RocketTileParams(
dcache = Some(DCacheParams(
rowBits = 256 // site(SystemBusKey).beatBits,
nMSHRs = 1,
...
)))
}
})