2001 · 204 citations · 21 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureSpeculative DesignHardware AccelerationInstruction SchedulingInstruction SelectionInstruction Set ArchitectureInstruction-level ParallelismSpeculative ExecutionMemory PrefetchingPrefetchingPrefetching MechanismsSpeculative OptimizationSpeculative PrefetchingSpeculative SchedulingThread-level Speculation
A large number of memory accesses in memory-bound applications are irregular, such as pointer dereferences, and can be effectively targeted by thread-based prefetching techniques like Speculative Precomputation. These techniques execute instructions, for example on an available SMT thread context, that have been extracted directly from the program they are trying to accelerate. Proposed techniques typically require manual user intervention to extract and optimize instruction sequences. This paper proposes Dynamic Speculative Precomputation, which performs all necessary instruction analysis, extraction, and optimization through the use of back-end instruction analysis hardware, located off the processor's critical path. For a set of memory limited benchmarks an average speedup of 14% is achieved when constructing simple p-slices, and this gain grows to 33% when making use of aggressive optimizations. 1.
21
Dean M. Tullsen, Susan J. Eggers, Henry M. Levy · 1995 · 1.4K citations · Full text
Dean M. Tullsen, Susan J. Eggers, Joel Emer et al. · 1996 · 782 citations
Prefetching using Markov predictors
Doug Joseph, Dirk Grunwald · 1997 · 503 citations · Full text