Characterization of Essential Dynamic Instructions Steven S. Lumetta and Sanjay J. Patel Department of Electrical and Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana-Champaign {steve,sjp}@crhc.uiuc.edu â Categories and Subject Descriptors General Terms Keywords 1. Measurement, Performance dynamic instruction stream, reverse analysis B.m [Hardware]: Miscellaneous; D.m [Software]: Miscellaneous INTRODUCTION We provide a methodology for characterizing the data ow behavior of dynamic instruction streams through the use of a tool that simpli es the process of analysis by examining instructionlevel traces in reverse order of execution. Many properties of instruction streams are more amenable to processing in this direction, and the combined two-pass (creation and post-processing) analysis renders most measurements straightforward. Using this approach, we characterize the streams of the SPEC2000 integer benchmarks compiled for the Alpha ISA on the OSF operating system. We separate dynamic instructions into essential and non-essential categories. Non-essential instructions contribute neither to program output nor to control ow, and can thus be removed by an optimizer to improve performance, reduce power, etc. For essential instructions, we touch on redundancy through an examination of silent stores (those that write values identical to those already in memory) and their associated data ow. We separate the
/lp/association-for-computing-machinery/characterization-of-essential-dynamic-instructions-Cz5r8Hl44I