A Time-predictable Branch Predictor

Martin Schoeberl, Benjamin Rouxel, Isabelle Puaut

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

235 Downloads (Pure)


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.

Original languageEnglish
Title of host publicationProceedings of the ACM Symposium on Applied Computing
Number of pages10
PublisherAssociation for Computing Machinery
Publication date2019
ISBN (Print)9781450359337
Publication statusPublished - 2019
Event34th Annual ACM Symposium on Applied Computing - Limassol, Cyprus
Duration: 8 Apr 201912 Apr 2019


Conference34th Annual ACM Symposium on Applied Computing
SponsorAssociation for Computing Machinery


  • Real-time systems
  • Worst-case execution time


Dive into the research topics of 'A Time-predictable Branch Predictor'. Together they form a unique fingerprint.

Cite this