< previous page page_141 next page >

Page 141
Chapter 3
Data: How Programs (and Machines) Behave
3.1 Introduction
The data in this chapter represents the way our three prototypical architectures are expected to behave. There is great variability in the data that is used to model computer performance. This occurs because of variations in architecture, compiler optimization, operating systems environment, and most importantly the applications themselves. While it is useful to note historical data observed by a particular experimenter, the problem is consistency. Our goal is to measure processors, to evaluate various tradeoffs among features to be included in one of several different types of architectures and their implementations. The problem with most reported literature results is that they do not have a common basis. It does no good to know that researcher X has determined that the frequency of procedure calls for an L/S architecture is 10% for a particular programming environment and application, while researcher Y finds a frequency of 3% for an R/M architecture on a completely different set of applications or programming environments. In fact, we know from Huck [136] that the frequency of occurrence or the absolute number of procedure calls for both architectures should be the same for the same application.1 The goal of this chapter is to present a consistent set of data across our three prototypical architectures. The data presented are subject to wide variability, but we have made every attempt to keep it consistent within the guidelines outlined in this chapter. It is our best attempt at getting an architectural signal out of the applications/compiler/etc. noise that surrounds all measurements.
We first examine dynamic instruction count, the basic measure of activity. Later, we look at secondary effects of program behavior that affect the performance of pipelined processors. With this data, we are able to evaluate the effectiveness of techniques for speeding up processor execution (discussed in later chapters).
d87111c01013bcda00bb8640fdff6754.gif d87111c01013bcda00bb8640fdff6754.gif
1Assuming the same operating system and generally the same compiler optimization strategy.

 
< previous page page_141 next page >