Modern architecture research relies heavily on detailed pipeline simulation. The section of the program simulated is of great importance to the relevance and correctness of a study, since the behavior of the program can vary significantly during different phases of a program's execution. In this paper we propose Basic Block Distribution Analysis as a semi-automatic approach for determining where to simulate in order to achieve a representative sample of the program. This approach is based upon using the profiles of a program's code structure (basic blocks) to uniquely identify different phases of execution in the program. We show that this analysis accurately finds the periodic (cyclic) behavior exhibited during a program's execution across several different architectural metrics (e.g., IPC, branch miss rate, cache miss rates, value misprediction, address misprediction, and reorder buffer occupancy). More importantly, our basic block analysis finds simulation points representative of the whole program's execution for these different architectural features.
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 ]