Title :
Bounding pipeline and instruction cache performance
Author :
Healy, Christopher A. ; Arnold, Robert D. ; Mueller, Frank ; Whalley, David B. ; Harmon, Marion G.
Author_Institution :
Dept. of Comput. Sci., Florida State Univ., Tallahassee, FL, USA
fDate :
1/1/1999 12:00:00 AM
Abstract :
Predicting the execution time of code segments in real-time systems is challenging. Most recently designed machines contain pipelines and caches. Pipeline hazards may result in multicycle delays. Instruction or data memory references may not be found in cache and these misses typically require several cycles to resolve. Whether an instruction will stall due to a pipeline hazard or a cache miss depends on the dynamic sequence of previous instructions executed and memory references performed. Furthermore, these penalties are not independent since delays due to pipeline stalls and cache miss penalties may overlap. This paper describes an approach for bounding the worst and best case performance of large code segments on machines that exploit both pipelining and instruction caching. First, a method is used to analyze a program´s control flow to statically categorize the caching behavior of each instruction. Next, these categorizations are used in the pipeline analysis of sequences of instructions representing paths within the program. A timing analyzer uses the pipeline path analysis to estimate the worst and best-case execution performance of each loop and function in the program. Finally, a graphical user interface is invoked that allows a user to request timing predictions on portions of the program. The results indicate that the timing analyzer efficiently produces tight predictions of worst and best-case performance for pipelining and instruction caching
Keywords :
instruction sets; parallel architectures; performance evaluation; real-time systems; bounding pipeline; cache miss; caching behavior; code segments; control flow; data memory references; graphical user interface; instruction cache performance; instruction caching; multicycle delays; pipeline hazard; pipelining; real-time systems; timing analyzer; Computer Society; Delay; Graphical user interfaces; Hazards; Performance analysis; Pipeline processing; Real time systems; Timing;
Journal_Title :
Computers, IEEE Transactions on