DOI QR코드

DOI QR Code

Using a H/W ADL-based Compiler for Fixed-point Audio Codec Optimization thru Application Specific Instructions

응용프로그램에 특화된 명령어를 통한 고정 소수점 오디오 코덱 최적화를 위한 ADL 기반 컴파일러 사용

  • 안민욱 (서울대학교 전기컴퓨터공학부) ;
  • 백윤흥 (서울대학교 전기컴퓨터공학부) ;
  • 조정훈 (경북대학교 전자전기컴퓨터학부)
  • Published : 2006.08.01

Abstract

Rapid design space exploration is crucial to customizing embedded system design for exploiting the application behavior. As the time-to-market becomes a key concern of the design, the approach based on an application specific instruction-set processor (ASIP) is considered more seriously as one alternative design methodology. In this approach, the instruction set architecture (ISA) for a target processor is frequently modified to best fit the application with regard to code size and speed. Two goals of this paper is to introduce our new retargetable compiler and how it has been used in ASIP-based design space exploration for a popular digital signal processing (DSP) application. Newly developed retargetable compiler provides not only the functionality of previous retargetable compilers but also visualizes the features of the application program and profiles it so that it can help architecture designers and application programmers to insert new application specific instructions into target architecture for performance increase. Given an initial RISC-style ISA for the target processor, we characterized the application code and incrementally updated the ISA with more application specific instructions to give the compiler a better chance to optimize assembly code for the application. We get 32% performance increase and 20% program size reduction using 6 audio codec specific instructions from retargetable compiler. Our experimental results manifest a glimpse of evidence that a higgly retargetable compiler is essential to rapidly prototype a new ASIP for a specific application.

빠른 디자인 공간 탐색 (Design space exploration)은 응용 프로그램의 동작을 구현하기 위한 임베디드 시스템을 디자인하는데 매우 중요하다. Time-to-market이 디자인의 주관심사가 되어감에 따라 ASIP(Application specific instruction-set processor)에 기반한 접근 방식이 디자인 방법론적으로 중요한 대안이 되고 있다. 이러한 접근 방식에서는 타깃 프로세서의 ISA(Instruction set architecture)를 코드 크기와 실행 속도 측면에서 응용 프로그램에 가장 적합하도록 변경한다. 본 논문의 목적은 우리의 새로운 재겨냥성 컴파일러를 소개하고, 많이 알려진 디지털 신호 처리용 응용 프로그램을 위한 ASIP 기반 디자인 공간 탐색에서 컴파일러가 어떻게 활용될 수 있는지 설명하고자 하는 것이다. 새롭게 개발된 재겨냥성 컴파일러는 이전의 재겨냥성 컴파일러의 기능을 제공할 뿐만 아니라 application 프로그램의 특징을 시각화하고 application 프로그램의 프로파일된 결과를 제공하므로 application의 성능을 증가시키기 위해 어떤 명령어들을 넣어야 하는지를 결정하는데 도움을 준다. 재겨냥성 컴파일러의 ADL(Architecture description language)를 이용하여 타깃 프로세서의 초기 RISC-style ISA을 기술하고, 컴파일러가 응용 프로그램을 위한 어셈블리 코드를 더 최적화할 수 있도록 응용 프로그램에 특화된 명령어를 ISA에 점진적으로 추가해 나간다. AC3 오디오 codec을 위한 실험 결과로부터 우리는 32%의 성능 증가와 20%의 프로그램 크기 감소를 얻을 수 있는 6개의 새로운 특화 명령어를 빠르게 찾을 수 있었다. 따라서 우리는 고성능의 재겨냥성 컴파일러는 특정 응용 프로그램을 위한 새로운 ASIP의 빠른 디자인을 하기 위한 중요한 핵심이라는 것을 확인할 수 있었다.

Keywords

