Embedded program timing analysis based on path clustering and architecture classification

Formal program running time verification is an important issue in system design required for performance optimization under "first-time-right" design constraints and for real time system verification. Simulation based approaches or simple instruction counting are not appropriate and risky for more complex architectures in particular with data dependent execution paths. Formal analysis techniques have suffered from loose timing bounds leading to significant performance penalties when strictly adhered to. We present an approach which combines simulation and formal techniques in a safe way to improve analysis precision and tighten the timing bounds. Using a set of processor parameters, it is adaptable to arbitrary processor architectures. The results show an unprecedented analysis precision allowing us to reduce performance overhead for provably correct system or interface timing.

[1]  Aloysius K. Mok,et al.  Evaluating tight execution time bounds of programs by annotations , 1989 .

[2]  Alan C. Shaw,et al.  Experiments with a program timing tool based on source-level timing schema , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[3]  Sharad Malik,et al.  Performance Analysis of Embedded Systems , 1996 .

[4]  Jie Gong,et al.  Software estimation from executable specifications , 1994 .

[5]  David B. Whalley,et al.  Bounding worst-case instruction cache performance , 1994, 1994 Proceedings Real-Time Systems Symposium.

[6]  Jörg Henkel,et al.  Fast timing analysis for hardware-software co-synthesis , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[7]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[8]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[9]  Chang Yun Park,et al.  Predicting deterministic execution times of real-time programs , 1992 .

[10]  David B. Kirk Predictable cache design for real-time systems , 1991 .

[11]  T. Conte,et al.  Fast Simulation of Computer Architectures , 1995, Springer US.

[12]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.