120 likes | 307 Views
Dead Block Replacement and Bypass with a Sampling Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio. Main Idea. Dead blocks Will not be used before they are evicted Can by identified through prediction Dead block replacement and bypass
E N D
Dead Block Replacement and Bypass with a Sampling PredictorDaniel A. JiménezDepartment of Computer ScienceThe University of Texas at San Antonio
Main Idea • Dead blocks • Will not be used before they are evicted • Can by identified through prediction • Dead block replacement and bypass • Replace predicted dead blocks • Quicker than waiting for them to become LRU • Bypass “dead on arrival” blocks
Improves Cache Efficiency – LRU replacement – Dead block replacement and bypass Dead block replacement and bypass improves cache efficiency from 22% to 87% for 456.hmmer
PC-Based Prediction • Memory instruction PC indexes counters • Like a branch predictor • Does this PC lead to block death? • Yes, increment counter • No, decrement counter • Predict this PC will lead to block death? • Yes, if counter exceeds threshold • Based on reference trace predictor
Sampling • Sampler: A few sets of partial tags • Managed by LRU replacement • Keep track of PCs that lead to block death • Generalize predictions to entire cache • In the cache • Only one bit of storage needed per block • Keeps track of latest prediction • Previous schemes need a lot more metadata • Previous predictors would not fit in budget
Tricks • Sampler has lower associativity • 12 in the sampler, 16 in the cache • Sampler uses dead block replacement, too • Learns to replace its own tags more quickly • But the sampler doesn’t bypass itself • Predictor uses skewed indexing • Improves accuracy over using a single table • One table uses resetting counters