A Time-predictable Branch Predictor

Abstract : Long pipelines need good branch predictors to keep the pipeline running. Current branch predictors are optimized for the average case, which might not be a good fit for real-time systems and worst- case execution time analysis. This paper presents a time-predictable branch predictor co-designed with the associated worst-case execution time analysis. The branch predictor uses a fully-associative cache to track branch outcomes and destination addresses. The fully-associative cache avoids any false sharing of entries between branches. Therefore, we can analyze program scopes that contain a number of branches lower than or equal to the number of branches in the prediction table. Experimental results show that the worst-case execution time bounds of programs using the proposed predictor are lower than using static branch predictors at a moderate hardware cost.
Complete list of metadatas

Cited literature [23 references]  Display  Hide  Download

https://hal.inria.fr/hal-01976187
Contributor : Isabelle Puaut <>
Submitted on : Wednesday, January 9, 2019 - 6:49:18 PM
Last modification on : Thursday, February 7, 2019 - 3:32:41 PM

File

branchpred.pdf
Files produced by the author(s)

Identifiers

Citation

Martin Schoeberl, Benjamin Rouxel, Isabelle Puaut. A Time-predictable Branch Predictor. SAC 2019 - 34th ACM/SIGAPP Symposium on Applied Computing, Apr 2019, Limassol, Cyprus. pp.1-10, ⟨10.1145/3297280.3297337⟩. ⟨hal-01976187⟩

Share

Metrics

Record views

122

Files downloads

155