1997
DOI: 10.1145/239912.239923
|View full text |Cite
|
Sign up to set email alerts
|

Evidence-based static branch prediction using machine learning

Abstract: Correctly predicting the direction that branches will take is increasingly important in today's wide-issue computer architectures. The name program-based branch prediction is given to static branch prediction techniques that base their prediction on a program's structure. In this article, we investigate a new approach to program-based branch prediction that uses a body of existing programs to predict the branch behavior in a new program. We call this approach to program-based branch prediction evidence-based s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
59
0
1

Year Published

2002
2002
2013
2013

Publication Types

Select...
5
3
2

Relationship

0
10

Authors

Journals

citations
Cited by 83 publications
(60 citation statements)
references
References 22 publications
0
59
0
1
Order By: Relevance
“…Calder et al [25] presented a new approach to predict branches for a new program based on behavior of other programs. They used neural networks and decision trees to map static features associated with each branch to a prediction that the branch will be taken, and managed to slightly reduce the branch misprediction rate on a set of C and Fortran programs.…”
Section: Related Workmentioning
confidence: 99%
“…Calder et al [25] presented a new approach to predict branches for a new program based on behavior of other programs. They used neural networks and decision trees to map static features associated with each branch to a prediction that the branch will be taken, and managed to slightly reduce the branch misprediction rate on a set of C and Fortran programs.…”
Section: Related Workmentioning
confidence: 99%
“…Each DRAM cycle, the scheduler randomizes its scheduling decision by picking a random (but legal) command with a small probability (line 7 in Algorithm 1). 7 Optimistic initialization encourages high levels of exploration in the early stages of the execution [42].…”
Section: Balancing Exploration Vs Exploitationmentioning
confidence: 99%
“…The heuristics typically involve surface-level features such as, "if a branch compares a pointer against null or compares two pointers, predict the branch on false condition as taken." Extensions to this work have achieved modest performance improvements by employing a larger feature set and neural network learning [11].…”
Section: Context and Motivationmentioning
confidence: 99%