• 제목/요약/키워드: Retargetable Compiler

검색결과 13건 처리시간 0.025초

머쉰 행위기술로부터 Retargetable 컴파일러 생성시스템 구축 (Construction of a Retargetable Compiler Generation System from Machine Behavioral Description)

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

임베디드 시스템 지원을 위한 LCC Retargetable Compiler 에 관한 연구 (A Study of LCC Retargetable Compiler for Embedded Systems)

  • 홍일경;김기창
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (상)
    • /
    • pp.431-434
    • /
    • 2003
  • 과거 임베디드 시스템은 산업용 같은 특수한 경우와 여러 전자 제품에서 눈에 뛰지 않는 형태로 사용이 되어 왔지만 최근 들어 정보통신 분야가 발전하고 가격 대 성능비가 우수한 Microcontroller 와 CPU 들이 등장하면서 더욱 더 각광을 받기 시작했다. 이들의 개발환경은 C 언어와 어셈블리어가 주를 차지하고 있는데 개발상의 많은 장점 때문에 C 언어를 선택하여 사용하고 있지만 target machine 의 C 컴파일러가 전부 제공되지 않고 일부 machine 만 제공되고 있기 때문에 C 언어의 사용은 아직 제한적이다. 이에 본 논문에서는 Retargetable Compiler 인 LCC 를 이용하여 임베디드용 machine 에 대해 retargeting 이 가능하도록 LCC 를 개선시키고자 한다.

  • PDF

