A Combined Hardware/Software Measurement for ARM Program Execution Time

  • Liangliang Kong
  • Jianhui Jiang
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 337)


In present there is no accurate end-to-end dynamic measurements for ARM program execution time, because the measurement results given by hardware counters in ARM microprocessors are not precise enough and the timing cost of instrument methods is difficult to be calculated. Therefore, this paper proposes a combined hardware/software measurement for ARM program execution time. It sets the precision of measurement in the system boot loader code, encapsulates the access to timers in the kernel of Linux, and then measures the execution time of the program by the timer and its corresponding interrupt during the execution of the program. Experimental results have shown that comparing with instrument methods and hardware counters, our method is an efficient way to obtain accurate and precise execution time measurements for ARM programs. Additional experiments performed by the combination of curve fitting techniques and our method have shown the method can be used to predict the execution time of program under different input data.


execution time measurement performance evaluation real-time system PWM timer ARM microprocessor 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., et al.: The Worst-Case Execution-Time Problem-Overview of Methods and Survey of Tools. ACM Transactions on Embedded Computing Systems 7(3), 1–49 (2008)CrossRefGoogle Scholar
  2. 2.
    Puschner, P., Burns, A.: A Review of Worst-Case Execution-Time Analysis. Real-Time Systems 18(2-3), 115–128 (1999)Google Scholar
  3. 3.
    Samsung Electronics: S3C2440A 32-Bit CMOS Microcontroller User’s Manual, Revision 1. Technical report, Samsung Electronics (2004)Google Scholar
  4. 4.
    Engblom, J., Ermedahl, A., Sjodin, M., Gustafsson, J., et al.: Worst-Case Execution-Time Analysis for Embedded Real-Time Systems. Software Tools for Technology Transfer 4(4), 437–455 (2003)CrossRefGoogle Scholar
  5. 5.
    Ermedahl, A., Stappert, F., Engblom, J.: Clustered Worst-Case Execution-Time Calculation. IEEE Trans. on Computers 54(9), 1104–1122 (2005)CrossRefGoogle Scholar
  6. 6.
    Lim, S.-S., Bae, Y.H., Jang, G.T., et al.: An Accurate Worst Case Timing Analysis Technique for RISC Processors. IEEE Trans. on Software Engineering 21(7), 593–604 (1995)CrossRefGoogle Scholar
  7. 7.
    Malik, S., Martonosi, M., Li, Y.-T.S.: Static Timing Analysis of Embedded Software. In: 34th Annual Conference on Design Automation, pp. 147–152. ACM Press, New York (1997)CrossRefGoogle Scholar
  8. 8.
    Wegener, J., Mueller, F.: A Comparison of Static Analysis and Evolutionary Testing for the Verification of Timing Constraints. Real-Time Systems 21(3), 241–268 (2001)zbMATHCrossRefGoogle Scholar
  9. 9.
    Petters, S.M., Zadarnowski, P., Heiser, G.: Measurments or Static Analysis or Both? In: 7th International Workshop on Worst-Case Execution Time Analysis (2007)Google Scholar
  10. 10.
    Živojnovic, V.: Compiled Hw/Sw Co-Simulation. In: 33rd Annual Conference on Design Automation, pp. 690–695. ACM Press, New York (1996)CrossRefGoogle Scholar
  11. 11.
    Burger, D., Austin, T.M.: The SimpleScalar Tool Set, Version 4.0. Technical report #1342, Computer Sciences Department of Wisconsin University (2001)Google Scholar
  12. 12.
    Andrews, J.: Co-Verification of Hardware and Software for ARM SoC Design. Translated by Zhou L.G., et al. BUAA Press, Beijing (2006) (in Chinese)Google Scholar
  13. 13.
    Lazarescu, M.T., Bammi, J.R., Harcourt, E., et al.: Compilation-Based Software Performance Estimation for System Level Design. In: IEEE International Workshop on High-Level Validation and Test, pp. 167–172. IEEE Press, New York (2000)Google Scholar
  14. 14.
    Wenzel, I., Kirner, R., Rieder, B., Puschner, P.: Measurement-Based Worst-Case Execution Time Analysis. In: 3rd IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems, pp. 7–10. IEEE Press, New York (2005)CrossRefGoogle Scholar
  15. 15.
    Colmenares, J.A., Im, C., Kim, K.H., et al.: Measurement Techniques in a Hybrid Approach for Deriving Tight Execution-Time Bounds of Program Segments in Fully-Featured Processors. In: Real-Time and Embedded Technology and Applications Symposium, pp. 68–79. IEEE Press, New York (2008)CrossRefGoogle Scholar
  16. 16.
    Zolda, M., Bunte, S., Kirner, R.: Towards Adaptable Control Flow Segmentation for Measurement-Based Execution Time Analysis. In: 17th International Conference on Real-Time and Network Systems, pp. 77–85 (2009)Google Scholar
  17. 17.
    Jean-Francois, D., Isabelle, P.: Safe Measuremnt-Based WCET Estimation. In: 5th International Workshop on Worst-Case Execution Time Analysis (2005)Google Scholar
  18. 18.
    Kong, L.L., Jiang, J.H.: A Safe Measurement-Based Worst-Case Execution Time Estimation Using Automatic Test-Data Generation. In: 16th IEEE Pacific Rim International Symposium on Dependable Computing, pp. 245–246. IEEE Press, New York (2010)CrossRefGoogle Scholar
  19. 19.
    Kirner, R., Puschner, P., Wenzel, I.: Measurement-Based Worst-Case Execution Time Analysis Using Automatic Test-Data Generation. In: 3rd IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems, pp. 23–26. IEEE Press, New York (2005)Google Scholar
  20. 20.
    Wenzel, I., Rieder, B., Kirner, R., Puschner, P.: Automatic Timing Model Generation by CFG Partitioning and Model Checking. In: Conference on Design, Automation and Test in Europe, pp. 606–611. IEEE Press, New York (2005)Google Scholar
  21. 21.
    Wang, X., Ji, M.L., Wang, J., et al.: Trace Acquirement Technology of Real-Time Systems Based on WCET Analysis. Journal of Software 17(5), 1232–1240 (2006) (in Chinese)Google Scholar
  22. 22.
    Zhao, J.: Analysis of Linux Kernel, 1st edn. China Machine Press, Beijing (1998) (in Chinese)Google Scholar
  23. 23.
    Robert, L.: Linux Kernel Development. Translated by Chen, L.J., et al. China Machine Press, Beijing (2006) (in Chinese)Google Scholar
  24. 24.
    Yin, X.F., Yuan, S.H., Hu, J.B.: Experimental Research on Interrupt Latency Time of ARM Microprocessor. Computer Engineering 37(4), 252–263 (2011) (in Chinese)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Liangliang Kong
    • 1
  • Jianhui Jiang
    • 2
  1. 1.Department of Computer Science and TechnologyTongji UniversityShanghaiChina
  2. 2.School of Software EngineeringTongji UniversityShanghaiChina

Personalised recommendations