논문 10-35-12-02 한국통신학회논문지 '10-12 Vol.35 No.12 임베디드코어설계를위해설계계층을이용한효율적인 아키텍처탐색 준회원김상우 *, 정회원황선영 * An Efficient Architecture Exploration for Embedded Core Design Exploiting Design Hierarchy Sang-Woo Kim* Associate Member, Sun-Young Hwang* Regular Member 요 약 본논문은임베디드코어의설계계층을이용한아키텍처탐색방법론을제안한다. 제안된방법은다양한설계검증과계층적인설계수준에따른성능측정을고려한체계적인아키텍처탐색을수행한다. 성능측정도구는설계모듈에관련있는성능데이터를가진프로파일을생성한다. 프로파일생성기는설계모듈과성능매개변수에대한연관규칙을얻기위해데이터마이닝을수행한다. 프로파일생성기의추론엔진은다음탐색과정의설계성능을향상시키는새로운연관규칙을얻는다. 제안된아키텍처탐색방법론의효율성을확인하기위해 JPEG 인코더, Chen-DCT, FFT의어플리케이션에대한아키텍처탐색을수행하였다. 제안된방법을이용하여설계된임베디드코어는 MIPS R3000의초기임베디드코어에비해평균 60.8% 의수행사이클감소를보인다. Key Words : 아키텍처탐색, Embedded System, Design Hierarchy, 성능 estimation, 프로파일 ABSTRACT This paper proposes an architecture exploration methodology for the design of embedded cores exploiting design hierarchy. The proposed method performs systematic architecture exploration by taking different approaches for verifying designs and estimating performances depending on the hierarchy level in design process. Performance estimation tools generate profile having performance data related with design modules of an embedded core. Profile analyzer performs data-mining to acquire association rules between the design modules and performance parameters. Inference engine in the profile analyzer updates the association rules which will be used to improve the design performance at next exploration steps. To show the efficiency of the proposed architecture explorations methodology, experiments had been performed for JPEG encoder, Chen-DCT, and FFT application functions. The embedded cores designed by taking the proposed method show performance improvement by 60.8% in terms of clock cycles on the average when compared with the initial embedded core in MIPS R3000. Ⅰ. 서론 한정된용량의배터리로동작하는임베디드시스템 에서다양한어플리케이션에대한짧은 time-to-market 과끊임없는성능개선등에대한요구를충족시키기가어렵게되어, 핵심기능을단일칩으로집약하고전 본연구는교육과학기술부의재원으로한국연구재단의지원을받아수행되었습니다. (#2010-0008043). * 서강대학교전자공학과 CAD & ES 연구실 (hwang@sogang.ac.kr) 논문번호 :KICS2010-06-284, 접수일자 :2010 년 6 월 29 일, 최종논문접수일자 : 2010 년 12 월 7 일 1758 1758
논문 / 임베디드코어설계를위해설계계층을이용한효율적인아키텍처탐색 력소비를최소화한시스템반도체의설계, 개발이중요하게되었다 [1][2]. 시스템수준의저전력설계를위해동적전력관리, 동적전압조절, 저전력코드를생성하는컴파일러등의방법이제안되었다. 동적전력관리는시스템구성요소가불필요한전력소모를최소화하기위해시스템의동작환경에따라전력상태를변화시키는방법이고 [3], 동적전압조절은프로세서의동작전압과이에따른동작주파수를조절하는방법이다 [4]. 저전력코드를생성하는컴파일러는명령어의 recoding과스케줄링을통해프로세서에저전력동작이가능한명령어를재구성한다 [5][6]. 특정어플리케이션에대한고성능동작과설계스펙의변동에능동적으로대처할수있는 ASIP (Application Specific Instruction-set Processor) 의사용으로최적화된명령어집합과프로세서구조를갖는임베디드코어의설계가짧은시간내에가능하게되었으나, 저전력 ASIP 설계는최적화된명령어집합과프로세서의구조에알맞은저전력코드를생성하는컴파일러설계에많은비용과시간이필요하다. 이러한문제점을해결하기위해제안된머신기술언어를이용한 ASIP 설계방식에서는기술된타겟프로세서에적합한컴파일러와시뮬레이터등을자동생성하여설계의정확성과일관성을검증할수있도록하여야, 보다다양하고넓은탐색공간에서의아키텍처탐색이가능하다 [5]. 최적화된 ASIP을설계하기위한아키텍처탐색은전력소모, 실행시간, 칩면적등을조합한비용함수의값이최적화된설계모듈을찾아내는과정이다 [7][8]. 최적화된설계모듈을얻어내는과정은컴파일러와시뮬레이터등을생성하는과정, 성능측정의결과를획득하고분석하는과정에소요되는시간이필요하므로, 고려해야할설계모듈이많을수록설계시간과비용이증가하게된다 [7]. 아키텍처탐색의효율성을향상시키기위해서로 trade-off 관계에있는설계검증을위한시뮬레이션의수행속도와성능측정의정확성을동시에고려한효율적인시스템의개발이필요하다 [9-11]. 컴파일러기반의아키텍처탐색은타겟프로세서와컴파일러설계의일관성을위해머신기술언어기반방식을이용하며, 어플리케이션프로그램의정적분석결과와시뮬레이션을통해얻은동적분석결과를이용하여어플리케이션에최적화된타겟프로세서의구조와명령어집합을결정한다 [8,12]. 이방법은다양한컴파일러의최적화기법을고려하여고성능 ASIP을얻을수있으나아키텍처탐색과정에서컴파일러의 최적화기법과관련이없는시뮬레이션과프로파일분석등을수행하므로최종 ASIP을얻는과정에많은시간이소요된다 [11]. 이를극복하기위해시뮬레이션의수행속도와성능측정의정확성을동시에고려한아키텍처탐색방법은어플리케이션프로그램의각 basic-block의수행빈도와수행사이클수예측한결과를바탕으로초기 ASIP을빠르게결정하고, 시뮬레이터를이용하여얻은프로파일을분석한결과를가지고초기 ASIP을개선하는방법이제안되었으나 [6], 역시설계 hierarchy에따른특성을활용하며아키텍처탐색을수행하지않고있다. 본연구에서는임베디드코어설계를위해머신기술언어기반방식의아키텍처탐색을위한방법론을제시한다. 제안된아키텍처탐색방법은어플리케이션에최적화된임베디드코어를빠르게얻기위해, 아키텍처탐색과정에서설계단계에따라성능측정할설계모듈을정해놓고불필요한프로파일링의과정을최소화한다. 아키텍처탐색과정에서얻은프로파일은다음설계단계에서의아키텍처탐색의수행단계에서시뮬레이터를수행하여얻은프로파일에포함되도록계층적으로프로파일을프로파일데이터베이스에저장된다. 아키텍처탐색의수행단계를효율적으로결정하기위해제안된프로파일분석기는프로파일데이터베이스에서현재아키텍처탐색의수행단계에해당되는관련프로파일을입력으로분석과정과추정과정을통해임베디드코어의성능을향상시킬수있는임베디드코어의설계모듈에대한정보를찾아낸다. 임베디드코어의성능을보다향상시킬수있는설계모듈을중심으로아키텍처탐색의다음단계를위한임베디드코어의구조를개선한다. 본논문의구성은다음과같다. 제 2절에서는제안하는방식이적용되는전체 framework인 RISGen (Retargetable Instruction-set Simulator Generator) 시스템의개관을설명하고, 제 3절에서는제안된아키텍처탐색흐름도와프로파일데이터베이스, 그리고프로파일분석기에대해설명한다. 제 4절에서는제안된아키텍처탐색방법을이용하여얻어낸최종임베디드코어의성능과아키텍처탐색방법의효율성에대한실험결과를보이며, 마지막으로제 5절에서결론및추후과제를제시한다. Ⅱ. RISGen 시스템개관 RISGen 시스템은 SMDL 언어 [13-15] 로기술한타겟프로세서모델의구조적정보와행위정보를가진 IR 1759 1759
한국통신학회논문지 '10-12 Vol.35 No.12 (Intermediate Representation) 로부터시뮬레이션커널 과성능측정모델을참조하여 event-driven 방식의 시뮬레이터와 retargetable 컴파일러, 그리고임베디드 코어를자동생성한다. 그림 1 은 RISGen 시스템의개 관을보인다. 그림 1. RISGen 시스템의개관 1760 임베디드코어모델은 IR 을입력으로한임베디드 코어생성기에서생성되며임베디드코어의파이프라인정보, 데이터패스구조정보, 기능유닛간의연결정보등을가진다 [13]. RISGen 라이브러리는 event-driven 방식의시뮬레이션커널, 운영체제에동작하는시스템콜을시뮬레이션하기위한시스템콜모델, trade-off 관계에있는시뮬레이션의수행속도와성능측정의정확성에대한성능측정모델등을가진다. 시뮬레이터생성기는임베디드코어모델과 RISGen 라이브러리를참조하여성능측정모델에해 당되는 event-driven 방식의시뮬레이터를생성한다 [15]. 아키텍처탐색과정을효율적으로수행하기위해설계단계에알맞은성능측정의속도와정확도를가진성능측정모델이필요하다 [9][11]. 그림 2는 RISGen 시스템에서수행속도와정확도관계를보인다. 인스트럭션스케줄을이용하는방법은컴파일러인스트럭션스케줄러가어플리케이션프로그램을정적으로분석한결과인 basic-block 수준의프로파일을빠르게얻어낸다 [17]. 사이클수준시뮬레이터를이용하는방법은타겟프로세서의파이프라인구조를총체적으로반영한시뮬레이션을수행하여정확한성능측정을구할수있으나시뮬레이션속도가느리다. 명령어수준시뮬레이터를이용하는방법은각명령어가타겟프로세서의파이프라인에동작되는사이클값을이용하여시뮬레이션을수행하며파이프라인구조의세부적인정보를고려하지않으므로, 사이클수 그림 2. RISGen 시스템에서수행속도와정확도관계준시뮬레이터를이용한방법보다성능측정의정확도가낮으나빠른시뮬레이션속도를가진다. Ⅲ. 제안된아키텍처탐색시스템본절에서는제안된임베디드코어의설계계층을이용한아키텍처탐색흐름과프로파일분석기를제시한다. 3.1 임베디드코어의설계계층을이용한아키텍처탐색흐름아키텍처탐색은일반적으로매우긴시간을요구할과정으로최적화된프로세서모델을얻어내는과정에서불필요한성능측정등을최소화하는것이중요하다 [5,10,11]. 본논문에서제안된아키텍처탐색시스템은임베디드코어의설계단계에서서로다른설계계층에서의특성을이용하여체계적으로탐색시간을줄일수있도록한다. 그림 3은제안된아키텍처탐색흐름도를보인다. 머신기술언어의파싱에의해생성된프로세서모델은임베디드코어생성기, SRCC (Sogang Retargetable Compiler Compiler) 시스템과시뮬레이터생성기에서임베디드코어모델, retargetable 컴파일러와시뮬레이터생성에필요한타겟프로세서의구조적정보와행위정보를가진다 [13][14][15]. SRCC 시스템에서생성된 retargetable 컴파일러는초기임베디드코어를얻을때까지어플리케이션프로그램을정적으로분석한결과인 basic-block 수준의프로파일을생성하고, 초기임베디드코어가확정되면바이너리코드로변환한다. 본논문의아키텍처탐색시스템에이용되는컴파일드코드방식의시뮬레이터는시뮬레이션속도를향상시키기위해제안되었다 [16]. 시뮬레이터생성기는임베디드코어모델과 RISGen 라이브 1760
논문 / 임베디드코어설계를위해설계계층을이용한효율적인아키텍처탐색 그림 3. 제안된아키텍처탐색흐름도러리, 그리고바이너리코드를참조하여시뮬레이션의명령어디코드과정을정적으로결정하고사이클수준과명령어수준컴파일드코드방식의시뮬레이터를생성한다. 성능측정으로획득한프로파일정보는다음설계단계에서의아키텍처탐색의수행단계에서얻어낼프로파일에포함되도록계층적구조를갖는프로파일데이터베이스에저장된다. 프로파일분석기는현재아키텍처탐색의수행단계에해당되는프로파일데이터베이스의관련프로파일을이용하여임베디드코어의성능을향상시킬수있는설계모듈을구하고, 얻어낸설계모듈을바탕으로임베디드코어의구조를개선한다. 아키텍처탐색의수행단계에서목표하는임베디드코어를얻을때까지위과정을반복한다. 제안된아키텍처탐색은프로파일정보를얻어내는성능측정도구가가진성능측정의수행속도와정확도를고려하여어플리케이션에최적화된임베디드코어를빠르게얻어내는 3단계아키텍처탐색방식을수행한다. 아키텍처탐색의 1단계는초기임베디드코어의구조를빠르게결정하기위해 basic-block 수준의프로파일정보를얻어내는컴파일러의인스트럭션스케줄링결과를이용한다. 이과정은넓은설계공간을가지며프로세서리소스, 프로세서구조등의관련설계모듈을고려하여초기임베디드코어에결정하고최적화된컴파일러의명령어선택기를얻는다. 개선된임베디드코어의각설계모듈은임베디드코어의성능기여도값이설계자가정해놓은기준값보다작으면개선할설계모듈의목록에제외하며, 고려할 설계모듈이없을경우초기임베디드코어의구조로정하고컴파일러의명령어선택기를생성한다. 아키텍처탐색의 2단계는 1단계보다축소된설계공간에서임베디드코어의각설계모듈에대해정확한프로파일정보를얻어내기위해명령어수준컴파일드코드방식의시뮬레이션을수행한다. 이과정에서레지스터파일, 기능유닛, 명령어집합아키텍처구조, 프로세서리소스간의연결구조, 데이터패스구조등의설계모듈을고려하여향상된임베디드코어를결정하고최적화된컴파일러의인스트럭션스케줄러를생성한다. 아키텍처탐색의 3단계는데이터포워딩등과같은최적화된임베디드하드웨어기법을이용한임베디드코어설계를위해 2단계보다더욱정확한임베디드코어의각설계모듈에대한프로파일을생성하는사이클수준컴파일드코드방식의시뮬레이션을수행한다. 이과정에서임베디드코어의세부적인파이프라인구조를중심으로레지스터파일, 기능유닛, 명령어집합아키텍처구조, 데이터패스구조등의설계모듈을개선하여임베디드코어의성능을극대화시킬수있는결과를생성한다. 3.2 프로파일분석기제안된아키텍처탐색을효율적으로수행하기위해서는임베디드코어의설계모듈에관련있는성능데이터를올바르게분석하는프로파일분석기가필요하다. 그림 4는제안된프로파일데이터베이스를보인다. 제안된프로파일데이터베이스에서는아키텍처탐색의수행단계에따른성능측정이요구되는임베디드코어의설계모듈을고려한프로파일분석을위해현재아키텍처탐색의수행단계에서얻은프로파일이다음설계단계의아키텍처탐색의수행과정에서얻은프로파일에포함되도록계층적으로프로파일을구성된다 [18]. 아키텍처탐색의 1단계는임베디드코어그림 4. 제안된프로파일데이터베이스. 1761 1761
한국통신학회논문지 '10-12 Vol.35 No.12 를빠르게결정하기위해컴파일러의인스트럭션스케줄링결과를이용하여프로세서리소스, 프로세서구조등에대한프로파일정보를얻는다. 아키텍처탐색의 2단계는초기임베디드코어의성능을향상시키기위해명령어수준컴파일드코드방식의시뮬레이터를이용하여기능유닛, 레지스터파일, 명령어집합아키텍처등과데이터패스구조, 파이프라인구조등에대한프로파일정보를얻는다. 아키텍처탐색의 3단계는임베디드코어의성능을극대화시키기위해사이클수준컴파일드코드방식의시뮬레이터를이용하여산술논리유닛, 분기처리유닛, 레지스터크기, 레지스터사용정보, 명령어행위, 어드레싱모드등에대한프로파일정보를얻는다. 아키텍처탐색의수행단계가증가할수록더욱구체적인프로파일정보를얻어야하므로성능측정의높은정확도를가진성능측정도구를사용한다. 그림 5는프로파일데이터베이스에서현재아키텍처탐색의수행단계에해당되는관련프로파일을분석하여개선된임베디드코어의설계정보를생성하는프로파일분석기를보인다. 제안된프로파일분석기는프로파일분석을통해연관규칙을찾아내는데이터마이닝기법을적용한다 [18]. 데이터마이닝블록은임베디드코어의설계모듈에관련있는성능데이터를가진프로파일을분석과정에의해설계모듈과성능매개변수에대한연관규칙을구하여연관규칙저장소에저장한다. 프로파일분석기의라이브러리는임베디드코어의설계에서고려해야할설계모듈에대한우선순위를구성한다. 추론엔진은데이터마이닝블록의연관규칙저장소와라이브러리를참조하여패턴매칭을수행하며추론할수없는연관규칙을데이터마이닝블록의연관규칙저장소에업데이트한다. 추론엔진에서임베디드코어 의성능을향상시킬수있는새로운연관규칙을더이상을구할수없으면본과정을완료하고다음탐색과정에서임베디드코어의성능을향상시킬수있는설계모듈의정보를가진새로운연관규칙을얻는다. 얻어낸연관규칙을바탕으로 SMDL 언어로기술된타겟프로세서를개선한다. Ⅳ. 실험결과제안된아키텍처탐색시스템의효율성검증을위해 JPEG 인코더, Chen-DCT, FFT에최적화된임베디드코어를설계하였다. MIPS R3000 프로세서를 SMDL 언어로기술하여초기프로세서로사용하였다. MIPS R3000 프로세서는 IF, ID/OF, ALU, MEM, WB 스테이지로 5단파이프라인구조를가지며 ALU, load, store, jump branch, condition branch 명령어종류로구성된명령어집합을가진다. JPEG 인코더에최적화된초기임베디드코어를얻기위해아키텍처탐색 1단계를수행하였다. 아키텍처탐색 1단계는산술논리유닛, 분기처리유닛등의구조에따른컴파일러의명령어선택기를자동생성하기위해명령어종류에따른수행빈도를가진 basic-block 수준의프로파일을얻어낸다. 생성된프로파일은컴파일러인스트럭션스케줄러를이용하여 JPEG 인코더프로그램을정적으로분석한결과인각 basic-block 수행빈도, basic-block의명령어종류별개수와스케줄지연시간, 조건분기의 taken과 non-taken 횟수, 각 basic-block의수행빈도와스케줄지연시간을곱하여총합한전체수행사이클의값등을가진다. 그림 6은 MIPS R3000의초기임베디드코어에서명령어종류에따른수행빈도를보인다. Basic-block 수준의프로파일을입력으로한프로파일분석기는 ALU와 load 명령어종류의수행빈도가전체 75.4% 이고조건분기명령어종류에서총 그림 5. 제안된프로파일분석기 1762 1762 그림 6. MIPS R3000 의초기임베디드코어에서명령어종류에따른수행빈도.
논문 / 임베디드코어설계를위해설계계층을이용한효율적인아키텍처탐색 454,264번 not-taken과총 50,307번 taken의횟수등의결과를얻었다. JPEG 인코더프로그램의이진코드크기와전체수행사이클의값을감소하기위해 ALU 와 load 명령어종류에서많이수행하는명령어중심으로합성된명령어집합을구성하고산술유닛구조를개선하였다 [14]. PC 블록을포함한분기처리유닛은 non-taken 횟수가전체 90% 를차지하므로 not-taken 중심으로분기타겟주소를미리계산하는구조를가진다. 이러한과정을반복하여프로파일분석기에서더이상최적화할필요가없다는분석결과가나오면아키텍처탐색 2단계로수행하였다. 2단계에사용되는명령어수준컴파일드코드방식의시뮬레이터는파이프라인스테이지의구체적인구조적정보와행위정보를고려하지않고빠른시뮬레이션의수행속도를가지므로레지스터데이터의의존성등을최소화하여개선된레지스터파일, 데이터패스구조등을빠르게설계할수있다. 레지스터파일구조의설계는가장많이수행되는명령어패턴을중심으로컴파일러생성시스템에서사용되는레지스터용도에따른레지스터크기를결정하였다 [8][14]. JPEG 인코더프로그램을고려한레지스터파일구조는전체수행사이클의값을일정비율로감소할때까지 MIPS R3000 프로세서의레지스터파일구조에서 temporary 레지스터 7개와 argument 레지스터 2개로정하여불필요한레지스터의개수를최소화하였다. Temporary 레지스터는전체수행사이클의값을감소시키기위해 common sub-expression elimination 등의코드최적화를수행하여연산과정의임시데이터를저장하기위한레지스터로사용한다 [14]. Argument 레지스터는함수호출의매개변수전달을위한레지스터이며, JPEG 인코더프로그램의함수들이 3개이상의 argument 레지스터를필요하지않다. 합성된명령어집합과레지스터파일구조를바탕으로데이터패스구조를재구성하고최적화된컴파일러의인스트럭션스케줄러를자동생성하였다. 마지막으로아키텍처탐색 3단계는전체수행사이클의값을감소시킬수있도록파이프라인스테이지별구조를개선한다. 개선된파이프라인구조는 ID/OF 스테이지에서분기처리유닛을배치하여 non-taken 분기를수행하고 ALU 스테이지에서자주수행하는명령어패턴을고려한산술유닛과재구성된데이터패스등의구조를배치하였다. 또한데이터포워딩등과같은최적화된임베디드하드웨어기법을이용하여파이프라인세부구조를개선하고최종임베디드코어를생성하였다. 최종임베디드코어는특정어플리케이션에최적화된하드웨어 자원과수행사이클등을가지며제안된아키텍처탐색방법에서생성된컴파일러를이용하면다른응용프로그램의소스코드를최종임베디드코어의구조에적합한머신코드로변환하므로보다많은어플리케이션적용이가능하다. 표 1은 JPEG 인코더, Chen-DCT, FFT 어플리케이션에따른 MIPS 3000의임베디드코어와제안된아키텍처탐색방법을수행하여얻은최종임베디드코어의성능비교를보인다. 측정된임베디드코어의수행사이클은사이클수준컴파일드코드방식의시뮬레이터로시뮬레이션을수행한결과이다. 제안된아키텍처탐색방법을수행하여얻은최종임베디드코어는 MIPS R3000의초기임베디드코어에불필요한하드웨어자원을최소화하기위해특정어플리케이션에최적화된산술연산유닛과분기처리유닛의구조, 레지스터파일구조, 데이터패스구조, 파이프라인구조등을개선되었으며, MIPS R3000의초기임베디드코어에비해평균 60.8% 수행사이클이감소된결과를보인다. 또한컴파일러기반의아키텍처탐색방법 [8] 을수행하여얻은 JPEG 인코더어플리케이션에최적화된임베디드코어와비교하면평균 11.7% 수행사이클의값이감소되었다. 설계계층을이용한아키텍처탐색방법은설계모듈별로적합한컴파일러의최적화기법을적용하여향상된수행사이클을가진임베디드코어를설계할수있다. 그림 7은세가지어플리케이션에대해제안된아키텍처탐색방법으로최종임베디드코어를얻을때까지각아키텍처탐색의수행단계에서총반복횟수비교를보인다. 아키텍처탐색 1단계의총반복횟수를 1로놓고아키텍처탐색 2단계와 3단계의상대적인총반복횟수를구하였다. 아키텍처탐색 3단계는 1단계에비해평균 11.3배총반복횟수를가지며 3단계는 2단계에비해평균 3.9배총반복횟수를가진다. 아키텍처탐색의수행단계가증가할수록임베디드코어, 컴파일러와컴파일드코드방식의시뮬레이터의생성과프 표 1. 어플리케이션별임베디드코어의성능비교. 어플리케이션 MIPS R3000 의초기임베디드코어 (# cycles) 개선된임베디드코어 (# cycles) 비고 JPEG 인코더 6,635,496 2,592,952-60.9% Chen-DCT 191,742 81,345-57.6% FFT 53,178 22,439-57.8% Average 2,293,472 898,912-60.8% 1763 1763
한국통신학회논문지 '10-12 Vol.35 No.12 코어를설계하였으며, 그결과는 MIPS R3000의초기임베디드코어에비해평균 60.8% 수행사이클이감소되었다. 추후과제는제안된아키텍처탐색방법으로얻은임베디드코어와특정어플리케이션에최적화된 IP (Intellectual Property) 등을고려하여버스구조등을결정하는확장된아키텍처탐색연구가필요하다. 그림 7. 아키텍처탐색의수행단계에따른총반복횟수비교. 로파일분석과정의총반복횟수가증가하였다. 이 결과를통해제안된아키텍처탐색방법은보다짧은 time-to-market을위해아키텍처탐색 2단계와 3단계의반복횟수를줄어야하나빠른시뮬레이션속도를가진컴파일드코드방식의시뮬레이터로체계적으로설계공간을축소시키면서컴파일러의최적화된명령어선택기와인스트럭션스케줄러를생성할수있다는점에서의의가있다. 1764 Ⅴ. 결론및추후과제 본논문은설계과정에서설계 hierarchy에따라다른탐색방법을갖도록하여효율적으로탐색공간을축소시키고불필요한성능측정과정을최소화하는아키텍처탐색방법을제안하였다. 아키텍처탐색 1단계는컴파일러의인스트럭션스케줄을이용하여빠르게성능측정된프로파일을바탕으로컴파일러의명령어선택기를결정하고초기임베디드코어를얻었다. 아키텍처탐색 2단계는컴파일러의인스트럭션스케줄러를결정하기위해 1단계보다높은성능측정의정확성을가진명령어수준컴파일드코드방식의시뮬레이터를수행하였고, 3단계는임베디드코어의파이프라인구조를중심으로사이클수준컴파일드코드방식의시뮬레이터를수행하여프로파일링하고최적화된임베디드코어를생성하였다. 초기임베디드코어를빠르게결정할수있으며, 임베디드코어의설계모듈에관련있는성능데이터를분석하는프로파일분석기를제안하였다. 프로파일분석기는프로파일데이터베이스에서현재아키텍처탐색의수행단계에해당되는관련프로파일을분석과정과추정과정을통해임베디드코어의성능을향상시킬수있는설계모듈의정보를가진새로운연관규칙을찾아낸다. 제안된아키텍처탐색방법을이용하여 JPEG 인코더, Chen-DCT, FFT 어플리케이션에최적화된임베디드 1764 참고문헌 [1] J. Rabaey and M. Pedram, Eds., Low Power Design Methodologies, Kluwer Academic Pub., 1996. [2] T. Makimoto and Y. Sakai, Evolution of Low Power Electronics and Its Future Applications, in Proc. ISLPED, pp.2-5, Aug. 2003. [3] T. Burd, T. Pering, A. Stratakos, and R. Brodersen, A Dynamic Voltage Scaled Microprocessor System, IEEE J. Solid-State Circuits, Vol.35, No.11, pp.1571-1580, Nov. 2000. [4] L. Benini, A. Bogliolo, and G. De Micheli, A Survey of Design Techniques for System-Level Dynamic Power Management, IEEE Trans. VLSI Systems, Vol.8, No.3, pp.299-316, June 2000. [5] 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. [6] S. Lee, S. Lee, and S. Hwang, A Concurrent Instruction Scheduling and Recoding Algorithm for Power Minimization in Embedded Systems, IEICE Transactions on Information and Systems, Vol.93-D, No.8, Aug 2010. [7] M. Gries and K. Keutzer, Eds., Building ASIPs: The Mescal Methodology, Springer, 2005. [8] 이성래, 황선영, Application에최적의 ASIP 설계를위한효율적인 Architecture Exploration 방법, 한국통신학회논문지, 32권, 9호, pp.913-921, 2007년 9월. [9] K. Karuri, Al Faruque, S. Kraemer, R. Leupers, G. Ascheid, and H. Meyr, Fine-grained Application Source Code Profiling for ASIP Design, in Proc. Design Automation
논문 / 임베디드코어설계를위해설계계층을이용한효율적인아키텍처탐색 Conference, pp.329-334, June 2005. [10] L. Cai, A. Gerstlauer, and D. Gajski, Retargetable Profiling for Rapid, Early System-level Design Space Exploration, in Proc. Design Automation Conference, pp.281-286, July 2004. [11] T. Kempf, K. Karuri, S. Wallentowitz, G. Ascheid, R. Leupers and H. Meyr, A SW Performance Estimation Framework for Early System-level -design using Fine-grained Instrumentation, in Proc. Conf. Design Automation and Test in Europe, pp.468-473, March 2006. [12] A. Shrivastava, S. Park, E. Earlie, N. Dutt, A. Nicolau and Y. Paek, Automatic Design Space Exploration of Register Bypasses in Embedded Processors, IEEE Trans. Computer-Aided Design, Vol.26, No.12, pp.2102-2115, Dec. 2007. [13] 조재범, 유용호, 황선영, 임베디드프로세서코어자동생성시스템의구축, 한국통신학회논문지, 30권 6A호, pp.526-534, 2005년 6월. [14] 이성래, 황선영, 머쉰행위기술로부터 Retargetable 컴파일러생성시스템구축, 한국통신학회논문지, 32권 5호, pp.286-294, 2007년 5월. [15] 홍성민, 박창수, 황선영, DSP 프로세서용인스트럭션셋시뮬레이터자동생성기의설계에관한연구, 한국통신학회논문지, 제32권. 9호, pp. 931-939, 2007년 9월. [16] M. Reshiadi, N. Bansal, P. Mishra, and N. Dutt, An Efficient Retargetable Framework for Instruction-Set Simulation, in Proc. IEEE/ACM/IFIP Int. Conf. Hardware/Software Codesign & System Synthesis, pp.13-18, Oct. 2003. [17] T. Conte and C. Gimarc, Fast Simulation Of Computer Architectures, Kluwer Academic Pub., 1995. [18] J. Han, M. Kamber and J. Pei, Data Mining: Concepts and Techniques, Morgan Kaufmann, 2005. 김상우 (Sang-Woo Kim) 준회원 2009년 2월서강대학교전자공학과 2009년 3월 ~ 현재서강대학교전자공학과석사과정 < 관심분야 > ASIP Design, Retargetable Compiler for Embedded System 황선영 (Sun-Young Hwang) 정회원 1976년 2월서울대학교전자공학과 1976년 2월한국과학원전기및전자공학과공학석사취득 1986년 10월미국 Stanford대학교전자공학박사학위취득 1976년~1981년삼성반도체 ( 주 ) 연구원, 팀장 1986년~1989년 Stanford 대학 Center for Integrated Systems 연구소책임연구원및 Fairchild Semiconductor, Palo Alto Research Center 기술자문 1989년~1992년삼성전자 ( 주 ) 반도체기술자문 2002년 4월 ~2004년 3월서강대학교정보통신대학원장 1989년 3월~현재서강대학교전자공학과교수 < 관심분야 > SoC 설계및 framework 구성, CAD 시스템, Embedded 시스템, DSP 시스템설계등 1765 1765