| |
Timing schema
In tree-based methods, the final WCET is generated by a bottom-up
traversal of the tree representing the program. The analysis results
for the basic blocks are used to make timing estimations for larger
parts of the program. The set of basic formulae given by Puschner
and Koza, originally proposed for a processor without caches, branch
prediction, or pipelines, gives the maximum execution time of every
control construct according to the syntax tree structure .
| Construct
S |
|
| S1;;Sn |
WCET(S)=
Sum ni=1 WCET(Si) |
| if (tst) then S1else
S2 |
WCET(S)=WCET(Test)+
max(WCET(S1),WCET(S2)) |
| for (;tst;inc)
S1 |
WCET(S)=maxiter ×
(WCET(Test)+WCET(S1)+WCET(Incr))
+WCET(Test)
+WCET(Exit)
|
| basic block Bx |
WCET(S)=MAXT(Bx) |
| MAXT(Bx)
is the maximum execution time for a basic block Bx. |
| maxiter
is the maximum number of iterations of a loop. |
Original timing schema
This timing schema uses a simple basic block WCET represented by a
scalar. To use the basic block our WCET results, we have to define
a new timing schema suitable for more complex data (see Worst
Case Execution Time Analysis for a Processor with Branch Prediction
for details).
|