논문 13-38A-12-14 한국통신학회논문지 (J-KICS) '13-12 Vol.38A No.12 http://dx.doi.org/10.7840/kics.2013.38a.12.1094 4-Way 캐쉬의선택된 를이용한향상된동적분기예측기구현 황인성, 황선영 An Improved Dynamic Branch Predictor by Selective Access of a Specific in 4-Way Cache In-sung Hwang, Sun-young Hwang 요 약 본논문은 4-Way 캐쉬의선택된 element만을사용하여어플리케이션수행사이클을줄인향상된동적분기예측기를제안한다. 제안된동적분기예측기는분기명령어가페치되면 MRU 버퍼를참조하여 4-Way 캐쉬의선택된 element에서타깃주소를얻으므로, 모든 element에접근하는기존의동적분기예측기보다제한된전력하에서 BTAC entry 수를증가시킬수있어분기예측성공률과어플리케이션의수행속도가상당히향상된다. 제안된동적분기예측기의효율성을 SMDL 시스템에의해생성된코어가벤치마크어플리케이션을수행하여검증한다. 실험결과동적분기예측기가없는코어에비해생성된코어의어플리케이션수행사이클은평균 10.1% 감소하고어플리케이션의전력소모는 7.4% 증가한다. 기존동적분기예측기를사용하는코어에비해수행사이클은평균 4.1% 줄어든다. Key Words : Embedded System, Branch Prediction, MRU Buffer, BTAC, MDL ABSTRACT This paper proposes an improved branch that reduces the number execution cycles of applications by selectively accessing a specific element in 4-way associative cache. When a branch instruction is fetched, the proposed branch acquires a branch target address from the selected element in the cache by referring to MRU buffer. Branch prediction rate and application execution speed are considerably improved by increasing the number of BTAC entries in restricted power condition, when compared with that of previous branch which accesses all elements. The effectiveness of the proposed dynamic branch is verified by executing benchmark applications on the core simulator. Experimental results show that number of execution cycles decreases by an average of 10.1%, while power consumption increases an average of 7.4%, when compared to that of a core without a dynamic branch. Execution cycles are reduced by 4.1% in comparison with a core which employs previous dynamic branch. Ⅰ. 서론최근스마트폰시장이확대되고스마트기술이발달함에따라기존임베디드프로세서보다깊은 본연구는삼성전자 ( 주 ) 의지원으로수행되었으며 IDEC 에서제공한 CAD tool 을이용해 simulation 을수행하였습니다. First Author: 서강대학교전자공학과 CAD & ES 연구실, insung78@sogang.ac.kr, 학생회원 Corresponding Author: 서강대학교전자공학과 CAD & ES 연구실, hwang@sogang.ac.kr, 종신회원논문번호 :KICS2013-11-502, 접수일자 :2013 년 11 월 21 일, 심사일자 :2013 년 12 월 4 일, 최종논문접수일자 :2013 년 12 월 9 일 1094
논문 / 4-Way 캐쉬의선택된 를이용한향상된동적분기예측기구현 파이프라인으로구성된고사양임베디드코어에대한수요가증가하고있다 [1,2]. 파이프라인이깊어질수록분기명령의페널티로인해지연되는시간이길어지므로분기명령의페널티를줄여야한다. 분기의 taken 여부를결정하고다음타깃주소를결정하기까지걸리는시간이분기명령 hazards에의한페널티가된다. 분기명령의페널티감소와코어성능향상을위해분기예측이사용되며 [3], 정적인방법과동적인방법으로나뉜다. 정적분기예측은어플리케이션수행이전에컴파일러로분기를예측하는방법으로일관되게분기의결과를 taken 혹은 not-taken으로결정하거나미리결정해놓은테이블의값을사용한다 [4]. 어플리케이션수행전에분기결과가결정되므로추가적인하드웨어가필요없다는장점이있으나분기예측성공률이낮고, 어플리케이션의분기특성이나분기명령의정보를반영해야분기예측의효율을높일수있다는단점이있다 [5,6]. 동적분기예측은기존의분기정보를활용하여런타임에분기를예측하므로정적분기예측보다예측률이높으나추가적인하드웨어자원이필요하다는단점이있다. 대표적인동적분기예측방식으로 bimodal, tournament, Gshare가제안되었다 [3]. Bimodal은최근의분기결과를 BHT (Branch History Table) 에저장하고그결과에따라다음분기결과를예측하는방식이다. 간단하고추가되는하드웨어도작으나분기예측률이낮다. Tournament 방식은 global 분기와 local 분기를각각고려하여분기예측률이높으나예측이성공해도모든페널티의제거가불가능하다. Gshare 방식은분기명령이 taken 될경우의타깃주소를 BTAC (Branch Target Address Cache) 에미리저장하여예측성공상황의분기명령페널티를제거한다. 분기예측정확도가높고타깃주소를저장함으로써분기명령페널티를대부분제거하나대용량의 BTAC와 BHT가필요하다 [7]. 기존의분기예측기는대부분범용프로세서를기준으로설계되므로전력소모가많고분기의예측률을높이기위해노력하였다 [8-11]. 임베디드프로세서는범용프로세서와는다르게소모전력의제한이있으므로제한된전력하에서어플리케이션수행사이클을감소시킬수있는동적분기예측기가필요하다. 본논문은 4-Way BTAC에 MRU (Most Recently Used) 버퍼를사용하여 element를선택적으로동작시켜제한된전력하에서어플리케이션수행사이클을효과적으로감소시킬수있는향상된동적분기예측기를 제안한다. 논문의구성은다음과같다. 2절에서연구의배경이되는기존의 Gshare 동적분기예측기를설명하고임베디드코어에적합한분기예측기의구현을위해분기명령특성을분석하는과정을기술한다. 또한동적분기예측기가구현된시스템의 platform에대해설명한다. 3절에서는합리적인 BTAC entry 수를찾는과정과동적분기예측기의성능향상을위해사용되는 MRU 버퍼의구조와크기를결정하는과정을기술한다. 또한제안된동적분기예측기의전체구조에대해설명한다. 4절에서는제안된동적분기예측기가포함된코어가구현된 platform에대해설명하고, 생성된코어의성능측정을위한벤치마크어플리케이션수행결과를보인다. 측정된어플리케이션수행사이클과소모전력및면적을동적분기예측기가포함되지않은코어와, Gshare 분기예측기가포함된코어, 제안된분기예측기가포함된코어에서비교한다. 5 장에서는결론및추후과제를제시한다. Ⅱ. 연구배경본절에서는 Gshare 분기예측기관련기존연구를소개하고임베디드코어에적합한동적분기예측기를구현하기위한분기특성을분석하여기술한다. 2.1. Gshare 분기예측기 Gshare 분기예측기는 GHR (Global History Register) 과 BHT, BTAC로구성된다. 분기명령이수행되면최근분기들의 taken 경향이저장된 GHR 과프로그램카운터를 xor하여 BHT의주소로사용한다. BHT에는주소에따른 taken 여부가저장되어있어분기명령이 taken 될지혹은 not-taken 될지를이후전부결정한다. 분기명령으로인해생기는페널티를모두제거가능한 Gshare 분기예측기는대용량의 BHT와 BTAC를사용하여기존의동적분기예측기보다분기예측률이높다 [12]. Gshare 분기예측기는 BTAC의 entry 수가 256개일때 89% 의확률로분기를예측하며 entry가증가함에따라예측률은거의 100% 에이른다 [13]. Gshare 분기예측기를개선하기위해 R. Sendag는 Branch BMP (Misprediction Predictor) 를두어 conflict 상황을제거하였고 [8], Y. Maa는 BTAC의주소를 Hedging하여접근하였다 [9]. T. Chen은 2단으로구성된분기 1095
한국통신학회논문지 (J-KICS) '13-12 Vol.38A No.12 예측기를사용하였다. 이런방법들은 Gshare 분기예측기의예측률을높이는데치중하여전력소모가크므로, 제한된전력하에서분기예측률이높은동적분기예측기가필요하다 [10]. 2. 분기특성연구제한된전력하에서동적분기예측기의분기예측률을높이기위해어플리케이션의분기특성을분석한다. 루프명령은분기명령의 56% 를차지하나루프문의종류가평균 5개로적어주로사용되는루프명령이높은비율로반복된다 [3,14]. 또한어플리케이션의명령어중 84% 가루프내부에위치하므로루프가아닌분기명령은루프내부에서주로수행된다. 전체루프의평균 76.0% 가단일루프이고, 루프로건너뛰는인스트럭션은 100개미만인경우가많아한루프내의분기명령이반복적으로사용된다 [15]. 따라서분기명령은 temporal locality가높으며, 분기명령의높은 temporal locality를활용함으로써동적분기예측기의분기예측률을증대시킬수있다. Ⅲ. 제안된동적분기예측기본절에서는제안된임베디드프로세서용동적분기예측기를제시한다. 먼저최대의효율을내는 BTAC entry 수를결정하는과정을보이고, 전력소모를줄이기위해동적분기예측기안에포함된 MRU 버퍼의구조와합리적인 MRU 버퍼 entry 수를정하는방법을제시한다. 또한 BTAC와 MRU 버퍼가포함된전체동적분기예측기의구조를보이고그동작을설명한다. 3.1. BTAC entry 수결정제안된동적분기예측기의 BTAC entry 수가많을수록분기예측률이높으나전력소모가많고면적이크다. 임베디드프로세서는제한된조건에서최적의성능을내야하므로합리적인 BTAC entry 수를결정하기위해 BTAC entry 수를변경하며평균분기예측률을측정한다. 분기예측확률이어플리케이션수행속도에미치는영향을알기위해벤치마크어플리케이션의분기명령비율과분기명령어의 CPI를이용하여벤치마크어플리케이션의평균 CPI를계산한다 [16,17]. 그림 1. (a) 는 BTAC entry 수에따른분기예측률을보이며, 그림 1. (b) 는분기명령의비율이 10% 인어플리케이션의 BTAC (a) (b) 그림 1. BTAC entry 수에따른분기예측률과 CPI. (a) 분기예측률 (b) CPI. Fig. 1. Branch hit rate and CPI vs. number of BTAC entry. (a) Branch hit rate (b) CPI. entry 수에따른평균 CPI의변화를계산한결과를보인다. BTAC entry 수가 64일때분기예측률은 75%, 평균 CPI는 1.23이다. entry 수가 64보다적으면예측률과 CPI가크게변하나반대경우는분기예측률의변화폭이높지않고 CPI 변화도작다. 임베디드프로세서는파이프라인이얕아예측실패에대한페널티가작고, 면적이작아야유리하므로 BTAC entry 수를 64로정하는것이합리적이다. 3.2. MRU 버퍼동적분기예측기의동적전력소모감소를위해 MRU 버퍼를추가한다. 제안된동적분기예측기는 MRU 버퍼를참조하여타깃주소가저장되어있는 BTAC의 element를선택적으로동작시킨다. 동적전력소모가줄어 BTAC entry 수를증가시킬수있어제한된전력하에서 Gshare 분기예측기에비해분기예측률이높다. Temporal locality가높은분기의특성에활용하고 MRU 버퍼추가에의한페널티를최소화하기위해 MRU 버퍼 entry 수를줄이고비교기를추가하였다. 1096
논문 / 4-Way 캐쉬의선택된 를이용한향상된동적분기예측기구현 3.2.1. MRU 버퍼구조그림 2는제안된 MRU 버퍼구조를나타낸다. 기존의 MRU 버퍼는주로데이터캐쉬의 element 를예측하므로 entry 수가많고예측을수행하는데 1사이클이소모된다 [18,19]. 분기명령은종류가적고 temporal locality가커 MRU 버퍼 entry의수가적어도 element 예측률이높다. MRU 버퍼 entry 수를줄이고기존의 direct-mapped 구조대신각각의 entry에비교기를포함하여예측수행시간을최소화한다. 분기명령이수행되면각 entry의태그와분기명령의태그를비교하여타깃주소가저장된 BTAC element를예측한다. 예측에성공하면 MUX에예측된 element가출력되며 element hit는 1을출력한다. 예측에실패하면 element hit는 0을출력하고 NRU (Not Recently Used) 알고리즘을적용하여선택된 MRU 버퍼 entry를갱신한다 [20]. (a) 3.2.2. MRU 버퍼의크기결정기존의 BTAC에 MRU 버퍼를추가하므로 MRU 버퍼의면적이동적분기예측기의페널티로작용한다. 페널티를최소화하기위해 MRU 버퍼 entry 수를변경해가며 MiBench 어플리케이션을반복적으로수행하여 element 예측률과 BTAC 전력소모율을측정한다. 그림3. (a) 는 MRU 버퍼 entry 수에따른평균예측률변화이며, 그림 3. (b) 는 BTAC의전력소모율이다. 분기명령의종류가적고 temporal locality가크므로, entry 수가 1 ~ 4까지증가하는구간에서 element 예측률이급격하게증가하고 (b) 그림 3. MRU 버퍼 entry 수에따른 element 예측확률과 BTAC 평균전력소모. (a) 예측률 (b) BTAC 전력소모율. Fig. 3. hit rate and BTAC power consumption vs. Number of MRU buffer entries. (a) hit rate (b) BTAC power consumption. 전력소모도크게감소한다. MRU 버퍼 entry 수가 4인지점부터예측률의증가율이줄어들고전력감소율도 73% 에수렴한다. 따라서 entry가 4보다커지면 element 예측률향상에서얻는이점보다 entry 수의증가로인한페널티가더커지므로 MRU 버퍼 entry 수는 4로고정한다. Update Instruction 3.2.3. 제안된동적분기예측기구조임베디드코어용동적분기예측기는제한된전 Tag RC 력하에서예측률이높아야한다. 임베디드코어는 범용코어에비해예측률이낮아도상대적으로페 Tag RC 널티가낮고, 전력소모와면적이치명적인제한조건이므로 BTAC의크기를 64로, MRU 버퍼 entry의 Tag RC 수를 4로정한다. 동적분기예측기의예측률을높이기위해 4-Way 캐쉬를사용한다. 4-Way 캐쉬는 direct-mapped 방식의캐쉬에비해동적전력소모가 Tag RC 크므로 BTAC 내부에 MRU 버퍼를추가하여 BTAC 의동적전력소모를줄인다 [18,19]. MRU 버퍼 Select MUX 에저장된최근분기명령의태그와 element 를사용 그림 2. MRU 버퍼구조. Fig. 2. Construction of MRU buffer. Hit 하면분기명령을수행할때 BTAC의모든 element 에접근하지않고지정된 element에만접근하여 BTAC의동적전력소모를줄인다. 1097
한국통신학회논문지 (J-KICS) '13-12 Vol.38A No.12 4.1. 구현 platform SMDL (Sogang Machine Description Language) 시스템은 time-to-market요구가증대함에따라설계물의재사용률을높이기위한 MDL (Machine Description Language) 기반의 ASIP 설계자동화시스템의한종류로다중사이클인스트럭션을지원해기존의시스템보다메모리사용이효율적이다 [21,22]. SMDL 시스템은 SMDL 문법으로기술된문 그림 4. MRU 버퍼가추가된제안된동적분기예측기구조. Fig. 4. Construction of proposed branch with MRU buffer. 그림 4는 MRU 버퍼가추가된제안된동적분기예측기의전체구조를나타낸다. 분기명령이페치되면분기예측기록이저장된 GBHR과프로그램카운터를 xor 연산하여 BHT에접근한다. BHT 출력결과가 taken 이면 global prediction result가 1이되고, MRU 버퍼를참조하여타깃주소가저장된 BTAC element를예측한다. 예측에성공하면 MRU 버퍼에서 1과타깃주소가저장된 element의위치가출력된다. BTAC는출력된결과를받아예측된 element만동작시켜타깃주소를출력한다. 예측에실패하면 element hit가 0이되고 BTAC의모든 element에접근해야다음프로그램카운터로사용할타깃주소가출력된다. 만약 BTAC에타깃주소가없거나 BHT 출력결과가 not-taken 이면다음프로그램카운터는정상적으로증가시킨다. Ⅳ. 실험결과 본절에서는제안된동적분기예측기의검증을위해동적분기예측기가포함된코어가구현된 platform을기술하고동적분기예측기가포함되지않은코어와 Gshare 분기예측기가포함된코어, 제안된동적분기예측기가포함된코어에서 Mibench 어플리케이션수행사이클과소모전력을비교하였다. 서를중간형태로변환하여 retargetable 컴파일러의입력으로사용한다. retargetable 컴파일러는 C 언어로기술된어플리케이션을추가적으로입력받아어플리케이션의이진코드를생성하며, 임베디드코어생성기는중간형태를기반으로타깃코어의 HDL 코드를생성하고, retargetable 인스트럭션셋시뮬레이터생성기는인스트럭션셋시뮬레이터를생성한다. 생성된시뮬레이터를사용하여임베디드코어생성기에의해생성된코어와컴파일러에서출력된이진코드를검증한다 [23,24]. 제안된동적분기예측기의성능평가를위해상용화된임베디드코어중 ARM9 코어모델을타깃코어로정하여구현하였다 [16,25,26]. TSMC 90nm 라이브러리를기반으로생성된코어는 Synopsys사의 Design Vision을이용하여합성된후 SUN-Sparc 워크스테이션에서수행되었다. 또한 100MHz의주파수로동작하고 5단파이프라인으로구성되며, 2-phase non-overlapping clock을사용한다. 동작온도는 25, 동작전압은 3.3V이다. 4.2. 실험결과표 1은동적분기예측기가없는코어와제안된동적분기예측기가포함된코어의어플리케이션수행소모전력비교결과이다. 동적분기예측기가포함되므로어플리케이션수행전력소모량이평균 7.4% 증가한다. 제안된동적분기예측기는 BTAC 의특정 element만을참조하여분기예측에필요한동적전력소모를줄이므로분기명령의비율과특정 element를참조하는비율이높을수록전력소모량증가비율이작다. 어플리케이션수행사이클비교를위해전력소모를제한하여 Gshare 분기예측기의 BHT와 BTAC의크기를결정하고 Gshare 분기예측기가포함된코어를생성한다. 제안된동적분기예측기는 BTAC의특정 element를선택하여접근하므로동적전력소모가줄어들어제한된전력하에서 BTAC의 entry 수가 Gshare 분기예측기 1098
논문 / 4-Way 캐쉬의선택된 를이용한향상된동적분기예측기구현 표 1. 벤치마크어플리케이션전력소모비교결과 Table 1. Comparison results of benchmark applications power consumption MiBench Branch ratio hit rate withou t dynam ic branch (mw) with proposed dynam ic branch (mw) Comparison tiff2rgba 3.3 99.9 165.6 181.0 8.6 tiffmedian 4.7 90.7 276.5 291.9 3.7 blowfish 12.3 92.3 178.7 194.1 5.7 bitcount 10.3 88.0 176.9 192.3 6.5 ADPCM enc 3.3 91.3 166.5 181.9 8.6 CRC32 15.3 77.2 179.0 194.4 5.6 FFT 13.0 89.2 178.9 194.3 5.6 IFFT 12.3 99.9 191.6 207.0 4.4 ADPCM dec 5.0 93.2 158.0 173.4 8.9 GSM enc 4.3 99.9 184.9 200.3 7.2 GSM dec 9.7 99.9 150.3 165.7 8.9 stringsearc h 19.3 80.8 126.2 141.6 12.2 ispell 17.7 81.1 134.2 149.6 10.7 평균 10.1 91.0 174.4 189.8 7.4 에비해많아분기예측률이높다. 표 2는동적분기예측기가없는코어와 Gshare 분기예측기가포함된코어및제안된동적분기예측기가포함된코어의어플리케이션수행사이클의비교결과이다. 어플리케이션수행사이클은동적분기예측기를사용하지않았을때보다 Ghare 분기예측기가포함된코어의경우평균 6.3%, 제안된동적분기예측기를사용한경우평균 10.1% 감소한다. 제안된동적분기예측기가포함된코어는같은전력을사용하는 Gshare 분기예측기가포함된코어와비교하여어플리케이션평균수행사이클이 4.1% 감소한다. 동적분기예측기는분기명령의페널티를줄이므로분기비율이높을수록코어의수행속도를향상시킨다. 임베디드프로세서에알맞은구조를위해 BTAC가합리적인 entry를갖도록했고, 효율적인 element 예측률을갖도록 MRU 버퍼 entry 수를결정하여면적증가를최소화하였다. 기존의타깃프로세서는 826,223 게이트로구성된다. 전력소모가제한된 Gshare 분기예측기는 5,045 게이트이므로 Gshare 분기예측기를포함한임베디드프로세서는총 831,268 게이트로구성된다. MRU 버퍼는 311 게이트이고, Gshare와같은전력을소모할때제안된동적분기예측기는 BTAC의크기를키워 8,257 게이트로구성된다. 제안된동적분기예측기가포 함된코어는총 834,480 게이트이다. 임베디드프로세서의특성에맞게 MRU 버퍼와 BTAC entry 수 표 2. 벤치마크어플리케이션수행사이클비교결과 Table2. Comparison results of benchmark applications executing cycle Mi- Bench Bran - ch ratio Without dynamic branch # of cycles tiff2rgba 3.3 46,533,494 tiffmedian 4.7 181,556,378 blowfish 12.3 74,481,371 bitcount 10.3 68,814,263 ADPCM enc 3.3 47,469,368 CRC32 15.3 77,959,980 FFT 13.0 75,465,566 IFFT 12.3 93,339,095 ADPCM dec 5.0 38,905,353 GSM enc 4.3 70,718,535 GSM dec 9.7 32,809,463 stringsea rch 19.3 245,489 ispell 17.7 12,724,094 평균 10.1 63155573.0 Gshare dynamic branch # of cycles /comparison 45,436,110 / -2.4 175,577,992 / -3.3 68,680,690 / -7.8 64,209,757 / -6.7 46,349,914 / -2.4 70,683,926 / -9.3 69,308,334 / -8.2 86,069,757 / -7.8 37,548,189 / -3.5 68,576,052 / -3.0 30,725,754 / -6.4 217,932 / -11.2 11,389,346 / -10.5 59597981.0 / -6.3 Proposed dynamic branch # of cycles /comparison 44,777,680 / -3.8 171,990,960 / -5.3 65,200,282 / -12.5 61,447,054 / -10.7 45,678,242 / -3.8 66,318,294 / -14.9 65,613,995 / -13.1 81,708,153 / -12.5 36,733,891 / -5.6 67,290,563 / -4.8 29,475,529 / -10.2 201,398 / -18.0 10,588,498 / -16.8 57463426.1 / -10.1 Comparison with Gshare dynamic branch -1.4-2.0-5.1-4.3-1.4-6.2-5.3-5.1-2.2-1.9-4.1-7.6-7.0-4.1 를최소화하여제안된분기예측기가포함된코어는분기예측기가포함되지않은코어에비해면적이 1% 미만증가하였다. Ⅴ. 결론및추후과제 분기명령의페널티를모두제거하는기존의 Gshare 분기예측기는분기예측률이높으나대용량의 BTAC와 BHT가필요하여전력소모가크다는단점이있다. 본논문은분기의특성을분석하여동적분기예측기내부의 BTAC의크기를줄이고적은 entry 수를갖는 MRU 버퍼를추가하여제한된전력하에서분기예측률이높은동적분기예측기를제안한다. 제안된동적분기예측기는 MRU 버퍼를참조하여타깃주소가저장된 BTAC element 1099
한국통신학회논문지 (J-KICS) '13-12 Vol.38A No.12 를선택하여동작시키므로 BTAC의동적전력소모를줄여같은전력을사용하는기존의분기예측기보다분기예측률이높다. 제안된분기예측기가포함된 ARM9코어를기반으로벤치마크어플리케이션을수행하여분기예측기의효율성을검증한결과동적분기예측기를포함하지않은코어에비해어플리케이션수행사이클이평균 10.1% 감소하고전력소모가평균 7.4% 증가하였다. 같은전력을소모하는 Gshare 분기예측기가포함된코어와비교하면어플리케이션의수행사이클이평균 4.1% 감소하였다. 추후어플리케이션분기특성을기반으로 MRU 버퍼 entry의수와 BTAC의크기를변경하여동적분기예측기의효율을높여분기예측확률을높이고전력소모를줄여야한다. 또한파이프라인이깊을수록분기명령의페널티가증가하므로파이프라인에따라다른구조를갖는분기예측기에대한추가연구가필요하다. References [1] T. Juan, S. Sanjeevan, and J. Navarro, Dynamic history-length fitting : A third level of adaptivity for branch prediction, in Proc. Comput. Architecture, pp. 155-166, Barcelona, Spain, July 1998. [2] J. Lee and A. Smith, Branch prediction strategies and branch target buffer design, Computer, vol. 17, no. 1, pp. 6-22, Jan. 1984. [3] J. Hennessy and D. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, 1990. [4] T. Ball and J. Laurs, Branch prediction for free, in Proc. ACM SIGPLAN Conf. Programming Language Design Implementation, pp. 300-313, New York, U.S.A., Aug. 1993. [5] J. Patterson, Accurate static branch prediction by value range propagation, in Proc. ACM SIGPLAN Conf. Programming Language Design Implementation, pp. 67-78, New York, U.S.A., June 1995. [6] B. Calder, D. Grunwald, M. Jones, D. Lindsay, J. Martin, M. Mozer, and B. Zorn, Evidence-based static branch prediction using machine learning, ACM Trans. Programming Languages Syst., vol. 19, no. 1, pp. 1-43, Sep. 1996. [7] C. Cheng, The Schemes and Performances of Dynamic Branch Predictors, Technical Report, Berkeley Wireless Research Center, 2000. [8] R. Sendag, J. Yi, P. Chuang, and D. Lilja, Low power/area branch prediction using complementary branch s, in Proc. IEEE Int. Parallel Distributed Process. Symp., pp. 1-12, Miami, U.S.A., Apr. 2008. [9] Y. Maa, M. Yen, S. Kuo, and G. Lee, Cost-effective branch prediction by combining hedging and filtering, in Proc Int. Comput. Symp., pp. 648-655, Tainan, Taiwan, Dec. 2010. [10] T. Chen, P. Pan, G. Jiang, and M. Ye, Record branch prediction : An optimized scheme for two-level branch s, in Proc. IEEE 14th Int. Conf. High Performance Comput. Commun., pp. 1526-1533, Liverpool, U.K., June 2012. [11] D. Parikh, K. Skadron, Y. Zhang, and M. Stan, Power-aware branch prediction: Characterization and design, IEEE Trans. Comput., vol. 53, no. 2, pp. 168-186, Feb. 2004. [12] L. Nadav and W. Shlomo, Low power branch prediction for embedded application processors, in Proc. Low Power Electron. Design, pp. 67-72, Austin, U.S.A., Aug. 2010. [13] S. McFarling, Combining branch s, Technical Report, Western Research Laboratory, Dec. 1993. [14] Y. Ding and W. Zhang, Loop-based instruction prefetching to reduce the worst-case execution time, IEEE Trans. Comput., vol. 59, no. 6, pp. 855-864, June 2010. [15] M. Kobayashi, Dynamic characteristics of loops, IEEE Trans. Comput., vol. 33, no. 2, pp. 125-132, Feb. 1984. [16] S. Segars, The ARM9 family High performance microprocessors for embedded applications, in Proc. Int. Conf. Comput. Design, pp. 230-235, Austin, U.S.A., Oct. 1100
논문 / 4-Way 캐쉬의선택된 를이용한향상된동적분기예측기구현 1998. [17 M. Guthaus, J. Ringenberg, D. Ernst, T. Austin, T. Mudge, and R. Brown, "MiBench: A free, commercially representative embedded benchmark suite," in Proc. IEEE Int. Workshops Workload Characterization, pp. 3-14, Austin, U.S.A., Dec. 2001. [18] K. Inoue, T. Ishihara, and K. Murakami, Way-predicting set-associative cache for high performance and low energy consumption, in Proc. Int. Symp. Low Power Electron. Design, pp. 273-275, San Diego, U.S.A., Aug. 1999. [19] M. Calagos and Y. Chu, Hybrid scheme for low-power set associative caches, Electron. Lett., vol. 48, no. 14, pp. 819-821, July 2012. [20] K. Kedzierski, M. Moreto, F. Cazorla, and M. Valero, Adapting cache partitioning algorithms to pseudo-lru replacement policies, in Proc. Parallel Distributed Process, pp. 1-12, Atlanta, U.S.A., Apr. 2010. [21] N. Dutt and K. Choi, Configurable processor for embedded computing, IEEE Comput., vol. 36, no. 1, pp. 120-123, Jan. 2003. [22] K. Choi and Y. Cho, Recent trends in the SoC design methodology, Inst. Electron. Eng. Korea (IEEK) Mag., vol. 30, no. 9, pp. 17-27, Sep. 2003. [23] H. Lee and S. Hwang, Design of a high-level synthesis system for automatic generation of pipelined datapath, J. Inst. Electron. Eng. Korea (IEEK), vol. 31-A, no. 4, pp. 53-67, Mar. 1994. [24] J. Cho, Y. Yoo, and S. Hwang, Construction of an automatic generation system of embedded processor cores, J. Korean Inst. Commun. Inform. Sci, (KICS), vol. 30, no. 6A, pp. 526-534, June 2005. [25] ARM, ARM922T Technical Reference Manual (rev 0), 2001. [26] ARM, ARM Architecture Reference Manual (rev 0), 2005. 황인성 (In-sung Hwang) 2012년 2월서강대학교전자공학과졸업 2012년~현재서강대학교전자공학과 CAD & ES 연구실석사과정 < 관심분야 > Embedded System Design, ASIP Design 황선영 (Sun-young Hwang) 1976년 2월서울대학교전자공학과학사 1978년 2월한국과학원전기및전자공학과공학석사 1986년 10월미국 Stanford 대학전자공학박사 1976~1981년삼성반도체 ( 주 ) 연구원, 팀장 1986~1989년 Stanford 대학 Center for Intergrated System 연구소책임연구원및 Fairchild Semiconductor Palo Alto Research Center 기술자문 1989~1992년삼성전자 ( 주 ) 반도체기술자문 1989년 3월~현재서강대학교전자공학과교수 < 관심분야 > SoC 설계및 framework 구성, CAD 시스템, Embedded System 설계, Computer Architecture 및 DSP System Design 등 1101