Unknown Soldier
Veteran
The cache scrubbers also work in conjunction with the coherency engines as per Cerny to minimise flushing of the GPU caches.Beyond what was stated in Cerny's PS5 presentation, we don't have much more to go on. They allow the IO block in charge of the SSD to inform the GPU of addresses affected by an SSD read. The scrubbers then perform pinpoint invalidations of lines caching those addresses. The specifics of their process is undisclosed.
The volatile flag was a customization for the PS4 GPU's L2, which marked lines dirtied by compute writes so that the eventual cache flush needed to make all results visible to the system would only flush those lines specifically. Whether that carried beyond the PS4 isn't known.
The cache scrubbers do share a similar concept of limiting the number of invalidations. Whether they go further and avoid certain flushes or just lower the overhead of a flush like the volatile flag isn't clear.
"There are coherency engines to assist the co-processors, coherency comes up in a lot of places, probably the biggest coherency issue is stale data in the GPU caches. Flushing all of the GPU caches whenever the GPU is read, is an unattractive option, it could really hurt the GPU performance. So we have implemented a gentler way of doing things, where the coherency engines inform the GPU of the over-written address ranges and custom scrubbers in several dozens of GPU caches, to pin-point eviction in just those address ranges."
Last edited: