Increasing performance has been a goal for microarchitecture research since the advent of the computer. One of the main approaches used to enhance performance is increasing the overlap between instructions which is known as instruction level parallelism (ILP). Control and data dependences between instructions present limiting factors on their parallel execution. Control dependences are introduced by branch instructions. An indirect branch can have multiple targets. A control reconvergence instruction is an instruction that is executed regardless of the outcome of the preceding control instruction. Data dependence occurs when an instruction depends on the result of a previous instruction. Data value prediction is a technique that speculates the results of data-generating instructions.
Dynamic information flow analysis (DIFA) is a program dependence-based analysis technique that entails analyzing the information flows that occur between program variables during execution. We leveraged strength-based dynamic information flow analysis to enhance indirect branch, control reconvergence and data value predictions. We introduced the global and local linear value predictors. We also explained when a given value predictor performs well and outperforms other predictors. In addition, we provided selection criteria that can be used to identify highly predictable variables. Moreover, we introduced new control reconvergence and indirect branch prediction techniques.
Walid Ghandour received his PhD degree in electrical and computer engineering from the American University of Beirut with a GPA of 4.0/4.0 in October 2011. He conducted his research in the area of microarchitecture. He leveraged dynamic information flow analysis to enhance control and data value predictions. Walid was part time Computer Engineering PhD Student at the University of Texas at Austin from fall 2003 till spring 2006. He finished course work and conducted research towards proposing in the area of formal verification of processors.
In December 2000, Walid earned his master's degree in electrical engineering from the University of North Carolina at Charlotte. In August 1999, Walid finished his bachelor's degree in electrical engineering with distinction from the American University of Beirut. From January 2001 till July 2006, Walid worked as staff software engineer at IBM. He spent his first year at IBM EDA Lab, Hudson Valley Research Park, NY, the remaining at IBM Austin. Walid is currently a lecturer at the Computer and Communications Engineering department at the Lebanese International University.