Data prefetching is a feature of the P4 that I never got around to discussing in my series on the P4 and G4e (Part IandPart II). I was going to do a third part on the caching subsystems of each processor, but then the school year started and sucked up anything that even looked like free time. But now that I’m taking some time off, I’ve already started work on an article covering CPU caching, with a special focus on the P4 and G4e. This being the case, I read Dean Kent’s recentReal World Tech articleon data prefetching with some interest.

Dean was lucky enough to get hold of an unlocked Coppermine PIII via undisclosed channels, and having overclocked it to 1.2 GHz he was able to pit it directly against a 1.2 GHz PIII Tualatin on the exact same system. Why would he do that?, you ask. Because the main difference between the two processors is that the Tualatin core has data prefetching capabilities like the P4, and by using a suite of memory-intensive benchmarks to compare the performance of two systems that are exactly identical except for the processor cores he was able to gauge the benefits that prefetching provides. Depending on the type of benchmark, his tests showed anywhere from no improvement (on non-data intensive compression benches) to a few percent all the way up to 30% on at least one benchmark.