Finite State Machines (FSM) are a fundamental building block in computer architecture, and are used to control and optimize all types of prediction and speculation. These include branch prediction, confidence estimation, value prediction, memory disambiguation, thread speculation, power optimization, and the list goes on. At the heart of all almost all of these techniques is a FSM, such as a two bit saturating counter, which is predicting a sequence given feedback information. In this paper we present a framework for automatically designing FSM predictors. This approach can be used to develop FSM predictors that perform well over a suite of applications, tailored to a specific application, or even a specific instruction. We examine the ability to create FSM predictors optimized for a group of applications for branch prediction and for confidence estimation used in value prediction.
The authors of these documents have submitted their reports to this technical report series for the purpose of non-commercial dissemination of scientific work. The reports are copyrighted by the authors, and their existence in electronic format does not imply that the authors have relinquished any rights. You may copy a report for scholarly, non-commercial purposes, such as research or instruction, provided that you agree to respect the author's copyright. For information concerning the use of this document for other than research or instructional purposes, contact the authors. Other information concerning this technical report series can be obtained from the Computer Science and Engineering Department at the University of California at San Diego, firstname.lastname@example.org.
[ Search ]