This paper presents a quantification of the timing effects that advanced processor features like data and instruction cache, pipelines, branch prediction units and out-of-order execution units have on the worst-case execution time (WCET) of programs. These features are present in processors (e.g. PowerPC) that are being widely used in embedded and real-time systems. We present an experimental evaluation of the execution time of a series of synthetic benchmarks and real-life case studies. The execution time is evaluated using extensive testing and a simple WCET technique. We show that the most important factor in reduction of execution time is cache size (both instruction and data cache). Other factors like branch prediction and out-or-order execution have minimal improvements that is cancelled out by the pessimism of the analysis. We also argue that some of the performance gain of advanced processor features also applies to the worst case and although WCET estimates may be more pessimistic the overall impact is that they result in lower WCET estimates.

BibTex Entry

@inproceedings{Colin2003,
 address = {Cancun, Mexico},
 author = {A. Colin and S. M. Petters},
 booktitle = {Proceedings of the 24th IEEE International Real-Time Systems Symposium},
 language = {english},
 month = {December 3--5},
 title = {Experimental Evaluation of Code Properties for {WCET} Analysis},
 year = {2003}
}