Data Structures and Algorithms with Object-Oriented Design Patterns in Python
next up previous index

A Simplified Model of the Computer

 

The detailed model of the computer given in the previous section is based on a number of different timing parameters-- tex2html_wrap_inline57635, tex2html_wrap_inline57637, tex2html_wrap_inline57647, tex2html_wrap_inline57649, tex2html_wrap_inline57651, tex2html_wrap_inline57653, tex2html_wrap_inline57655, tex2html_wrap_inline57659, tex2html_wrap_inline57661, tex2html_wrap_inline58033, and tex2html_wrap_inline57695. While it is true that a model with a large number of parameters is quite flexible and therefore likely to be a good predictor of performance, keeping track of the all of the parameters during the analysis is rather burdensome.

In this section, we present a simplified model which makes the performance analysis easier to do. The cost of using the simplified model is that it is likely to be a less accurate predictor of performance than the detailed model.

Consider the various timing parameters in the detailed model. In a real machine, each of these parameters is a multiple of the basic clock period  of the machine. The clock frequency  of a modern computer is typically between 500 MHz and 2 GHz. Therefore, the clock period is typically between 0.5 and 2 ns. Let the clock period of the machine be T. Then each of the timing parameters can be expressed as an integer multiple of the clock period. For example, tex2html_wrap_inline58063, where tex2html_wrap_inline58065, tex2html_wrap_inline58067.

The simplified model eliminates all of the arbitrary timing parameters in the detailed model. This is done by making the following two simplifying assumptions:

The effect of these two assumptions is that we no longer need to keep track of the various operations separately. To determine the running time of a program, we simply count the total number of cycles taken.




next up previous index

Bruno Copyright © 2003, 2004 by Bruno R. Preiss, P.Eng. All rights reserved.