cva6 icon indicating copy to clipboard operation
cva6 copied to clipboard

cva6_icache: Allow one outstanding killed miss

Open colluca opened this issue 1 year ago • 5 comments

This PR fixes issue https://github.com/openhwgroup/cva6/issues/1785, implementing the same performance enhancement proposed in PR https://github.com/openhwgroup/cva6/pull/1497.

Compared to the latter, it fixes a problematic corner case, which was likely the cause of the regression errors observed.

Said corner case occurred when the following two conditions were met:

  • We incur in a second speculated instruction cache miss during a previous outstanding killed miss
  • Upon branch resolution, the second refill is killed

The second miss brought the I$ in the MISS state, where it was correctly waiting for the previous outstanding killed miss to complete. However, the kill_s2 signal was not being used here, effectively ignoring the branch resolution outcome.

This PR fixes this behaviour by counting the number of outstanding killed miss requests. Max one killed refill can be handled in parallel with other requests. Thus, as the second miss is killed, we stall the cache in the WAIT_MISS state, as originally was the case upon the first killed miss, so long as we don't again have a single outstanding miss.

I ran the smoke-tests locally, as described in the repo's README, and it seems to pass, but I'm not sure I'm doing this correctly.

colluca avatar Feb 05 '24 15:02 colluca

:x: failed run, report available here.

github-actions[bot] avatar Feb 05 '24 15:02 github-actions[bot]

@colluca Nice to see you continue the work on this PR ! I committed the expected Coremark value in your PR, I hope it is ok for you

JeanRochCoulon avatar Feb 05 '24 16:02 JeanRochCoulon

:x: failed run, report available here.

github-actions[bot] avatar Feb 05 '24 16:02 github-actions[bot]

Aie, when FPGA boot is fail, it is a mess. @Gchauvon would you have a root cause input ?

JeanRochCoulon avatar Feb 05 '24 17:02 JeanRochCoulon

:x: failed run, report available here.

github-actions[bot] avatar Feb 05 '24 23:02 github-actions[bot]

👋 Hi there!

This pull request seems inactive. Need more help or have updates? Feel free to let us know. If there are no updates within the next few days, we'll go ahead and close this PR. 😊

github-actions[bot] avatar Mar 07 '24 01:03 github-actions[bot]