2021 · 31 citations · 72 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureOperating SystemsBranch PredictionCachingInstruction Set ArchitectureInstruction-level ParallelismMemory Hierarchy OptimizationSpeculative ExecutionBranch Target BuffersCache PrefetchingInstruction Cache BehaviorPrefetchingPrefetching MechanismsPrefetching StrategiesProcessor Front-end BottlenecksSpeculative Prefetching
Modern data center applications have deep software stacks, with instruction footprints that are orders of magnitude larger than typical instruction cache (I-cache) sizes. To efficiently prefetch instructions into the I-cache despite large application footprints, modern server-class processors implement a decoupled frontend with Fetch Directed Instruction Prefetching (FDIP). In this work, we first characterize the limitations of a decoupled frontend processor with FDIP and find that FDIP suffers from significant Branch Target Buffer (BTB) misses. We also find that existing techniques (e.g., stream prefetchers and predecoders) are unable to mitigate these misses, as they rely on an incomplete understanding of a program’s branching behavior.
72
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · ACM SIGPLAN Notices · 2005 · 3.2K citations
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · 2005 · 2.3K citations
Stephen M. Blackburn, Robin Garner, Chris Hoffmann et al. · 2006 · 1.6K citations · Full text
Branch Prediction Strategies and Branch Target Buffer Design
Evaluating associativity in CPU caches
Alan Jay Smith · IEEE Transactions on Computers · 1989 · 607 citations · Full text