Even if you know which accesses have a high probability of missing in core or chip cache, it is tricky to write portable software that takes advantage of (switches/branches to other work) the time it takes between prefetch and data available in L1. It is not just architecture specific, or microarchitecture specific, it's chip specific.