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.
|
Year | DOI | Venue |
---|---|---|
2019 | 10.1145/3297280.3297337 | SAC |
Keywords | Field | DocType |
real-time systems, worst-case execution time | Pipeline transport,Worst-case execution time,Cache,Computer science,Parallel computing,False sharing,Execution time,Branch predictor | Conference |
ISBN | Citations | PageRank |
978-1-4503-5933-7 | 0 | 0.34 |
References | Authors | |
0 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Martin Schoeberl | 1 | 8 | 5.28 |
Benjamin Rouxel | 2 | 34 | 4.39 |
Isabelle Puaut | 3 | 1708 | 89.84 |