Worst Case Execution Time Analysis for a Processor with Branch Prediction

被引:0
作者
Antoine Colin
Isabelle Puaut
机构
[1] DGA/IRISA,
[2] INSA/IRISA,undefined
来源
Real-Time Systems | 2000年 / 18卷
关键词
real-time systems; worst-case execution time; timing analysis; branch prediction; loop annotations;
D O I
暂无
中图分类号
学科分类号
摘要
The fundamental requirement for hard 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 architectural features makes it possible to determine tighter WCET bounds than with program analysis that ignores such features. While effects of caches and pipelines on WCET analysis have been extensively studied, to our knowledge the effect of the branch prediction on WCET evaluation has not been studied yet. This paper describes a method for statically bounding the number of timing penalties due to erroneous branch predictions. The proposed method is based on static program analysis and branch target buffer modelling. It consists in collecting information on branch target buffer evolution by considering all possible execution paths of a program. Collected information can then be used to classify control transfer instructions so that their worst case branching cost can be estimated and incorporated into the program WCET. A method is also given to tightly predict the WCET of loops whose number of iterations depend on counter variables of outer loops. Experimental results show that the timing penalty due to wrong branch predictions estimated by the proposed technique is close to the real one, which demonstrates the practical applicability of our method.
引用
收藏
页码:249 / 274
页数:25
相关论文
共 13 条
[1]  
Chapman R.(1996)Combining static worst-case timing analysis and program proof Journal of Real-Time Systems 11 145-171
[2]  
Burns A.(1986)Real-time Euclid: A language for reliable real-time systems IEEE Trans. on Software Engineering SE-12 941-949
[3]  
Wellings A. J.(1993)Predicting program execution times by analyzing static and dynamic program paths Journal of Real-Time Systems 5 31-62
[4]  
Kligerman E.(1989)Calculating the maximum execution time of real-time programs Journal of Real-Time Systems 1 159-176
[5]  
Stoyenko A.(1997)Computing maximum task execution times-Agraph-based approach Journal of Real-Time Systems 13 67-91
[6]  
Park C. Y.(1993)Pipelined processors and worst case execution times Journal of Real-Time Systems 5 319-343
[7]  
Puschner P.(undefined)undefined undefined undefined undefined-undefined
[8]  
Koza C.(undefined)undefined undefined undefined undefined-undefined
[9]  
Puschner P.(undefined)undefined undefined undefined undefined-undefined
[10]  
Schedl A.(undefined)undefined undefined undefined undefined-undefined