Real-time systems are characterized by the presence of timing constraints in which a task must be completed within a specific amount of time. This paper examines the problem of determining the bound on the worst case execution time (WCET) of a given program on a given processor There are two important issues in solving this problem: (i) program path analysis, which determines what sequence of instructions will be executed in the worst case, and (ii) microarchitecture modeling, which models the hardware system and determines the WCET of a known sequence of instructions. To obtain a tight estimate on the bound both these issues must be addressed accurately and efficiently. The latter is becoming difficult to model for modern processors due to the presence of pipelined instruction execution units and cached memory systems. Because of the complexity of the problem, all existing methods that we know of focus only on one of above issues. This limits the accuracy of the estimated bound and the size of the program that can be analyzed. We present a more effective solution that addresses both issues and uses an integer linear programming formulation to solve the problem. This solution is implemented in the program cinderella which currently targets the Intel i960KB processor and we present some experimental results of using this tool.
[1]
Chang Yun Park,et al.
Predicting deterministic execution times of real-time programs
,
1992
.
[2]
Jyh-Charn Liu,et al.
Deterministic upperbounds of the worst-case execution times of cached programs
,
1994,
1994 Proceedings Real-Time Systems Symposium.
[3]
Alexander D. Stoyen,et al.
Real-Time Euclid: A language for reliable real-time systems
,
1989,
IEEE Transactions on Software Engineering.
[4]
George S. Avrunin,et al.
Automated Derivation of Time Bounds in Uniprocessor Concurrent Systems
,
1994,
IEEE Trans. Software Eng..
[5]
David B. Whalley,et al.
Bounding worst-case instruction cache performance
,
1994,
1994 Proceedings Real-Time Systems Symposium.
[6]
Glenford J. Myers,et al.
The 80960 Microprocessor Architecture
,
1988
.
[7]
Aloysius K. Mok,et al.
Evaluating tight execution time bounds of programs by annotations
,
1989
.
[8]
Alan C. Shaw,et al.
Reasoning About Time in Higher-Level Language Software
,
1989,
IEEE Trans. Software Eng..
[9]
Sang Lyul Min,et al.
An accurate worst case timing analysis technique for RISC processors
,
1994,
1994 Proceedings Real-Time Systems Symposium.