Basic properties of program predictability-for both val-ues and control- are dejned and studied. We take the view that program predictability originates at certain points during a program’s execution,Jlows through subsequent in-structions, and then ends at other points in the program. These key components of predictability: generation, prop-agation, and termination; are defined in terms of a model. The model is based on a graph derived from dynamic data dependences and a predictor Using the SPEC95 benchmarks, we analyze the pre-dictability phenomena both separately and in combination. Examples are provided to illustrate relationships between model-based characteristics and program constructs. It is shown that most predictability derives from program control structure and immediate values, not program input data. Furthermore, most predictability originates from a rela-tively small number of generate points. The analysis of ob-tained results suggests a number of ramifications regarding predictability and its use. 1
|764||Structure and Interpretation of Computer Programs - Abelson, Sussman - 1985|
Trace scheduling: A technique for global microcode compaction
...ndant computation by storing precomputed results. Other software approaches that can take advantage of value behavior are specialization by static or dynamic compiZation and software speculation=-=-=- extended to values. 1.3 Paper Overview The paper is organized as follows: Section 2 introduces the model for predictability. Section 3 describes the simulation methodology. Predictability definitions...
|573||Combining branch predictors - McFarling - 1993|
|437||Evaluating Future Microprocessors: The SimpleScalar Toolset
- Burger, Austin, et al.
...dology Trace driven simulation was used to build the DPGs for some of the SPEC95 benchmark programs (all integer and representative floating point.) The simulator is based on the SimpleScalar toolset =-=-=-. Benchmarks were compiled using the gee compiler provided with the toolset using -03 optimization. DPG statistics are shown in Table 1. We note that the ratio of edges to nodes is about 1.5 for integ...
|436||A study of branch prediction strategies - Smith - 1981|
|277||Exceeding the Data-Flow Limit Via Value Prediction - Lipasti, Shen - 1996|
|184||Dynamic instruction reuse - Sodani, Sohi|
|166||Trace processors - ROTENBERG, JACOBSON, et al. - 1997|
|161||Assigning confidence to conditional branch predictions
- Jacobsen, Rotenberg, et al.
...wever, for the potential to be realized, it is imperative to have high prediction accuracy and infrequent misspeculation. Misspeculation can be mitigated somewhat with the use of confidence mechanisms=-=-=-; these are probably essential for effective value prediction and speculation.sRegarding actual sources of value predictability, relatively little has been done. Some anecdotal causes of predictabilit...
|153||Speculative Execution Based on Value Prediction - Gabbay, Mendelson - 1996|
|146||Two-Level Adaptive Branch Prediction - Yeh, Patt - 1991|
|83||A load-instructions unit for pipelined processors - Eickemeyer, Vassiliadis - 1993|
Value locality and data speculation
- Lipasti, Wilkerson, et al.
...rformance processor being sold today. Recent results suggest that instructions exhibit data locality, that is, they tend to produce values from the same (often small) set a large fraction of the time =-=[lo]-=-. Although locality by itself can be insufficient for predictability, its presence spurred the development of a number of value predictors that have accomplished increasingly higher prediction accurac...
|22||Implementations of context-based value predictors - Sazeides, Smith - 1997|
A Uniform Approach for Compile and Run-time Specialization
- Consel, Hornof, et al.
...an be used to eliminate redundant computation by storing precomputed results. Other software approaches that can take advantage of value behavior are specialization by static or dynamic compiZation=-=-=- and software speculation extended to values. 1.3 Paper Overview The paper is organized as follows: Section 2 introduces the model for predictability. Section 3 describes the simulation methodology...
Writing ESJicient Programs
...h the same inputs at some time in the past. The concept of reuse is similar to memoization [ 11, a software technique that can be used to eliminate redundant computation by storing precomputed results=-=-=-. Other software approaches that can take advantage of value behavior are specialization by static or dynamic compiZation and software speculation extended to values. 1.3 Paper Overview The pape...