ARM용 내장형 소프트웨어의 정적인 수행시간 분석 도구

Static Timing Analysis Tool for ARM-based Embedded Software

  • 황요섭 (조선대학교 컴퓨터공학부) ;
  • 안성용 (조선대학교 컴퓨터공학부) ;
  • 심재홍 (조선대학교 인터넷소프트웨어공학부) ;
  • 이정아 (조선대학교 컴퓨터공학부)
  • 발행 : 2005.02.01

초록

내장형 시스템에서 응용 프로그램을 구동시킬 때는 일련의 태스크들의 집합을 수행하여야 한다. 이러한 태스크들은 특정 하드웨어로 구현 될 수도 있고, 특정 프로세서에서 구동되는 소프트웨어로 구현될 수도 있다. 내장형 시스템에서 응용 프로그램을 구동시키기 위하여 하드웨어/소프트웨어의 자원 선택 및 작업 분할이 필요하게 되고 이때 하드웨어 및 소프트웨어의 성능 예측이 이용된다. 하드웨어 성능 예측과 달리 소프트웨어 성능 예측은 구동 환경과 밀접한 관계가 있으며, 하드웨어 소프트웨어 통합 설계를 위하여 최적 및 최악의 수행 시간 경계를 예측하는 것은 중요한 문제이다. 수행 시간 경계의 엄격한 예측은 저 비용의 프로세서를 사용할 수 있게 하며, 시스템 비용을 낮추는데 도움을 준다. 본 논문에서는 ARM용 내장형 시스템을 고려하여, loop문의 반복 횟수 경계 값과 프로그램의 추가적인 경로 호출 정보를 이용하여, 수행 시간의 경계를 최대한 실제 값에 접근하도록 예측하는 도구를 개발하였다. 개발된 도구는 현재 i960과 m68k 아키텍처를 지원하는 "Cinderella"라는 시간 분석 도구를 기본 도구로 활용하고 있다. ARM 프로세서를 지원하기 위하여 제어흐름과 디버깅 정보를 추출할 수 있는 ARM ELF 목적 파일 모듈을 추가하고, ARM 명령어 집합을 처리할 수 있는 모듈을 기존 도구에 추가하였다. 여러 가지 벤치마크 프로그램을 대상으로 실시한 실험 결과, 임의의 입력 데이타를 이용하고 수행 횟수를 고려한 ARMulator의 수행 시간이 구현된 도구에서의 정적인 수행 시간 예측 경계 값으로 들어오는 것을 확인할 수 있었다.

Embedded systems have a set of tasks to execute. These tasks can be implemented either on application specific hardware or as software running on a specific processor. The design of an embedded system involves the selection of hardware software resources, Partition of tasks into hardware and software, and performance evaluation. An accurate estimation of execution time for extreme cases (best and worst case) is important for hardware/software codesign. A tighter estimation of the execution time bound nay allow the use of a slower processor to execute the code and may help lower the system cost. In this paper, we consider an ARM-based embedded system and developed a tool to estimate the tight boundary of execution time of a task with loop bounds and any additional program path information. The tool we developed is based on an exiting timing analysis tool named 'Cinderella' which currently supports i960 and m68k architectures. We add a module to handle ARM ELF object file, which extracts control flow and debugging information, and a module to handle ARM instruction set so that the new tool can support ARM processor. We validate the tool by comparing the estimated bound of execution time with the run-time execution time measured by ARMulator for a selected bechmark programs.

키워드

참고문헌

  1. Y. S. Li and S. Malik, 'Performance analysis of Real-Time Embedded Software,' Kluwer Academic Publishers, 1999
  2. E. Kligerman and A. D. Stoyenko, 'Real-time Euclid: A language for reliable real-time systems,' IEEE Transactions on Software Engineering, vol. SE-12, no. 9, pp. 941-949, September 1986 https://doi.org/10.1109/TSE.1986.6313049
  3. P. Puschner and Ch. Koza, 'Calculating the maximum execution time of real-time programs,' The Journal of Real-Time Systems, vol. 1, no. 2, pp. 160-176, September 1989 https://doi.org/10.1007/BF00571421
  4. A. K. Mok, P. Amerasinghe, M. Chen, and K. Tantisirivat, 'Evaluating tight execution time bounds of programs by annotations,' in Proceedings of the 6th IEEE Workshop on Real-Time Operating Systems and Software, pp. 74-80, May 1989
  5. C. Y. Park, 'Predicting Deterministic Execution Times of Real-Time Programs,' PhD thesis, University of Washington, August 1992
  6. J. C. Liu and H. J. Lee, 'Deterministic upperbounds of the worst-case execution times of cached programs,' in Proceedings of the 15th IEEE Real-Time Systems Symposium, pp. 182-191, December 1994 https://doi.org/10.1109/REAL.1994.342717
  7. S. S. Lim, Y. H. Bae, G. T. Jang, B. D. Rhee, S. L. Min, C. Y. Park, H. Shin, K. Park, and C. S. Kim, 'An accurate worst case timing analysis technique for RISC processors,' in Proceedings of the 15th IEEE Real-Time Systems Symposium, pp. 97-108, December 1994 https://doi.org/10.1109/REAL.1994.342726
  8. R. Arnold, F. Mueller, D. Whalley, and M. Harmon, 'Bounding worst-case instruction cache performance,' in Proceedings of the 15th IEEE Real-Time Systems Symposium, pp. 172-181, December 1994 https://doi.org/10.1109/REAL.1994.342718
  9. J. Rawat, 'Static analysis of cache performance for real-time programming, Master's thesis,' Iowa State University of Science and Technology. November 1993
  10. P. Puschner and A. Schedl. 'Computing Maximum Task Execution Times with Linear Programming Techniques,' Technical report, Technische Universitt, Institut fr Technische Informatik, Wien, Apr. 1995
  11. TIS Committee, Debugging Information Format (DWARF) Specification Ver 2.0, May 1995
  12. Rajcsh Kumar Gupta, 'Co-synthesis of Hardware and Software for Digital Embedded systems,' PhD thesis, Stanford University, April 1991
  13. http://www.arm.com, AXD and armsd Debuggers Guide(ARM DUl 0066) & ARM Developer Suite Debug Target Guide(AHM DUI 0058D)