ABSTRACT
High-level cost and performance estimation, coupled with a fast hardware/software co-simulation framework, is a key enabler to a fast embedded system design cycle. Unfortunately, the problem of deriving such estimates without a detailed implementation available is difficult.
In this paper we describe two approaches to solve software cost and performance estimation problem, and how they are used in an embedded system design environment. A source-based approach uses compilation onto a virtual instruction set, and allows one to quickly obtain estimates without the need for a compiler for the target processor. An object-based approach translates the assembler generated by the target compiler to “assembler-level,” functionally equivalent t C. In both cases the code is annotated with timing and other execution related information (e.g., estimated memory accesses) and is used as a precise, yet fast, software simulation model. We contrast the precision and speed of these two techniques comparing them with those obtainable by a state-of-the-art cycle-based processor model.
- 1.MCORE Reference Manual. Motorola.Google Scholar
- 2.Mentor Graphics Seamless CVE Home Page. http://www.mentorg.com/seamless/.Google Scholar
- 3.Synopsys' Eagle Home Page. http://www.synopsys.com.tw/products/hwsw/eagle_ds.html.Google Scholar
- 4.A.V. Aho, R. Sethi, and J.D. Ullman. Compilers - Principles, Techniques and Tool. Addison-Wesley, 1986. Google ScholarDigital Library
- 5.D. Keppel B. Cmelik. Shade: a fast instruction-set simulator for execution profiling. ACM SIGMETRICS Conference onMeasurement and Modeling of Computer Systems, 22(1):128-137, May 1994. Google ScholarDigital Library
- 6.F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jureska, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, E. Sentovich, K. Suzuki, and B. Tabbara. Hardware-software Co-Design of Embedded Systems: The POLIS Approach. Kluwer Academic Publishers, Norwell, MA., 1997. Google ScholarDigital Library
- 7.H. Chang, L. Cooke, M. Hunt, G. Martin, A. McNelly, and L. Todd. Surviving the SOC Revolution - A Guide to Platform-Based Design. Kluwer Academic, 1999. Google ScholarDigital Library
- 8.R. Ernst and W. Ye. Embedded program timing analysis based on path clustering and architecture classification. In Proc. Int. Conf. Computer-Aided Design, pages 598-604, Nov. 1997. Google ScholarDigital Library
- 9.M.T. Lazarescu, M. Lajolo, J.R. Bammi, E. Harcourt, and L. Lavagno. Compilation-based software performance estimation for system level design. Proc. Design Automation Conf., Jun. 2000. Google ScholarDigital Library
- 10.S. Malik, M. Martonosi, and Y.T.S. Li. Static timing analysis of embedded software. In Proc. Design Automation Conf., pages 147-152, Jun. 1997. Google ScholarDigital Library
- 11.F. Stappert. Predicting pipelining and caching behaviour of hard real-time programs. 1998. C-LAB internal document, Furstenalle 11, D-333102 Paderborn, Germany.Google Scholar
- 12.K. Suzuki and A. Sangiovanni-Vincentelli. Efficient software performance estimation methods for hardware/software codesign. In Proc. Design Automation Conf., pages 605-610, Jun. 1996. Google ScholarDigital Library
- 13.V. Zivojnovic and H. Meyr. Compiled hw/sw co-simulation. In Proc. Design Automation Conf., 1996. Google ScholarDigital Library
Index Terms
- Software performance estimation strategies in a system-level design tool
Recommendations
Efficient software performance estimation methods for hardware/software codesign
DAC '96: Proceedings of the 33rd annual Design Automation ConferenceSoftware performance antipatterns
WOSP '00: Proceedings of the 2nd international workshop on Software and performancePerformance estimation of embedded software with instruction cache modeling
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 ...
Comments