Worst Case Execution Time Analysis for a Processor withBranch Prediction

  • Authors:
  • Antoine Colin;Isabelle Puaut

  • Affiliations:
  • DGA/IRISA;INSA/IRISA

  • Venue:
  • Real-Time Systems - Special issue on worst-case execution-time analysis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

The fundamental requirement forhard real-time systems is that task deadlines be never missed.As a consequence, knowing tasks worst case execution times (WCET)is crucial for such systems. Taking into account modern architecturalfeatures makes it possible to determine tighter WCET bounds thanwith program analysis that ignores such features. While effectsof caches and pipelines on WCET analysis have been extensivelystudied, to our knowledge the effect of the branch predictionon WCET evaluation has not been studied yet. This paper describesa method for statically bounding the number of timing penaltiesdue to erroneous branch predictions. The proposed method is basedon static program analysis and branch target buffer modelling.It consists in collecting information on branch target bufferevolution by considering all possible execution paths of a program.Collected information can then be used to classify control transferinstructions so that their worst case branching cost can be estimatedand incorporated into the program WCET.A method is also given to tightly predict the WCET of loopswhose number of iterations depend on counter variables of outerloops. Experimental results show that the timing penalty dueto wrong branch predictions estimated by the proposed techniqueis close to the real one, which demonstrates the practical applicabilityof our method.