Construction of a Retargetable Compiler Generation System from Machine Behavioral Description

머쉰 행위기술로부터 Retargetable 컴파일러 생성시스템 구축

  • 이성래 (서강대학교 전자공학과 CAD&ES 연구실) ;
  • 황선영 (서강대학교 전자공학과 CAD&ES 연구실)
  • Published : 2007.05.31

Abstract

In ASIP design, compiler is required for performance evaluation of processors being designed. The design of machine specific compiler is time consuming. This paper presents the system which generates C compiler from MDL descriptions. Compiler generation using MDL can support user retargetability and concurrency between compiler design and processor design. However, it must overcome semantics gap between compiler and machine. To handle this problem, the proposed system maps behavioral descriptions to library which contains abstract behavior for each tree pattern. Using mapped instructions and information on register file usage, the proposed system generates back-end interface function of the compiler. Generated compilers, for MIPS R3000, ARM9 cores, have been proved by application programs written in C code.

ASIP 디자인에서 디자인되는 프로세서의 성능을 측정할 수 있는 컴파일러가 요구된다. 머쉰에 맞는 컴파일러 설계는 매우 많은 시간을 요구한다. 본 논문은 MDL 기술로부터 C 컴파일러를 생성하는 시스템을 보인다. MDL을 이용한 컴파일러 생성은 user retargetability와 컴파일러와 프로세서 디자인의 일관성을 유지시켜 준다. 그러나 MDL을 이용한 컴파일러 생성 시스템은 컴파일러와 머쉰 간 의미적 차이를 줄여야 한다. 이러한 문제를 해결하기 위해 제안하는 시스템은 트리 패턴마다 행위정보를 가지는 라이브러리에 머쉰 행위기술을 맵핑한다. 맵핑된 인스트럭션과 레지스터 파일 사용정보를 이용해 제안하는 시스템은 컴파일러 후위부 interface function을 생성한다. 생성된 MIPS R3000와 ARM9 컴파일러가 C로 기술된 어플리케이션 프로그램으로 검증되었다.

Keywords

References

  1. R. Leupers, 'Compiler Design Issues for Embedded Processors', IEEE Design & Test of Computers, Vol. 19, No. 4, pp. 51-58, July-Aug. 2002 https://doi.org/10.1109/MDT.2002.1018133
  2. M. Jain, M. Balakrishnan, and A. Kumar, 'ASIP Design Methodologies : Survey and Issues', in Proc. IEEE/ACM Int. Conf. VLSI Design. (VLSI 2001), pp. 76-81, Jan. 2001
  3. C. Fraser and D. Hanson, A Retargetable C Compiler : Design and Implementation, Benjamin/Cummings, 1995
  4. C. Fraser and D. Hanson, 'The lcc 4.x Code-Generation Interface', Microsoft Research, 2003
  5. C. Fraser, R. Henry, and T. Proebsting, 'BURG - Fast Optimal Instruction Selection and Tree Parsing', ACM SIGPLAN Notices, Vol. 27, No. 4, pp. 68-76, April 1992
  6. R. Leupers and P. Marwedel, 'Retargetable Generation of Code Selectiors from HDL Processor Models', in Proc. European Design & Test Conf., 1997
  7. J. V. Praet, D. Lanneer, G. Goossens, W. Geurts, and H. De Man, 'A Graph Based Processor Model for Retargetable Code Generation', in Proc. European Design & Test Conf., 1996
  8. D. Lanneer et al, 'CHESS : Retargetable Code Generation for Embedded DSP Processors', in P. Marwedel and G. Goosens, ed., Code Generation for Embedded Processors, pp. 85-102, Kluwer Academic Publishers, 1995
  9. A. Hoffmann et al, 'A Novel Methodology for the Design of Application-Specific Instruction Set Processors(ASIPs) Using a Machine Description Language', IEEE Trans. Computer-Aided Design, Vol. 20, No. 11, pp. 1338-1354, Nov. 2001 https://doi.org/10.1109/43.959863
  10. J. Ceng, M. Hohenauer, R. Leupers, G. Ascheid, H. Meyr, and G. Braun, 'C Compiler Retargeting Based on Instruction Semantics Models', in Proc. Design Automation and Test in Europe, pp. 1150-1155, 2005
  11. J. Ceng, W. Sheng, M. Hohenauer, R. Leupers, G. Ascheid, H. Meyr, and G. Braun, 'Modeling Instruction Semantics in ADL Processor Descriptions for C Compiler Retargeting'. Int. Workshop on Systems, Architectures, Modeling, and Simulation (SAMOS), 2004
  12. S. Bashford, U. Bieker, B. Harking, R. Leupers, P. Marwedel, A. Neumann, and D. Voggenauer, 'The MIMOLA Language Version 4.1', Technical report, University of Dortmund, 1994
  13. A. Fauth, J. Van Praet, and M. Freericks, 'Describing Instructions Set Processors using nML', in Proc. European Design & Test Conf., Paris (France), pp. 503-507, Mar. 1995
  14. ACE - Associated Compiler Experts, The COSY Compiler Development System, http://www.ace.nl
  15. 조재범, 유용호, 황선영, '임베디드 프로세서 코어 자동생성 시스템의 구축', 한국통신학회논문지, 30권 6A호, pp. 526-534, 2005년 6월
  16. H. Emmelmann, F.-W. Schro¨er, and R. Landwehr, 'Beg - A Generator for Efficient Back Ends', in Proc. SIGPLAN Conf. Programming Language Design and Implementation, pp 227-237, 1989
  17. B. Alpern, M. Wegman, and F. Zadeck, 'Detecting Equality of Value in Programs', in Conf. Record of the 15th ACM Symposium on Principles of Program Languages, ACM, New York, pp. 1-11, January 1988
  18. R. Cytron, J. Ferrante, B. Rosen, M. Wegman, and F. Zadeck, 'Efficiently computing static single assignment form and the control dependence graph', ACM Trans. Program. Lang. Syst., Vol. 13, No. 4, pp. 451-490, Oct. 1991 https://doi.org/10.1145/115372.115320
  19. W. Yang, S. Horwitz, and T. Reps, 'Detecting Program Components with Equivalent Behaviors', Tech. Rep. 840. Dept. of Computer Science, Univ. of Wisconsin at Madison, Madison, Apr. 1989
  20. G. Kane and J. Heinrich, MIPS RISC Architecture, Prentice Hall, 1992
  21. S. Furber, ARM System-on-chip Architecture, Addison-Wesley, 2000