Historical Study of the Development of Branch Predictors

In all areas of research, finding the correct limiting factor able to provide the largest gains can often be the critical path of the research itself. In our work, focusing on branch prediction, we attempt to discover in what ways did previous prediction research improve branch prediction, what key...

Full description

Bibliographic Details
Other Authors: Peress, Yuval (authoraut)
Format: Others
Language:English
English
Published: Florida State University
Subjects:
Online Access:http://purl.flvc.org/fsu/fd/FSU_migr_etd-2030
Description
Summary:In all areas of research, finding the correct limiting factor able to provide the largest gains can often be the critical path of the research itself. In our work, focusing on branch prediction, we attempt to discover in what ways did previous prediction research improve branch prediction, what key aspects of the program execution were used as leverage for achieving better branch prediction, and thus which trends are more likely to provide more substantial gains. Several ``standard' branch predictors were implemented and tested with a wide variety of parameter permutations. These predictors include the bimodal, GAg, gshare, local, and tournament predictors. Later, other predictors were studied and briefly described with a short analysis using information gathered from the ``standard' predictors. These more complex predictors include the caching, cascading look-ahead, overriding, pipelined, bi-mode, correlation-based, data correlation based, address correlation based, agree, and neural predictors. Each of these predictors have their own unique approach on which elements of the branch predictor are key to improving the prediction rate of a running benchmark. Finally, in our conclusion, we will clearly state our perspective on which elements in branch prediction have the most potential and which of the more advanced predictors covered in the related work chapter have been following our predicted trend in branch prediction development. === A Thesis Submitted to the Computer Science Department in Partial FulfiLlment of the Requirements for the Degree of Master of Science.. === Fall Semester, 2008. === September 29, 2008. === Branch Prediction === Includes bibliographical references. === Gary Tyson, Professor Directing Thesis; David Whalley, Committee Member; Piyush Kumar, Committee Member.