Isn’t caching much more nuanced, with different tiers (DRAM, local disk, remote disk, etc), and isn’t filling these caches something that happens asynchronously (ie while the GPU is still working on the previous batch) ?
I think reality is much more nuanced than what you’re sketching.