الفهرس | Only 14 pages are availabe for public view |
Abstract Instruction-level parallelism (ILP) in superscalar architectures makes use of deep pipelines in order to execute multiple instructions per cycle. The frequency and behav¬ior of branch instructions seriously affect performance of ILP processors. The per¬formance of branch prediction techniques is evaluated in this thesis. These techniques depend mainly on the speculative execution of Branch instructions. Various mecha¬nisms, both at the compiler, as well as the processor level, have been proposed to pre¬dict the branch behavior. In this work, various branch predictors at processor level have been investigated to do a fair comparison among them. A practical implementa¬tion is described using several SPECintOO and SPECfpOO benchmarks and similar key parameters for evaluating these predictors. The performance impact of branch mispre-diction, branch prediction accuracy, the predictor size, and history register length have been investigated. The hardware cost effectiveness of the different schemes is dis¬cussed. The performance metrics used in the thesis include mespridiction rate (MPR), branch prediction accuracy (BPA) and instructions per cycle (IPC).The branch-prediction schemes chosen for these comparisons are statically taken/not-taken, bimodal, combination, correlation, two-level adaptive, hybrid, and Gshare branch predictors. The results show that predictors which do not use global history registers, or which hash the global history register with the branch address or other values will benefit from the predictor table interference reduction and increasing the table lengths. Two-level, Gshare, and hybrid are the most promising predictor schemes available |