응용프로그램에 특화된 명령어를 통한 고정 소수점 오디오 코덱 최적화를 위한 ADL 기반 컴파일러 사용 (Using a H/W ADL-based Compiler for Fixed-point Audio Codec Optimization thru Application Specific Instructions)

  • 안민욱;백윤흥;조정훈
    • 정보처리학회논문지A
    • /
    • 제13A권4호
    • /
    • pp.275-288
    • /
    • 2006
  • 빠른 디자인 공간 탐색 (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의 빠른 디자인을 하기 위한 중요한 핵심이라는 것을 확인할 수 있었다.

Comparison of two retargetable compilers: GCC and SoarGen

  • Zhiwen, Zheng;Ahn, Minwook;Youn, Jonghee M.;Kim, Yongjoo;Kwon, Yongin;Paek, Yunheung
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2009년도 추계학술발표대회
    • /
    • pp.17-18
    • /
    • 2009
  • This paper shows our empirical comparison result between two retargetable compilers, GCC and SoarGen. SoarGen is our retargetable compiler. According to our experimental result, using SoarGen for targeting ODALRISC is proved to be easier and faster than using GCC. The average retarget time of the SoarGen is much less than the retarget time of the GCC.

재겨냥성 C 컴파일러를 위한 테스트 집합 생성 시스템 (Test Suit Generation System for Retargetable C Compilers)

  • 우균;배정호;장한일;이윤정;채흥석
    • 정보처리학회논문지A
    • /
    • 제16A권4호
    • /
    • pp.245-254
    • /
    • 2009
  • 임베디드 프로세서 사용이 증가함에 따라 임베디드 프로세서를 위한 컴파일러를 시기 적절히 개발해야 할 필요성이 증가하고 있다. 컴파일러 후단부를 수정하여 새로운 컴파일러를 구성하는 재겨냥 기법이 이에 적합한 기법으로 채택되고 있다. 이 논문에서는 재겨냥성 C 컴파일러를 테스트하기 위한 테스트 집합 생성 시스템을 제안한다. 제안한 시스템은 문법 커버리지 개념을 이용하여 테스트 집합을 생성한다. 일반적으로 원시 프로그래밍 언어의 문법을 이용하여 테스트 집합을 생성하면 방대한 크기의 테스트 집합이 얻어진다. 그러나 신속히 컴파일러를 출시해야하는 상황에서는 방대한 테스트 집합 크기가 문제가 될 수 있다. 이에 이 논문에서 제안한 시스템은 중간 코드를 고려하여 테스트 집합을 축약하는 기능을 탑재하고 있다. 실험 결과에 따르면, 비록 축약된 테스트 집합 크기는 원본 테스트 집합 크기의 평균 10%에 불과하지만 원본 테스트 집합이 검출할 수 있는 컴파일러 오류의 75% 정도를 검출할 수 있음을 알 수 있었다. 이는 본 논문에서 제시한 축약 기법이 임베디드 컴파일러 개발 초기 단계에서 효과적으로 사용될 수 있음을 의미한다.

효율적인 ASIP 설계를 위한 자동 인스트럭션 확장 시스템 구축 (Construction of an Automatic Instruction-Set Extension System for Efficient ASIP Design)

  • 황덕호;황선영
    • 한국통신학회논문지
    • /
    • 제38B권1호
    • /
    • pp.1-9
    • /
    • 2013
  • 본 논문은 어플리케이션에 최적화된 ASIP설계를 하기 위해 MDL을 기반으로 한 Retargetable 컴파일러를 이용한 자동 인스트럭션 확장 시스템을 제안한다. 제안된 시스템은 어플리케이션 프로그램으로부터 얻은 정보를 이용하여 확장 가능한 인스트럭션 후보를 모두 찾는다. 확장 인스트럭션 후보는 하드웨어 라이브러리를 통해 실제 구현 시의 특성에 대한 정보를 얻게 된다. 하드웨어 특성과 수행 속도 향상을 기반으로 주어진 제한 조건에 맞게 인스트럭션 셋을 선택하고 프로세서 구조를 최적화한다. 제안된 시스템의 효용성을 확인하기 위해 다양한 벤치마크 어플리케이션을 이용하여 자동 인스트럭션 확장 시스템을 수행하였다. 제안된 시스템은 기존의 ARM9TDMI의 프로세서로부터 최적화된 인스트럭션 셋과 프로세서 구조를 갖도록 하였다. 제안된 시스템에 의해 설계된 ASIP는 주어진 제한 조건에 따라 기존 프로세서와 비교하면 평균 33.5%의 수행 사이클이 감소하는 것으로 확인되지만, 프로세서의 면적은 증가하는 것으로 측정되었다.

Application에 최적의 ASIP 설계를 위한 효율적인 Architecture Exploration 방법 (An Efficient Architecture Exploration Method for Optimal ASIP Design)

  • 이성래;황선영
    • 한국통신학회논문지
    • /
    • 제32권9C호
    • /
    • pp.913-921
    • /
    • 2007
  • 프로세서에 따라 수행 가능한 코드를 생성하는 retargetable 컴파일러와 성능 프로파일러는 어플리케이션에 최적화된 프로세서 디자인에 있어 필수적이다. 본 논문은 ADL (Architecture Description Language)에 기반한 architecture exploration 방법을 제시한다. 어플리케이션 프로그램에서 얻어낸 정보로부터 인스트럭션 합성과 프로세서 구조를 최적화 하였다. 어플리케이션에서 많이 사용되는 연산과 레지스터 사용에 대한 정보는 프로세서 최적화를 위해 사용되었다. 시스템의 효용성을 보이기 위해 JPEG 인코더에 대한 architecture exploration을 수행하였다. 제안된 방법을 사용해 설계된 ASIP은 초기 프로세서에 비해 약 1.97배의 성능을 가지는 것으로 측정되었다.

최적화된 에너지 소비를 위한 코드 생성 기술 (Code Generation Techniques for the Optimized Energy Consumption)

  • 고광만;소경영
    • 한국콘텐츠학회논문지
    • /
    • 제8권12호
    • /
    • pp.63-71
    • /
    • 2008
  • 최근 임베디드 시스템의 폭넓은 보급은 응용 소프트웨어 개발과 더불어 임베디드 소프트웨어 개발 도구의 필요성 및 중요성이 강조되고 있으며 임베디드 소프트웨어를 위한 컴파일러의 개발을 동시에 요구하고 있다. 특히, 임베디드 프로세서를 탑재한 모바일 장치에서는 제한된 전력/에너지의 하드웨어적인 관리 못지않게 소프트웨어적인 관리 기술의 중요성이 강조되고 있다. 본 논문에서는 검증된 재목적 컴파일러 후단부 도구인 EXPRESSION을 통해 최적화된 에너지 소비를 고려한 MIPS 코드 생성 기술을 제안하였다. 이를 위해, 효율적인 MIPS 코드 생성을 위한 코드 생성 규칙을 기술하였으며 생성된 코드에 대한 다양한 성능분석 결과를 제시한다.

중간표현을 이용한 재목적 컴파일러의 효율적인 테스트 방법 (An Efficient Approach to Testing Retargetable Compiler Using Intermediate Representation)

  • 장한일;우균;채흥석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (B)
    • /
    • pp.575-579
    • /
    • 2006
  • 컴파일러에 결함이 있다는 것은 곧 잘못된 코드를 생성한다는 것을 의미하므로 양질의 컴파일러 구성은 양질의 소프트웨어 생산을 위한 기본 요구조건이 된다. 임베디드 시스템이 널리 사용되면서 더욱 다양하고 복잡한 임베디드 프로세서가 개발되었고 이는 새로이 설계된 프로세서를 위한 새로운 컴파일러 개발의 필요를 야기하고 있다. 본 논문에서는 프로그램의 중간 표현을 기반으로 하는 효율적인 테스팅 방법을 제안한다. 언어의 구문 규칙을 모두 사용하는 테스트 케이스를 통해 컴파일러를 테스트하는 방법이 이미 연구되었으나, 기존의 소스 코드 수준의 방법으로는 테스트 케이스의 중복성이 존재하는 단점이 있다. 본 논문에서는 중간 표현의 구문 규칙을 이용해서 중복된 테스트 케이스를 제거하여 테스팅 효율을 증가시킬 수 있음을 기술한다. 또한 본 논문에서 제안하는 방법을 GCC의 중간 언어인 RTL에 적용한 예를 통해 설명한다.

  • PDF

신속한 ASIP 성능 평가를 위한 재적응성을 갖는 컴파일러/시뮬레이터 프레임웍 (Retargetable Compiler/Simulator Framework for Rapid Evaluation of ASIP)

  • 오세종;김호영;김탁곤
    • 한국시뮬레이션학회:학술대회논문집
    • /
    • 한국시뮬레이션학회 2003년도 춘계학술대회논문집
    • /
    • pp.79-84
    • /
    • 2003
  • 이 논문은 빠른 ASIP(application specific instruction processor) 평가를 위한 재적응성을 가진 컴파일러/시뮬레이터 환경에 대해 이야기한다. ASIP의 성능은 하드웨어 구조뿐만 아니라, 수행되는 응용 소프트웨어에 영향을 받기 때문에, 높은 성능의 ASIP 개발을 위해서는 컴파일러 및 시뮬레이터의 개발이 선행되어야 한다. 그러나 다양한 ASIP 구조에 따라 적합한 고성능의 컴파일러/시뮬레이터를 만드는 일은 매우 시간 소모적인 일이 될 뿐만 아니라, 오류가 발생하기도 쉽다. 본 논문에서는 HiXR2라는 ADL(architecture description language)을 이용하여 명령어 구조를 기술하고 이를 바탕으로 컴파일러와 시뮬레이터를 자동 생성하였다. HiXR2의 재적응성 및 생성된 컴파일러/시뮬레이터의 정확성을 검증하기 위하여 ARM9 프로세서와 CalmRISC32 프로세서 구조를 각각 기술하고, 각각에 대하여 응용프로그램 코드를 컴파일 및 시뮬레이션 하는 예제를 보였다.

  • PDF