Abstract
Embedded systems generally interact in some way with the outside world. This may involve measuring sensors and controlling actuators, communicating with other systems, or interacting with users. These functions impose real-time constraints on system design. Verification of these specifications requires computing an upper bound on the worst-case execution time (WCET) of a hardware/software system. Furthermore, it is critical to derive a tight upper bound on WCET in order to make efficient use of system resources.
The problem of bounding WCET is particularly difficult on modern processors. These processors use cache-based memory systems that vary memory access time based on the dynamic memory access pattern of the program. This must be accurately modeled in order to tightly bound WCET. Several analysis methods have been proposed to bound WCET on processors with instruction caches. Existing approaches either search all possible program paths, an intractable problem, or they use highly pessimistic assumptions to limit the search space. In this paper we present a more effective method for modeling instruction cache activity and computing a tight bound on WCET. The method uses an integer linear programming formulation and does not require explicit enumeration of program paths. The method is implemented in the program cinderella and we present some experimental results of this implementation.
- ARNOLD, R., MUELLER, F., WHALLEY, D., AND HARMON, M. 1994. Bounding worst-case instruction cache performance. In Proceedings of the 15th IEEE Symposium on Real-Time Systems (Dec.). IEEE Computer Society Press, Los Alamitos, CA, 172-181.Google Scholar
- AVRUNIN, G. S., CORBETT, J. C., DILLON, L. K., AND WILEDEN, J. C. 1994. Automated derivation of time bounds in uniprocessor concurrent systems. IEEE Trans. Softw. Eng. 20, 9 (Sept. 1994), 708-719. Google Scholar
- GUPTA, R. K. 1994. Co-synthesis of hardware and software for digital embedded systems. Ph.D. Dissertation. Stanford University, Stanford, CA. Google Scholar
- INTEL CORPORATION, 1990. QT960 User Manual. Intel Corp., Santa Clara, CA.Google Scholar
- INTEL CORPORATION, 1991. i960KA/KB Microprocessor Programmers's Reference Manual. Intel Corp., Santa Clara, CA. Google Scholar
- KLIGERMAN, E AND STOYENKO, A D 1986. Real-time Euclid: a language for reliable real-time systems. IEEE Trans. Softw. Eng. SE-12, 9 (Sept. 1986), 941-949. Google Scholar
- LI, Y.-T. S. AND MALIK, S. 1995. Performance analysis of embedded software using implicit path enumeration. In Proceedings of the 32nd ACM/IEEE Conference on Design Automation (DAC '95, San Francisco, CA, June 12-16, 1995), B. T. Preas, Ed. ACM Press, New York, NY, 456-461. Google Scholar
- LIM, S., BAE, Y. H., JANG, G. T., RHEE, B., MIN, S. L., PARK, C. Y., SHIN, H., PARK, K., AND KIM, C.S. 1994. An accurate worst case timing analysis technique for RISC processors. In Proceedings of the 15th IEEE Symposium on Real-Time Systems (Dec.). IEEE Computer Society Press, Los Alamitos, CA, 97-108.Google Scholar
- LIU, J. AND LEE, H. 1994. Deterministic upperbounds of the worst-case execution times of cached programs. In Proceedings of the 15th IEEE Symposium on Real-Time Systems (Dec.). IEEE Computer Society Press, Los Alamitos, CA, 182-191.Google Scholar
- MOK, A. K., AMERASINGHE, P., CHEN, M., AND TANTISIRIVAT, K. 1989. Evaluating tight execution time bounds of programs by annotations. In Proceedings of the Sixth IEEE Workshop on Real-Time Operating Systems and Software (May). IEEE Computer Society Press, Los Alamitos, CA, 74-80.Google Scholar
- MYERS, G. J. AND BUDDE, D. L. 1988. The 80960 Microprocessor Architecture. John Wiley & Sons, Inc., New York, NY. Google Scholar
- PARK, C.Y. 1992. Predicting deterministic execution times of real-time programs. Ph.D. Dissertation. University of Washington, Seattle, WA. Google Scholar
- PUSCHNER, P. AND KOZA, CH. 1989. Calculating the maximum, execution time of real-time programs. Real-Time Syst. 1, 2 (Sep. 1989), 159-176. Google Scholar
- RAWAT, J. 1993. Static analysis of cache performance for real-time programming. Master's Thesis. Iowa State Univ., Ames, IA.Google Scholar
- SHAW, A. C. 1989. Reasoning about time in higher-level language software. IEEE Trans. Softw. Eng. 15, 7 (July 1989), 875-889. Google Scholar
Index Terms
- Performance estimation of embedded software with instruction cache modeling
Recommendations
Performance estimation of embedded software with instruction cache modeling
ICCAD '95: Proceedings of the 1995 IEEE/ACM international conference on Computer-aided designEmbedded systems generally interact with the outside world. Thus, some real-time constraints may be imposed on the system design. Verification of these constraints requires computing a tight upper bound on the worst case execution time (WCET) of a ...
Performance estimation of embedded software with instruction cache modeling
Readings in hardware/software co-designEmbedded systems generally interact in some way with the outside world. This may involve measuring sensors and controlling actuators, communicating with other systems, or interacting with users. These functions impose real-time constraints on system ...
Instruction cache locking for multi-task real-time embedded systems
In a multi-task embedded system, a cache is shared by different tasks, which increases the complexity of cache management and the unpredictability of cache behavior. This unpredictability in turn brings an overestimation of application's worst-case ...
Comments