Note BTW that the RP2350 is documented as having random cache way allocation (4.4.1.3 in the datasheet, bottom of page 343 in the current-edition PDF).
So the assertion upthread that reading 8MB of data guarantees to flush the cache isn't strictly true - it probably will, but you could get 'lucky' on the random choices and end up not evicting a line.
Presumably the random policy is to get the better worst-case behaviour compared to LRU (which has better average case but bad worst-case). It's not clear how random the random numbers are: although the chip has cyrptographic-strength randomness elsewhere, that's not really needed for this and maybe it uses something simpler.
So the assertion upthread that reading 8MB of data guarantees to flush the cache isn't strictly true - it probably will, but you could get 'lucky' on the random choices and end up not evicting a line.
Presumably the random policy is to get the better worst-case behaviour compared to LRU (which has better average case but bad worst-case). It's not clear how random the random numbers are: although the chip has cyrptographic-strength randomness elsewhere, that's not really needed for this and maybe it uses something simpler.
Statistics: Posted by arg001 — Thu Oct 24, 2024 8:29 am