This paper presents a quantification of the timing effects that advanced processor features like data and instruction cache, pipelines, branch prediction units and out-oforder execution units have on the worst-case execution time (WCET) of programs. These features are present in processors (such as MIPS, PowerPC and ARM) 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 argue that measurement based approaches backed up by structural code analysis techniques and supported by adequate testing provide a sound method for computing the WCET of such systems running on modern processors. 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 hav...
Antoine Colin, Stefan M. Petters