DOI QR코드

DOI QR Code

XScale 프로세서 기반의 임베디드 소프트웨어를 위한 최악실행시간 분석도구의 구현

Implementation of Worst Case Execution Time Analysis Tool For Embedded Software based on XScale Processor

  • 박현희 (숭실대학교 대학원 컴퓨터학과) ;
  • 최명수 (숭실대학교 대학원 컴퓨터학과) ;
  • 양승민 (숭실대학교 컴퓨터학부) ;
  • 최용훈 (한국전자통신연구원 S/W개발도구연구팀) ;
  • 임형택 (한국전자통신연구원 S/W개발도구연구팀)
  • 발행 : 2005.10.01

초록

신뢰성 있는 내장 실시간 시스템을 구축하기 위해서는 프로그램의 스케줄링 가능성 여부를 검증해야 한다 스케줄링 가능성 분석을 위해서 는 프로그램의 최악실행시간 정보가 필수적인 요소이다. 최악실행시간 분석은 두 단계로 나된다. 첫 번째 단계에서는 프로그램 언어 구문상의 흐름을 분석하고, 두 번째 단계에서는 수행되는 흐름 경로상의 하드웨어적인 요소를 고려하여 수행시간을 분석한다. 본 논문에서는 XScale 프로세서를 대상으로 하는 최악실행시간 통합 분석 도구인 WATER(WCET Analysis Tool for Embedded Real-time system)를 설계하고 구현한다. 상위 수준의 흐름 분석기와 하위 수준의 실행시간 분석기로 이루어진 WATER의 구조를 소개하고 소프트웨어의 실제 측정과 WATER의 분석 결과를 비교한다.

Schedulability analysis is necessary to build reliable embedded real-time systems. For schedulability analysis, worst-case execution time(WCET) analysis that computes upper bounds of the execution times of tasks, is required indispensably. WCET analysis is done in two phases. The first phase is high-level analysis that analyzes control flow and finds longest paths of the program. The second phase is low-level analysis that computes execution cycles of basic blocks taking into account the hardware architecture. In this thesis, we design and implement integrated WCET analysis tools. We develop the WCET analysis tools for XScale-based system called WATER(WCET Analysis Tool for Embedded Real-time system). WATER consist of high-level flow analyzer and low-level execution time analyzer. Also, We compare real measurement for execution of program with analysis result calculated by WATER.

키워드

참고문헌

  1. P. Puschener and A. Burns, 'A review of worst-case execution-time analysis, Real-Time Systems,' Guest Editorial, 18(2-3):115- 128, May, 2000
  2. Kligerman, E. and A. Stoyenkok, 'Real-Time Euclid: A Language for Reliable Real-Time Systems.' IEEE Transactions on Software Engineering SE-12(9), pp.941-949, 1986
  3. Stoyenko, A., 'A Real-Time Language With A Schedul-ability Analyzer,' Computer Systems Research Institute, University of Toronto, Canada, Dissertation, 1997
  4. Stoyenko, A., V. Hamacher, and R. Holt, 'Analyzing Hard-Real-Time Programs for Guaranteed Schedulability,' IEEE Transactions on Software Engineering SE-17(8), pp.737- 750, 1991 https://doi.org/10.1109/32.83911
  5. Shaw, A. C., 'Reasoning About Time in Higher-Level Language Software,' IEEE Transactions on Software Engineering SE-15(7), pp.875-889, 1989 https://doi.org/10.1109/32.29487
  6. Park C. Y. and A. C., 'Experiments with a Program Timing Tool Based on Source-Level Timing Schema,' IEEE Computer 24(5), pp.48-57, 1991 https://doi.org/10.1109/2.76286
  7. Park C. Y., 'Predicting Deterministic Execution Time of Real-Time Programs,' Ph.D. thesis, Department of Computer Science and Engineering, University of Washington, Seattle, WA, USA, 1992
  8. Park C. Y., 'Predicting Program Execution Times by Analyzing Static and Dynamic Program Paths,' Real-Time Systems 5(1), pp.31-62, 1993 https://doi.org/10.1007/BF01088696
  9. Mok, A. K., P. Amerasinghe, M. Chen, and K. Tantisirivat, 'Evaluating Tight Execution Time Bounds of Programs by Annotations,' In: Proc. 6th IEEE Workshop on Real-Time Operating Systems and Software, Pittsburgh, PA, USA, pp.74-80, 1989
  10. Amerasinghe, P., 'A Universal Hardware Simulator,' Dept. of Computer Sciences, University of Texas, Austin, TX, USA: Undergraduate Honors Thesis, 1985
  11. Chen, M., 'A Timing Analysis Language - (TAL),' Dept. of Computer Sciences, University of Texas, Austin, TX, USA: Programmer's Manual
  12. Puschner, P. and C. Koza, 'Calculating the Maximum Execution Time of Real-Time Programs,' Real-Time Systems 1(2), pp.159-176, 1989 https://doi.org/10.1007/BF00571421
  13. Puschner, P. and A. Schedl, 'A Tool for the Computation of Worst Case Task Execution Times,' In: Proc. Euromicro Workshop on Real-Time Systems, Oulu, Finland, pp. 224-229, 1993
  14. Pospischil, G., P. Puschner, A. Vrchoticky, and R. Zainlinger, 'Developing Real-Time Tasks with Predictable Timing,' IEEE Software 9(5), 35-44 https://doi.org/10.1109/52.156895
  15. Vrchoticky, A., 'Compilation Support for Fine-Grained Execution Time Analysis,' In: Proceedings of the ACM SIGPLAN Workshop on Language, Compiler and Tool Support for Real-Time Systems, Orlando FL, 1994
  16. Puschener, P. and A. Schedl., 'Computing Maximum Task Execution Times - A Graph-Based Approach,' Real-Time Systems 13(1), pp. 67-91, 1997 https://doi.org/10.1023/A:1007905003094
  17. Puschner, P., 'A Tool for High-Level language Analysis of Worst-Case Execution Times,' In: Proc. Euromicro Workshop on Real-Time Systems, Berlin, Germany, pp. 130-137, 1998a https://doi.org/10.1109/EMWRTS.1998.685077
  18. Intel, 'XScale Microarchitecture for the PXA255 Processor User's Manual,' March, 2003
  19. Thomas Lundqvist, 'A WCET Analysis Method for Pipelined Microprocessors with Cache Memories,' Ph.D. thesis, Chalmers University of Technology, Goteborg, Sweden, 2002
  20. Alfred V. aho, Ravi Sethi, Jeffrey D. Ullman, 'Compilers-Principles, Techniques and Tools,' Ch.8, pp.463-512, Addison-Wesley, 1988
  21. Eclipse project official site, http://www.dclipse.org