Как изменить размер строки кэша неблокирующего кеша данных в Rocket Chip? - PullRequest
0 голосов
/ 13 октября 2018

Я делаю некоторые эксперименты на 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,
        ...
    )))
  }
})

1 Ответ

0 голосов
/ 30 ноября 2018

Размер строк кэша в Rocket-Chip почти равен 64 байтам (а не 64-битным), как вы сказали.Это не легкая работа, чтобы изменить это.Боюсь, что конфигурируемость в этой части невелика.

Если вам действительно нужно пересмотреть соответствующие места в NBDcache, включая массив данных, часть, связанную с пополнением, все, что связано с размером долиTileLink.

...