Chen, LeiDropsho, StevenAlbonesi, David H.2006-11-292006-11-292006-11-29200310.1109/HPCA.2003.1183525https://infoscience.epfl.ch/handle/20.500.14299/236129To continue to improve processor performance, microarchitects seek to increase the effective instruction level parallelism (ILP) that can be exploited in applications. A fundamental limit to improving ILP is data dependences among instructions. If data dependence information is available at run-time, there are many uses to improve ILP. Prior published examples include decoupled branch exectuion architectures and critical instruction detection. <BR><BR> In this paper, we describe an efficient hardware mechanism to dynamically track the data dependence chains of the instructions in the pipeline. This information is available on a cycle-by-cycle basis to the microengine for optimizing its perfromance. We then use this design in a new value-based branch prediction design using Available Register Value Information (ARVI). From the use of data dependence information, the ARVI branch predictor has better prediction accuracy over a comparably sized hybrid branch perdictor. With ARVI used as the second-level branch predictor, the improved prediction accuracy results in a 12.6% performance improvement on average across the SPEC95 integer benchmark suite.MicroarchitectureBranch predictionData dependenceDynamic Data Dependence Tracking and Its Application to Branch Predictiontext::conference output::conference proceedings::conference paper