1998
DOI: 10.1145/290409.290411
|View full text |Cite
|
Sign up to set email alerts
|

Using value prediction to increase the power of speculative execution hardware

Abstract: This article presents an experimental and analytical study of value prediction and its impact on speculative execution in superscalar microprocessors. Value prediction is a new paradigm that suggests predicting outcome values of operations (at run-time ) and using these predicted values to trigger the execution of true-data-dependent operations speculatively. As a result, stals to memory locations can be reduced and the amount of instruction-level parallelism can be extended beyond the limits of the program's … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
44
0

Year Published

2001
2001
2017
2017

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 58 publications
(44 citation statements)
references
References 14 publications
0
44
0
Order By: Relevance
“…We adopt some frequently-used and easy-to-implement prediction strategies to detect likely timing errors [9,27,29,38]. These predictors apply the principle of temporal locality for timing errors.…”
Section: Prediction Strategiesmentioning
confidence: 99%
“…We adopt some frequently-used and easy-to-implement prediction strategies to detect likely timing errors [9,27,29,38]. These predictors apply the principle of temporal locality for timing errors.…”
Section: Prediction Strategiesmentioning
confidence: 99%
“…p), or the status of the lock in the case of a locking construct (with do e), is "guessed", or "predicted" -as regards loads from the memory, this is known as value prediction, and was introduced in [11,19]. These guessed values may be written by other threads, which are ignored at this stage.…”
Section: For Any Expression E Of the Run-time Language Either E Ismentioning
confidence: 99%
“…We adopt and extend the approach presented in [7], that is, we define, using a pretty standard operational style, the speculative semantics of an expressive language, namely a call-by-value λ-calculus with mutable state and threads. Our formalization relies on extending the usual notion of an evaluation context [9], and using value prediction [11,19] as regards the values read from the memory. By introducing speculation contexts, we are able to formalize out of order executions, as in relaxed memory models, and also branch prediction [26], allowing to compute in the alternatives of a conditional branching construct.…”
Section: Introductionmentioning
confidence: 99%
“…Another approach in speculative schemes is to predict the values that will result from an operation, usually a load (e.g, [2]). This allows execution to continue without waiting for the result of the instruction, at the cost of more changes to roll back in the case of a misprediction.…”
Section: Out-of-order and Superscalarmentioning
confidence: 99%
“…1.000000 xi (1,3) 1.000000 xi (1,4) 1.000000 xi (1,5) 1.000000 xi (2,6) 1.000000 xi (3,6) 1.000000 xi(0,0)…”
Section: B3 Optimal Integer Linear Programming Solution 183mentioning
confidence: 99%