Design and Verification of the Class-based Architecture Description Language

클래스-기반 아키텍처 기술 언어의 설계 및 검증

  • 고광만 (상지대학교 컴퓨터정보공학부)
  • Received : 2010.05.04
  • Accepted : 2010.07.20
  • Published : 2010.07.31

Abstract

Together with a new advent of embedded processor developed to support specific application area and it evolution, a new research of software development to support the embedded processor and its commercial challenge has been revitalized. Retargetability is typically achieved by providing target machine information, ADL, as input. The ADLs are used to specify processor and memory architectures and generate software toolkit including compiler, simulator, assembler, profiler, and debugger. The EXPRESSION ADL follows a mixed level approach-it can capture both the structure and behavior supporting a natural specification of the programmable architectures consisting of processor cores, coprocessors, and memories. And it was originally designed to capture processor/memory architectures and generate software toolkit to enable compiler-in-the-loop exploration of SoC architecture. In this paper, we designed the class-based ADL based on the EXPRESSION ADL to promote the write-ability, extensibility and verified the validation of grammar. For this works, we defined 6 core classes and generated the EXPRESSION's compiler and simulator through the MIPS R4000 description.

특정 응응 분야를 위해 개발된 임베디드 프로세서의 진화 및 새로운 출현과 더불어 이를 지원할 수 있는 소프트웨어 개발 환경에 관한 연구와 상용화 시도가 활성화되고 있다. 재목적성(retargetability)은 프로세서나 메모리에 대한 아키텍처 정보를 아키텍처 기술 언어(ADL)로 기술하여 컴파일러, 시뮬레이터, 어셈블러, 프로파일러, 디버거 등과 같은 소프트웨어 개발 도구를 생성하는데 이용된다. EXPRESSION ADL은 아키텍처 모델링, 소프트웨어 개발 도구 생성, 빠른 프로토타입핑, 아키텍처에 대한 설계 탐색과 SoC에 대한 기능적인 검증을 위해 개발된 ADL로서 프로세서 코어, 코프로세서, 메모리 등으로 구성된 소프트웨어적인 아키텍처를 구조와 동작 정보를 혼합하여 자연스럽게 모델링하였다. 이 논문에서는 EXPRESSION ADL을 기반으로 ADL의 작성 편리성, 확장성을 높이기 위해 클래스 기반 ADL을 설계하고 문법의 타당성을 검증하였다. 이를 위해, 6개의 핵심 클래스를 정의하고 MIPS R4000에 대한 ADL을 표현으로부터 EXPRESSION과 동일한 컴파일러, 시뮬레이터를 생성하였다.

Keywords

References

  1. Rainer Leupers, "Code Generation for Embedded Processor," ISSS;00: 13th International System Synthesis Symposium, pp.173-178, 2000.
  2. A. Hoffman, H. Meyr, and R. Leupers, Architecture Exploration for Embedded Processors with LISA, Kluwer Academic Publishers(ISBN: 1-4020-7338-0), 2002.
  3. Prabhat Mishra, and Nikil Dutt, Processor Description Languages, Morgan Kaufmann, 2008.
  4. C. W. Fraser, and D. R. Hanson, A Retargetable C Compiler: Design and Implementation, Addison-Wesley, 1995.
  5. LCC, A Retargetable Compiler for ANSI C: http://www.cs.princeton.edu/software/lcc/
  6. Anupam Chattopadhyay, Heinrich Meyr, and Rainer Leupers, "LISA: A Uniform for Embedded Processor Modeling, Implementation, and Software Toolsuite Generation," Processor Description Languages: Chap. 5, Morgan Kauffman, 2008.
  7. M. Hohenauer, et. al., "A Methodology and Tool Suite for C Compiler Generation from ADL Processor Models," Design and Automation & Test in Eupore(DATE), 2004.
  8. J. C. Gyllenhaal et. al., The Mdes User Manual, Technical Report, Trimaran Release: http://www.trimaran.org, 1999.
  9. Peter Grun, Ashok Halambi, Vijay Ganesh, Nikil Dutt, and Alex Nicolau, "EXPRESSION: An ADL for System Level Design Exploration," Technical Report TR98-29, University of California Irvine, 1998.
  10. Nikill Dutt et. al., "EXPRESSION: A Language for Architectural Exploration through Compiler/Simulator Retargetability," DATE'99: Proceedings of the 1999 Design, Automation and Test in Europe Conference, 1999.
  11. Jianwen Zhu, and Darnel D. Gajski, "A Retargetable, Ultra-fast Instruction Set Simulator," DATE'99: Proceedings of the Design Automation and Test conference in Europe, 1999.
  12. Eric C. Schnarr, Mark D. Hill, and James R. Larus, "Facile: A Language and Compiler for High-Performance Processor Simulators," PLDI'99: Proceedings of the ACM SIGPLAN 1999 conference on Programming Language Design and Implementation, pp.1-11, 1999.
  13. R. Leupers, J. Elste, and B. Landwehr, "Generation of Interpretive and Compiled Instruction Set Simulators," ASP-DAC'99: Proceeding of the Asia South Pacific Design Automation Conference, 1999.
  14. Prabhat Mishra, Aviral Shrivastava, and NiKill Dutt, "Architecture Description Language-driven Software Toolkit Generation for Architectural Exploration of Programmable SOCs," ACM Transactions on Design Automation of Electronics Systems, Vol.11, No.2, pp. 626-658, 2006. https://doi.org/10.1145/1142980.1142985
  15. Florian Brander, Dietmar Ebner, and Andreas Krall, "Compiler Generation from Structural Architecture Descriptions," CASES '07: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp. 13-22, 2007.
  16. Flex, http://dinosaur.compilertools.net/flex/index.html
  17. Bison, http://www.gnu.org/software/bison/manual/
  18. Joe Heinrich, MIPS R4000 Microprocessor User's Manual 2nd Edition, MIPS Technologies, Inc., 1994.
  19. Peter Marwedel, MIMOLA-A Fully synthesizable Language in Processor Description Languages (Editor: Prabhat Mishra, Nikil Dutt), Morgan Kaufmann, pp. 35-63, 2008.
  20. G. Hadjiyiannis, S. Hanano, and S. Devadas, "ISDL: An Instruction Set Description Language for Retargetability," DAC'99: In Proceedings of Design Automation Conference, pages 299-302, 1997.
  21. nML Description of the TCT Core Processor: http://www.retarget.com/nml, March, 2008.
  22. O. Wahlen, M. Hohenauer, R. Leupers, and H. Meyr, "Instruction Scheduler Generation for Retargetable Compilation," IEEE Design & Test of Computers, pp. 34-41, 2003.
  23. J. Ceng, M. Hohenauer, R. Leupers, G. Ascheid, H. Meyer, and G. Braun, "C Compiler Retargeting Based on Instruction Semantics Models," DATE'05: In Proceedings of the Conference on Design, Automation and Test in Europe, pages 1150-1155, 2005.
  24. Minwook Ahn, Yunheung Paek, "A New ADL-based compiler for Embedded Processor Design," International SoC Design Conference, 2005.
  25. Minwook Ahn, SoarGen: A User Retargetable Compiler in the Design of Embedded Systems, Ph. D. Thesis, Seoul National University, 2009.
  26. S. Y. Hwang, and S. R. Lee, "Construction of a Retargetable Compiler Generation System from Machine Behavioral Description," Journal of Korean Institute of Communication Sciences, Vol.32, No.5, 2007.