A Time-predictable Branch Predictor

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedings – Annual report year: 2019Researchpeer-review

Standard

A Time-predictable Branch Predictor. / Schoeberl, Martin; Rouxel, Benjamin; Puaut, Isabelle.

Proceedings of the ACM Symposium on Applied Computing. Vol. F147772 Association for Computing Machinery, 2019. p. 607-616.

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedings – Annual report year: 2019Researchpeer-review

Harvard

Schoeberl, M, Rouxel, B & Puaut, I 2019, A Time-predictable Branch Predictor. in Proceedings of the ACM Symposium on Applied Computing. vol. F147772, Association for Computing Machinery, pp. 607-616, 34th Annual ACM Symposium on Applied Computing, Limassol, Cyprus, 08/04/2019. https://doi.org/10.1145/3297280.3297337

APA

Schoeberl, M., Rouxel, B., & Puaut, I. (2019). A Time-predictable Branch Predictor. In Proceedings of the ACM Symposium on Applied Computing (Vol. F147772, pp. 607-616). Association for Computing Machinery. https://doi.org/10.1145/3297280.3297337

CBE

Schoeberl M, Rouxel B, Puaut I. 2019. A Time-predictable Branch Predictor. In Proceedings of the ACM Symposium on Applied Computing. Association for Computing Machinery. pp. 607-616. https://doi.org/10.1145/3297280.3297337

MLA

Schoeberl, Martin, Benjamin Rouxel and Isabelle Puaut "A Time-predictable Branch Predictor". Proceedings of the ACM Symposium on Applied Computing. Association for Computing Machinery. 2019, 607-616. https://doi.org/10.1145/3297280.3297337

Vancouver

Schoeberl M, Rouxel B, Puaut I. A Time-predictable Branch Predictor. In Proceedings of the ACM Symposium on Applied Computing. Vol. F147772. Association for Computing Machinery. 2019. p. 607-616 https://doi.org/10.1145/3297280.3297337

Author

Schoeberl, Martin ; Rouxel, Benjamin ; Puaut, Isabelle. / A Time-predictable Branch Predictor. Proceedings of the ACM Symposium on Applied Computing. Vol. F147772 Association for Computing Machinery, 2019. pp. 607-616

Bibtex

@inproceedings{d3283cc3fecb4df49beda351ee7112d8,
title = "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.",
keywords = "Real-time systems, Worst-case execution time",
author = "Martin Schoeberl and Benjamin Rouxel and Isabelle Puaut",
year = "2019",
doi = "10.1145/3297280.3297337",
language = "English",
isbn = "9781450359337",
volume = "F147772",
pages = "607--616",
booktitle = "Proceedings of the ACM Symposium on Applied Computing",
publisher = "Association for Computing Machinery",
address = "United States",

}

RIS

TY - GEN

T1 - A Time-predictable Branch Predictor

AU - Schoeberl, Martin

AU - Rouxel, Benjamin

AU - Puaut, Isabelle

PY - 2019

Y1 - 2019

N2 - 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.

AB - 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.

KW - Real-time systems

KW - Worst-case execution time

U2 - 10.1145/3297280.3297337

DO - 10.1145/3297280.3297337

M3 - Article in proceedings

SN - 9781450359337

VL - F147772

SP - 607

EP - 616

BT - Proceedings of the ACM Symposium on Applied Computing

PB - Association for Computing Machinery

ER -