References

  1. Associated Compiler Experts, Inc. http://www/ace/nl
  2. ATSC Standard: Digital Audio Compression (AC-3), Revision A, In Advanced Television Systems Committee, 20 August 2001
  3. A. Appel, J. Davidson and N. Ramsey, The Zephyr Compiler Infrastructure. Technical Report at the University of Virginia, 1998
  4. G. Araujo and S. Malik. Code generation for Fixed-point DSPs, In ACM Transactions on Design Automation of Electronic Systems, Vol.3, No.2, pp.136-161, April, 1998 https://doi.org/10.1145/290833.290837
  5. S. Bilavarn, E. Debes, P. Vandergheynst and J. Diguet. Processor Enhancements for Media Streaming Applications, In Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology, Vol.41, No.2, 2005 https://doi.org/10.1007/s11265-005-6652-5
  6. C. W. Fraser, et. al. BURG: fast optimal instruction selection and tree parsing, In ACM SIGPLAN Notices, pp.68-76, 1992 https://doi.org/10.1145/131080.131089
  7. G. Hadjiyiannis, S. Hanano, and S. Devada. ISDL: An Instruction Set Description Language for Retargetability. In Proceedings of the 34th Design Automation Conference, pp. 299-302, 1997
  8. S. Hanono, S. Devadas, Instruction Selection, Resource Allocation, and Scheduling in the AVIV retargetable code generator, 35th Design Automation Conference(DAC), 1998 https://doi.org/10.1145/277044.277184
  9. J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach, Morgan Kaufman Publishers, 2003
  10. M. Hohenauer. A Methodology and Tool Suite for C compiler generation from ADL Processor Models, In Design Automation and Test in Europe Conference & Exhibition, Vol.2, 2004 https://doi.org/10.1109/DATE.2004.1269071
  11. M. Itoh, et. al. PEAS-III: An ASIP Design Environment. In Proceedings of the Int. Conf. on Computer Design, 2000 https://doi.org/10.1109/ICCD.2000.878319
  12. S. Jung and Y. Paek. The Very Portable Optimizer for Digital Signal Processors, In International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pp.84-92, 2001 https://doi.org/10.1145/502217.502230
  13. K. Kim, J. Kang and W. Sung. AUTOSCALER For C: An Optimizing Floating-Point to Integer C Program Converter For Fixed-Point Digital Signal Processors, IEEE Transactions on Circuits Systems, Vol.47, No.9, Sep., 2000 https://doi.org/10.1109/82.868453
  14. P. Lapsely, et al. DSP Processor Fundamentals, Architectures and Features, In IEEE Press, 1997
  15. J. Lee, K. Choi and N. Dutt. Efficient instruction encoding for automatic instruction set design of configurable ASIPs, In Proceedings of the IEEE/ACM international conference on Computer-aided design, San Jose, 2002 https://doi.org/10.1109/ICCAD.2002.1167601
  16. P. Mishra and N. Dutt. Architecture Description Languages for Programmable Embedded Systems, In IEE Proceedings on Computers and Digital Techniques, 2005 https://doi.org/10.1049/ip-cdt:20045071
  17. J. Praet, D. Lanneer, W. Geurts and G. Goossens. Processor modeling and code selection for retargetable compilation, ACM Transactions on Design Automation of Electronic Systems, Vol.6, No.3, pp.277-307, July, 2001 https://doi.org/10.1145/383251.383252
  18. H. Scharwaechter, et. al. ASIP Architecture Exploration for Efficient IPSec Encryption: A Case Study, In ACM Transac. on Embedded Computing Systems, Vol.2, No.3, 2001
  19. R. Stallman, Using and Porting GNU CC. Free Software Foundations, Feb. 1998
  20. J. Staunstrup and W. Wolf. Hardware/Software Co-Design: Principles and Practice, Kluwer Academic Publishers, 1997
  21. S. Vernon. Design and implementation of AC-3 coders, In IEEE Transactions on Consumer Electronics, 1995 https://doi.org/10.1109/30.468084
  22. Steve Vernon. Dolby Digital: Audio Coding for Digital Television and Storage Applications, In AES 17th International conference on High Quality Audio Coding, September 1999, Florence, Italy
  23. Coware, Inc. http://www.coware.com