Thank you all for the response.
I have further question.
I have tried changing the cacheability by changing the memory map configuratino in config scala file.
=> MemAttr(AddrMapProt.RWX, true / false)
It builds without any error, but regardless of using true of false, the address region seems to be accessed through the cache.
In both case, first access to every 64byte block takes a long time before it can
be fetched, but within the 64byte block, any later accesses are done in one cycle.
Again, when coming back to pre-executed 64byte block, all the fetches (including the first one) are done within a cycle.
I have also followed the signal to check that the instructions are fetched via the iCache unit.
So my questions is,
1) Does the 'cacheable'/'non-cacheable' attribute work properly in the rocket chip? If not, when will it be fixed to work properly?
2) If yes to 1, why are the instructions being cached regardless of the option I gave?
- is it because the way I put in the option is wrong?
- or, does the instruction cache ignores the cacheability attribute since they are read-only?
Anybody has any idea about this?
Jamie.
2016년 10월 26일 수요일 오전 4시 17분 3초 UTC+9, michaeljclark 님의 말: