< BBF3BFA1BCAD20BFA1B3CAC1F620C8BFC0B2C0FBC0CE F73696E E73666F726D2920B8F0B5E220BCB3B0E820B9D720B1B

Similar documents
Microsoft PowerPoint - 30.ppt [호환 모드]

1_12-53(김동희)_.hwp

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

실험 5

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>


Microsoft PowerPoint - hw8.ppt [호환 모드]

3 권 정답

Computer Architecture

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

28 저전력복합스위칭기반의 0.16mm 2 12b 30MS/s 0.18um CMOS SAR ADC 신희욱외 Ⅰ. 서론 Ⅱ. 제안하는 SAR ADC 구조및회로설계 1. 제안하는 SAR ADC의전체구조

À±½Â¿í Ãâ·Â


(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

Microsoft Word - PLC제어응용-2차시.doc

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Sep.; 26(10),

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Slide 1

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

ºÎ·ÏB

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

05 목차(페이지 1,2).hwp

PowerPoint 프레젠테이션

PowerPoint Presentation

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

04 Çмú_±â¼ú±â»ç

DE1-SoC Board

2 / 26

01이국세_ok.hwp

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

DBPIA-NURIMEDIA

8장 조합논리 회로의 응용

서강대학교 기초과학연구소대학중점연구소 심포지엄기초과학연구소

Microsoft PowerPoint - ch07 - 포인터 pm0415

09권오설_ok.hwp

PowerPoint 프레젠테이션

11¹ÚÇý·É

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),

I

OCW_C언어 기초

설계란 무엇인가?

chap 5: Trees

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

chap06.hwp

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

Chapter ...

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS

슬라이드 1

19_9_767.hwp

PowerPoint 프레젠테이션

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

Microsoft PowerPoint - [2009] 02.pptx

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Sequences with Low Correlation

À¯Çõ Ãâ·Â

API 매뉴얼

untitled

박선영무선충전-내지

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 26(12),

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q =

03이승호_ok.hwp

02 _ The 11th korea Test Conference The 11th korea Test Conference _

설계란 무엇인가?

FPGA, ()., () (ECM: Electronic Countermeasures)., (ECCM: Electronic Counter-Countermeasures).,,. (system) (subsystems),,,,, [1]. (sidelobes),.,.,.. RF

Microsoft PowerPoint - 26.pptx

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로

°í¼®ÁÖ Ãâ·Â

방송공학회논문지 제18권 제2호

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Software Requirrment Analysis를 위한 정보 검색 기술의 응용

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 25(3),

PowerPoint 프레젠테이션

10 노지은.hwp

<91E6308FCD5F96DA8E9F2E706466>

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 27, no. 8, Aug [3]. ±90,.,,,, 5,,., 0.01, 0.016, 99 %... 선형간섭

exp

6.24-9년 6월

1. 3DTV Fig. 1. Tentative terrestrial 3DTV broadcasting system. 3D 3DTV. 3DTV ATSC (Advanced Television Sys- tems Committee), 18Mbps [1]. 2D TV (High

... 수시연구 국가물류비산정및추이분석 Korean Macroeconomic Logistics Costs in 권혁구ㆍ서상범...

<313920C0CCB1E2BFF82E687770>

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

Transcription:

FPGA 상에서에너지효율적인 DCT (Discrete Cosine Transform) 모듈설계및구현 장주욱, 임창현, Ronald Scrofano, Viktor K. Prasanna 요약 : 불연속코사인변환 (DCT) 은비디오와영상처리의필수적인부분이며, JPEG 및 MPEG 표준에서채택하고있다. 특히, 모바일장치에서비디오를스트리밍재생할때에는에너지효율적인 DCT 연산이매우중요하다. 본논문에서는선형어레이 PE 를이용한 DCT 연산기구조를제안한다. 본제안은에너지효율을최적화하도록설계되어있다. 설계효율을보이기위해에너지사용, 면적, 지연간의트레이드오프 (trade-off) 를분석하고, 그성능을 Xilinx 의최적화된 IP 코어와비교하였다. Abstract: The 2-D discrete cosine transform (DCT) is an integral part of video and image processing; it is used in both the JPEG and MPEG enciding standards. As streaming video is brought to mobile devices, it becomes important that it is possible to calculate the DCT in an energy-efficient manner. In this paper, we present a new algorithm the DCT with a linear array PEs. This design is optimized for energy efficiency. We analyze the energy, area, and latency tradeoffs available with this design and then compare its energy dissipation, area, and latency to those of Xilinx's optimized IP core. keywords: DCT, energy efficiency, performance modeling 1. 서론 무선망업계는모바일장치에비디오스트리밍기능을부가하는방향으로진화하고있다. 이러한기능확장때문에모바일장치는영상처리를위한추가적인전력소모부담이있다. 뿐만아니라, 배터리용량이제한되어있어에너지제한적인환경이라고도볼수있다. 영상처리를함에있어높은효율과낮은지연시간뿐만아니라, 에너지효율까지고려하는것이필요하다. FPGA 는비디오스트리밍과정에서영상처리에사용가능하며, 그일반적인구조가영상처리분야에적합하다. 현재 FPGA 공급자들이곱셈기나곱셈 - 덧셈기등의하드 IP 가갖는낮은지연시간과높은성능등의장점을살리기위해이들을포함시키고있어, FPGA 를영상처리부분에사용할수있게되었다 [6][7]. 하지만, 앞서언급한바와같이, 영상처리에서에너지효율은매우중요한문제가되었다. FPGA 는에너지제한적인환경에필요한계산기능을제공할수있기때문에, FPGA 를에너지효율적으로설계하는분야가최근새롭게각광받고있다. 하지만, 현재에도여전히저전력사양을가진수백만게이트의상업적 FPGA 는없기때문에, 본논문에서에너지효율적인알고리즘과구조를설계하고자한다. 제안하는방식은차세대 FPGA 가가진저전력사양을별다른부가기능없이활용할것으로본다. 본논문에서는, 2 차원 DCT 를위한에너지효율적인알고리즘과구조를제안한다. 2 차원 DCT 는정지영상을위한 JPEG 뿐아니라스트리밍비디오분야의표준인 MPEG 과 H.263 에서도사용되는중요한핵심기능이다 [1]. 여기서는지연시간, 에너지그리고면적를예측하고그성능을 Xilinx IP 코어의 DCT 블록과비교하여, 제안된방식이더효율적임을보인다. 본논문의구성은다음과같다. 2 장에서는관련연구를정리하고, 3 장에서는 2 차원 DCT 를위한새로운알고리즘및구조를기술한다. 4 장에서는본설계에서사용된최적화기법을설명하고, 5 장에서는 Domain-specific 모델을보인다. 6 장에서는 DCT 연산에있어가능한에너지, 면적, 그리고지연시간의트레이드 - 오프 (trade-off) 를분석한다. 7 장에서는 Xilinx IP 코어와비교하며, 끝으로 9 장에서는결론및추후과제를기술한다. 2. 관련연구 본연구와같이 FPGA를위한저전력알고리즘설계와 DCT 연구를통합하는관점의연구는없었지만, 두가지분야의연구는꾸준히진행되어왔다. [4] 에서는본디자인과는다른 2차원매시구조를위한시스톨릭어레이 (systolic array) 구조와알고리즘을보이고있다. 본연구에서는 2차원매시보다는선형어레이를사용하였다. FPGA 상에서상호연결은많은에너지를낭비할수있기때문에, 디자인에필요한상호연결의수를줄여야한다. 라우팅스위치의개선을통한전력소모를줄이기위해고속, 저전력, 대기상태를두고고속동작은기존의방식을따르고, 저전력소모를위해속도를줄이거나대기상태로전환하는방법도가능하다. 이를위해기존배선스위치를개선해기존 FPGA 내부연결과연동이가능하게한다 [8]. [1] 과 [5] 에서는각각 FPGA 상에서 DCT의구현에관하여설명하고있다. 각기법은본연구에서사용된기법과는다르다. [1] 은다항변환 (polynomial transform) 을사용한 DCT 연산을설명하고있으며, 연산을위한기법과 FPGA 상의데이터경로를기술하고있다. 또한이연구에서는배경연구로분산산술기법 (distributed arithmetic technique) 을설명하고있는데, 본논문에서는결과에서비교할 Xilinx IP 코어로이것을채택하였다. 이기법은 FIR 필터를이용하여행단위의 1차원 DCT를수행하고, 그결과를이용하여다시열단위의 1차원 DCT를수행하며, 그사이에메모리교차 (transpose) 가필요하다. 본연구는 [1] 과 [13] 에서보인기법과는아주다르며, 비트레벨의입력데이터회로나, 메모리교차가필요하지않다. 뿐만아니라, 다항변환 DCT 연산도따르지않는다. 대신, 행렬의 2차원 DCT 계산을위한 개의 PE를사용한모듈러 (modular) 디자인기법을채택한다 ( 그림 1 참조 ). 이기법은두 행렬의곱셈을수행하는것과유사한과정을갖는다. [2] 와 [3] 은 FPGA를위한에너지효율적인디자인과성능모델기법을기술하고있다. [2] 는 FPGA 상에서에너지낭비요소를분석하고에너지효율을높이기위한알고리즘및구조에사용될수있는기법을설명하고있으며, 2차원 DCT를위한알고리즘및

구조에사용한다 (4 장참조 ). [3] 은 FPGA 상으로매핑할때성능예측을위한도메인 - 스페시픽 (domain-specific) 모델링기법을설명하고있다. 본연구에서는이기법을 2 차원 DCT 디자인의성능예측에사용한다 (5 장참조 ). 3. 2 차원 DCT 를위한에너지효율적인알고리즘및구조 개의요소를가진벡터 의 1차원 DCT는아래와같다. 식 (1) 이때, 는 의 개의요소들을가리키며, 에서는, 그밖에는 이다. 는 행렬인입력이다. 전통적으로, 2 차원 DCT는 의행들에대하여 1차원 DCT를수행하고나서그결과들의열에대하여 1차원 DCT를수행한결과, 즉행-열기법에의해계산한다. 이기법은식 (3) 에서계수행렬로정의된 를이용한결과인 를 DCT의결과로하는것과같음을알수있다. 에서는 8개의서로다른계수의면적만이중요하다. 즉, 부호를무시한다면, 오직 8개의서로다른값들만이계수행렬에저장된다는의미이다. 어떤행에서첫번째열의엔트리와마지막열의엔트리의면적는같다. 두번째열과마지막에서두번째열의면적도같다. 이러한방식으로중앙에위치한열로진행한다. 식 (2) 과 (3) 에이런성질을표시하였다. 식 (2) 식 (3) 본디자인에서, 를찾기위해 PE의선형어레이를사용한다. 입력데이터는 off-chip 메모리또는 on-chip 메모리에저장될수있다. 본논문에서는입력또는출력을저장할메모리는고려하지않으며, 중간결과를저장하고읽는비용만을고려한다. 그림 1 에서는 off-chip 선형어레이의다이어그램을보이고있다. PE는그림 2에표시하고있다. DCT는두단계로계산된다, 첫번째단계는 이고두번째단계는 이다. 3.1. 1단계알고리즘의 1단계에서는 의엔트리를수정된행우선순서 (modified row-major order) 로정렬하여입력으로한다. 예를들면, 어떤 DCT에서 의두번째행과 의두번째열의입력은아래표와같다. 이입력을가지고구하고자하는 은아래와같다. 식 (4) 위표에서보듯, 입력순서는계수의절대값이같은것이이어서올수있도록배치한다. 즉,, 그림 1 off-chip 메모리에저장되는데이터를처리하는선형구조 IOL1 0 IOR1 M R1 1 From PE 1 j-1 To PE 1 0 j+1 R8 M2 R1...R8: registers M1,M2: R3 R2 multiplexers A1 IOL1, + IOR1: I/O ports R4 RAM i : the i-th words in the coeff R7 X RAM Coeff: Prestored R5 DCT coeffs. RAM i + A2 A1,A2: adders *A1,A2,R2,Multipl R6 iers accepts input on every other cycle PE j 그림 2 DCT 연산을위한어레이의 PE 입력순서 1 2 3 4 5 6 7 8 의순서 입력에 곱해지는계수 표 1 제안된입력행렬원소의입력순서 을차례로계산하여더하는대신, 먼저 x 10 -x 17 을계산하고그값에 C 1 을곱해 (x 10 -x 17 )C 1 을계산하면한번의곱셈을줄일수있다. 나머지입력에대해서도같은방식으로수행하면식 (5) 과같이 4번의곱셈만으로 D 11 을구할수있다. 결과적으로곱셈횟수를 1/2로줄일수있다. 식 (5) 결과적으로이기법은계수메모리를엑세스하는횟수와곱셈의횟수를 1/2로줄여준다. 그림 2에서 PE의선형어레이는이러한방식으로 를수행한다. 각각의 PE 는매개행렬 (intermediate matrix) 의 번째열을계산한다. 각 PE의계수메모리는 의계수들의면적만을저장한다. 1단계동안은곱셈기 M1 과 M2 모두입력라인 0을선택한다. 로부터입력이 IOL1을통해 PE로들어오면, 매클록싸이클마다 R1에저장된다. R1의데이터는 IOR1을통해다음 PE 로전달된다. 부가적으로, R1에저장된후에데이터는별도로레지스터 R2와 R3에기록된다 ( 처음은 R2, 다음은 R3, 그다음은 R2 등 ). 매다른클록싸이클마다, R2와 R3의데이터는조건에따라서음수로변하였다가서로더해져서 R4에저장된다. R4에저장된다음클록에서는, R4의데이터를계수메모리의해당계수와곱한다 ( 이계수는 R4에데이터가저장된것과같은클록싸이클시점에 R7에저장된다 ). 이곱셈의결과는 R5에저장된다. R6은중간결과들이완전히저장될때까지누적하는데사용한다. 저장이끝나면 R6의데이터는메모리로옮겨지며 R6의내용은지워진다. 이런방식으로매개행렬 의모든열의계산이끝나면, 알고리즘은 2단계로전환한다. 3.2. 2 단계

2단계에서는 2차원 DCT 연산을완료하기위해 의곱셈을계산한다. 이단계에서는 1단계와거의똑같은과정을수행한다. 이단계에서각 PE는, 외부로부터입력을받지않고, 계산과정에서데이터램에저장된중간데이터를이용한다. 그리하여, M2는입력라인 1을선택한다. R6에누적된데이터가데이터램에는저장되지않고 R1에기록된다. 리셋싸이클동안에는마지막 PE를통하여어레이내의모든결과엔트리가출력되는경로를설정하기위해, M1은입력 0을선택한다. 데이터는행순서의역방향으로어레이를빠져나온다. 예를들면, DCT에서, 선형어레이의첫번째출력은 이고, 그다음에, 그리고마지막으로 이출력된다. 이과정은 의모든 개의엔트리가나올때까지계속된다. 이때, PE는 1단계로돌아가서다른 DCT를계산할수있다. 4. 에너지성능의최적화 본디자인의에너지성능을최적화하기위해, 아키텍처선택 (architecture selection) 기법을사용한다. FPGA에서는긴상호연결은전력소모가크며, 아키텍처에따라서로다른에너지성능과, 지연시간과, 성능등을보인다. 본 DCT 설계에서는, 처리요소 (processing element, PE) 를선형어레이로사용하는구조를선택하였다. 선형어레이의 PE는오직이웃한 PE하고만통신을하므로긴와이어의사용을줄일수있어상호연결에필요한면적을줄일뿐아니라에너지효율이높다. 본논문에서사용한또다른기법은적절한바인딩선택 (choosing the appropriate bindings) 이다. 여기서는, 계수및데이터저장을위한분산메모리와, 연산기로임베디드곱셈기를선택했다. 마지막으로, 알고리즘수준에서전체에너지소비의상당부분을소비하는핫-콤포넌트 (hot component) 의엑세스횟수를줄이는기법이다. 본연구에서는곱셈기, 메모리, 그리고레지스터가핫-콤포넌트들이며, 이들각콤포넌트의엑세스횟수를줄였다. 예를들면, 곱셈양이 50% 감소했으며, 계수메모리읽기엑세스횟수는 1/3만큼줄어들었다. 5. 도메인 - 스페시픽에너지모델 본설계를제작하기위해, 도메인 - 스페시픽 (Domain-specific) 모델링을채택했다 ( 자세한기술은 [3] 참조 ). 이모델링은성능모델에대한하이브리드 (top-down 과 bottom-up 방식의조합 ) 접근방식이며, 기준에가장부합하는설계를결정하기위해관련알고리즘과아키텍처를빠르게평가할수있다. 이모델에서아키텍쳐는재배치가능모듈 (Relocatable modules, RModule) 과상호연결로나뉜다. 본설계에서는, 곱셈기, 덧셈기, 멀티플렉서 (multiplexor), 램, 그리고레지스터가 RModule 이다. 본연구에서는 PE 의선형어레이를사용하기때문에, 가장가까운 RModule 끼리연결을갖는다는것을가정하며, 그에너지소비는 RModule 에서소비되는양에비해매우적을것이라고가정한다. 아래에서설명하는모델에서는 DCT 가 를이용하여계산한다. 은 로나누어진다고가정한다. 각 PE 는매개및최종행렬의 개의열을계산한다. 5.1 지연시간예측 지연에대한방정식은각알고리즘과 PE의단계를분석함으로서세울수있다. 첫번째단계에서첫번째데이터를 R6에저장하기위해서는 6 싸이클이필요하다. 매중간과정결과마다 n/2번 R6에기록한다. 기록후에 R6는한싸이클만큼쉬고그다음싸이클에기록한다. 그러므로 R6에첫번째기록을마치고데이터 에기록하기위해서는 6+ n/2(2)-1=n+5 싸이클이필요하다. 각 PE는그것이계산하는중간과정행렬 n/p열의각각의 n 엔트리를계산한다. 그러나첫번째엔트리를연산할때를제외한모든경우에는레지스터의파이프라인이채워져있으므로, 엔트리를연산하고 RAM에기록하는데 (n/2)(2) 싸이클만이소요된다. 그러므로단계 1에서 PE로첫번째중간과정열을계산하기위한하나의엔트리는 n+5 싸이클을소요한다. 그에반해그열의다른 n-1개의엔트리들은 (n/2)(2) 싸이클만계산을수행한다. 그러므로단계 1의첫번째중간과정열을계산하는지연시간은, 식 (6) 이되고, 간단히하면, 식 (7) 가된다. p n 일때연산할수있는알고리즘은두가지가있다. 첫번째는단계 1의모든중간과정결과를계산하고그것을저장하는방식이다. 이방식은 non-alternating mode라고언급할것이며이방식의지연은 L p1nonalt 라고표시할것이다. 나머지다른방식은각각의 PE가단계 1의하나의중간과정열을계산한다음단계 2의결과열을계산하고그런다음또다른단계 1의중간과정열을계산하고단계 2의결과열을계산기를반복하는방식이다. 이방식은 alternating mode라고언급할것이며이방식의지연은 L p1alt 라고표시할것이다. non-alternating mode 에서는선형어레이의파이프라인이가득찬상태로유지됨으로써단계1의지연은 식 (8) 이된다. 한편, alternating mode의경우는단계 1을시작할때마다파이프라인은비어있게되어단계 1의종합적인지연은 식 (9) 이된다. 단계 2 는입력이변환된행렬이아니라중간과정의결과라는점을제외하고는단계 1 과같은과정이다. 따라서단계 1 에서의모든중간과정결과가계산되었을때, 단계 2 의지연은식 (8) 과같으며, 그리고단계 1 과단계 2 가 alternating mode 일때단계 2 의종합적지연은식 (9) 과같다. 어떠한방식이던지단계 1 의계산은단계 2 의계산과겹치지않는다. 따라서 DCT 의계산에서한 PE 의지연은 Lp1 과 Lp2 의합과같아진다. 선형어레이에서마지막 PE 는첫번째 PE 보다 p-1 싸이클뒤에오므로총지연에 p-1 만큼이더해진다. 이러한딜레이를지나서첫번째 PE 가어레이의끝에서출력되기까지또다른 p-1 싸이클의지연이존재한다. 그래서두번째 p-1 딜레이가총지연에더해져야한다. non-alternating mode 의경우에는이러한딜레이가

Nonalternating Mode Alternating Mode No. PEs E (nj) A(slices) T (us) EAT E (nj) A(slices) T (us) EAT 8 370.51 352 1.52 1.00 370.51 352 1.52 1.00 4 548.54 176 2.72 1.32 572.54 176 2.88 1.46 2 947.65 112 5.24 2.81 980.16 88 5.60 2.44 1 1718.68 56 10.34 5.02 1797.18 44 11.04 4.40 표 4 에너지, 면적, 지연, 그리고 EAT(Non-alternating mode 의경우, EAT 는 8 PE 에대해 normalization 하였다.) Constant Size Power(mW) 8 bits 1.41 width=8 bits, depth=16 1.85 width=8 bits, depth=32 5.58 width=8 bits, depth=64 6.45 8 bits 1.85 8 bits 1.85 8 bits 10.56 8 bits 0.63 8 bits 12.50 N/A 150 표 2 에너지예측방정식을위한상수값 Constant Size Area (slices) 8 bits 4 width=8 bits, depth=16 4 width=8 bits, depth=32 16 width=8 bits, depth=64 16 8 bits 4 8 bits 4 8 bits 16 표 3 면적예측방정식을위한상수값 오직한번만발생하며 alternating mode에서는이러한지연이매단계 1-단계 2 마다발생한다. 그러므로총지연은 식 (10) 식 (11) 간단히하면 이된다. 식 (12) 식 (13) 5.2 에너지예측본설계에서에너지소비를예측하기위해서, 각 PE 콤포넌트의동작을결정하는알고리즘을분석한다. 이분석을통해얻는각콤포넌트가활성화시간과각콤포넌트의전력소모량을곱하면에너지소모량예측이가능하다. 콤포넌트각각의유형별전력소모는저수준시뮬레이션을통해얻을수있다., 곱셈기, 그리고덧셈기는입력에레지스터를사용하지않으며출력에레지스터를사용한다. 그림 3 에서는에너지예측에서제외한레지스터들을점선으로표시하였다. 계산결과는각콤포넌트가 alternating 기법인가또는 non-alternating 기법인가에관계없이같은값을보이지만, 메모리의전력소모에서차이를보인다. Non-alternating 기법의경우에 alternating 기법에비해서각각의 PE 가많은양의메모리를필요로하므로, 큰메모리로인한더많은전력소모를하게된다. 5.2.1. 1단계본알고리즘의 1단계에서는매 2 싸이클마다덧셈기, 곱셈기, 레지스터 R5, 그리고계수 RAM을엑세스한다. 모두 의입력이각 PE에서나오는매개열에대해동작한다. 그래서이콤포넌트들각각은매개열마다 번활성화된다. 생성되는전체매개열의개수는, PE의숫자와는무관하게, 전체매개행렬이 개의열을갖기때문에 이된다. 그래서덧셈기, 곱셈기, 레지스터 R5, 그리고계수 RAM은 싸이클의모든 1단계에있는모든 PE에대하여각각활성화된다. 한 PE가매개열을계산할때마다, 원래행렬에서 개의모든엔트리를읽어야한다. 그러므로, 소스행렬을 PE 으로 번입력해야한다. 따라서, 각 PE 에서 M1과 M2은 싸이클동안활성화되는것이다. 개이상의 PE일때는각곱셈기는 싸이클동안활동한다. 매개행렬의모든엔트리는반드시데이터 에기록된다. 에기록되는총횟수는 PE의개수와무관하게 이다. 이정보들을하나의에너지관계식으로정리하면아래와같다. 식 (14),,,,,, 그리고 는각각덧셈기 / 뺄셈기, 곱셈기, 멀티플렉서, 레지스터, 데이터저장용 1 포트 RAM, 그리고입력 8bit 데이터의전력상수들이다. 5.2.2. 2단계 2단계에서는덧셈기, 곱셈기, 레지스터 R5, 계수, 그리고멀티플렉서 M2의동작이 1단계에서와같다. 데이터 에기록하지는않지만대신매싸이클마다한요소가읽혀진다. PE의숫자와무관하게, 번의데이터 읽기를수행해야한다. 각결과엔트리는 번읽기를해야하며, 총 개의엔트리가있다. 각 PE에있는데이터 의면적와그로인한전력소모는 PE의개수와 alternating 기법을사용하는지여부에달려있지만, 전체적으로읽기횟수는같다. 이단계에서 PE 의멀티플렉서 M1은, 어레이로부터의출력처럼 PE 로부터출력이 PE 로전달될때

와 PE 의 R6의데이터가 PE 로기록될때활성화된다. 그리하여멀티플렉서 M1은자체출력과, 그전에모든 PE의모든출력을선택할때 PE 에서활성화된다. 따라서 PE 내의 M1은계산된출력의각열에대해서 싸이클만큼활성화된다. 각 PE는출력의 개의열을계산하고, 멀티플렉서 M1이활성화되는 2단계전체에걸쳐서모든 PE의총합은 싸이클이다. 부가적으로, 전체 개의요소들이어레이의출력이라는사실을고려하여 2단계에서총에너지소모는다음과같이예측한다. 식 (15) 는 8비트데이터출력에대한전력이고, 다른상수들은앞서기술한바와같다. 5.2.3. 총합 와 를합치면에너지소모량이된다. 전체에너지소모량을구하려면, 비활성에너지소비량을반드시더해야한다. 그러면전체에너지소모총합은다음과같다. 식 (16) 은식 (12) 또는식 (13) 에서구하며, 는장치의비활성전력소모량이다. 5.3 면적예측그림 3의점선표시로된콤포넌트들의면적는다른콤포넌트들의면적으로둘러싸여진다. 그러면, PE의면적는하나의레지스터, 적절한면적의 2 포트 RAM 들두개의 2-to-1 멀티플렉서, 두개의덧셈기, 그리고한개의곱셈기로구성된다. 개의 PE의예측된면적는다음과같다. 식 (17) 이때,,,,, 그리고 는각각레지스터, 데이터저장을위한 1포트 RAM, 계수저장을위한 1포트 RAM, 멀티플렉서, 덧셈 / 뺄셈기, 그리고곱셈기의면적를가리킨다. IOL1 0 IOR1 M R1 1 From PE 1 j-1 To PE 1 0 j+1 R8 M2 R1...R8: registers M1,M2: R3 R2 multiplexers A1 IOL1, + IOR1: I/O ports R4 RAM i : the i-th words in the coeff R7 X RAM Coeff: Prestored R5 DCT coeffs. RAM i + A2 A1,A2: adders *A1,A2,R2,Multipl R6 iers accepts input on every other cycle PE j 그림 3 DCT 연산을위한어레이의 PE. 점선으로표시된레지스터는다른콤포넌트의일부 6. 트레이드오프 이번장에서이디자인에서에너지, 면적, 지연시간간의트레이드오프 (tradeoff) 를분석하고자한다. 비교를위해가장일반적인면적의 DCT인 DCT를사용한다. 이것은 JPEG 과 MPEG에서많이사용된다. DCT 일때선형어레이에서가능한 PE의개수는 1,2,4,8이다. 디자인을분석하기위해 V 장에서유도된방정식을사용한다. 지연방정식 (latency equation)( 식 12, 13) 을이용하면같은수의 PE일때 non-alternating mode 의알고리즘이더낮은지연을보인다는것은쉽게알아낼수있다. 그러나 non-alternating mode 는 alternating mode 보다각 PE의저장횟수가많아진다. 그이유는 non-alternating mode 에서는 PE에의해처리된모든단계 1 결과가그 PE에저장되어야하지만 alternating mode에서는언제든지 n개중간결과만이 PE에저장된다. 그러므로 non-alternating mode 는 n( n/p) 개의엔트리들을저장할수있는메모리가필요하다. 반면에 alternating mode에서 PE는단지 n 엔트리의메모리만이필요하다. 에너지, 면적, 지연시간의차이가어떤영향을가져오는지분석하기위해 low-level stimulation 으로부터이끌어낸상수와도메인-스페시픽모델을이용할것이다. 표2는 100MHz의 Xilinx Virtex-II에서매핑했을때, 디자인의콤포넌트들의손실값을보여준다. 주의할점은다른몇몇디자인들은 8 메모리엔트리만을요구하지만 Xilinx Virtex-II 에서는 16 메모리엔트리의최소면적메모리를요구한다. 표3은 Virtex-II[2] 가충족될때본디자인의콤포넌트들의면적를표로나타낸다. 표4는두가지방식모두에서 1,2,4,8 PE들로디자인했을때에너지, 면적, 지연시간의값을나타내었다. 게다가이것은에너지, 면적, 지연시간을 non-alternating mode 경우에서 8 PE 인경우를기준으로두고각각의경우에너지 (energy) 와면적 (area), 시간 (time) 을곱한값 (EAT) 을나타낸다. 이때 EAT의경우, 낮은값이좋은것이다. 이표는 8 PE 디자인이가장빠르고가장에너지효율적이며, 또한가장큰면적에도불구하고가장낮은 EAT를가진다는것을보여준다. 7. 성능비교 7.1 실험환경 이제우리의디자인과 Xilinx IP 코어 for 2D DCT의경우에지연시간, 에너지손실, 면적측면을고수준에서예측하여비교해볼것이다. 각디자인에서 8-bit precision과 100MHz clock 주파수를가정한다. 우리의디자인인경우 VI 장표의값과방정식을이용한다. Xilinx IP 코어의경우값을비교하기위해그디자인을설정하고시뮬레이션한다. 먼저 Xilinx 코어 Generator( 특별한언급이없으면모든 tool은 Xilinx ISE 4.2i를기준으로한다.) 를이용한다. Xilinx XPower를통하여디자인에의한전력손실을분석한다. 한편, DSP와의비교를위하여, TMS320C6415에대한결과값은 Texas Instruments의 Code Composer Studio 2.1을통해얻는다 [9]. 7.2 결과 비교를위해 DCT 를다시사용한다. 본설계의경우 8 개의 PE 가가장효율적이어서 Xilinx 설계와비

교를위해사용한다. 그림 4 와그림 5 는본설계와 Xilinx IP 코어의지연과에너지를보이고있다. 각각의그림은두가지를비교하고있다. 첫번째는한개의 DCT 에대한것이다. 이경우에, 본설계는 Xilinx 에비해서 1.1 배의속도향상과, 320nJ 정도의낮은에너지소모를하고있다. 두번째는 10 개의 DCT 블록을처리할때 DCT 당평균지연시간과평균에너지소모를비교하고있다. Xilinx 설계의경우지연시간과에너지소모모두급격하게낮아짐을알수있다. 실제로는, Xilinx 의설계는, 파이프라인설계를했기때문에, 본설계보다에너지소비는많으나짧은지연시간을갖는다. 그래서 IP 코어는 64 클록싸이클마다한개의 DCT 를계산한다. 본설계는파이프라인을사용하지않기때문에한개의 DCT 처리경우와크게다르지않다. 식 (16) 을이용하면, 본설계의면적는 352 개, 그 Xilinx 설계에서는 1001 개의슬라이스를사용하므로, 본설계가면적면에서더우수하다. DSP 와의비교는아래표 5 에간단히보인다. E (decrease) T (decrease) DSP (TI) 716.4 0.6 Proposed 409.4 0.16 표 5 DSP 와의에너지소모및지연시간비교. 8. 결론및추후과제 결론적으로, 본논문은 FPGA 상에서 2차원 DCT를위한알고리즘과아키텍처를제안했다. 본설계는 Xlinx IP 코어에비해더에너지효율적이다. 본설계의우수성은도메인-스페시픽모델을통해고수준예측의결과에서보이고있다. 다양한형태의추후과제가가능하다. 첫째로, 고수준예측의검증을위해저수준의시뮬레이션을끝낼것이다. 그리고본설계의높은처리량을갖는버전을개발중에있다. 이설계에서는 DCT 의 2단계연산이 DCT 의 1단계연산을중복시킨다. 연산은본논문에서드러난, 덧셈기와곱셈기가쉬는싸이클을이용하여중복처리가가능하다. 참고문헌 [1] C.Dick, "Minimum multiplicative complexity implementation of the 2-D DCT using Xilinx FPGAs", in Proceedings of SPIE's Photonics East, November 1998. [2] S. Choi, R.Scrofano, V. K. Prasanna, and J.-W. Jang, "Energy-efficient signal processing using FPGAs", in Proceedings of the Eleventh ACM International Symposium on Field-Programmable Gate Arrays, 2003 [3] S. Choi, J.-W. Jang, S. Mohanty, and V. K. Prasanna, "Domain-specific modeling for rapid system-wide energy estimation of reconfigurable architectures", in Engineering of Reconfigurable System and Algorithms, 2002. [4] H. Lim, V. Piuri, and E. E. Swatzlander, Jr., "A serial-parallel architecture for two-dimensional discrete cosine and inverse discrete cosine transforms", IEEE Transactions on Computers, vol. 49, no. 12, pp. 1297-1309, December 2000. [5] L. Mintzer, The Role of Distributed Arismetic to 그림 4 지연시간과평균값 그림 5 에너지와평균값 Digital Signal Processing in FPGAs, Xilinx, Corp. [6] Xilinx Inc., http://www.xilinx.com. [7] Altera Corp., http://www.altera.com. [8] J. Anderson, F. Najm, "Low- power programmable routing circuitry for FPGAs," IEEE/ACM Conference on Computer Aided Design ICCAD-2004, pp602-609 [9] Texas Instruments, http://www.ti.com. 저자약력장주욱 1983 년서울대학교전자공학 ( 학사 ) 1985 년한국과학기술원 ( 석사 ) 1993 년미국 University of Southern California 컴퓨터공학과 ( 박사 ) 1985~1994 삼성전자컴퓨터개발실 1995~ 현재서강대학교전자공학과교수관심분야 : 병렬처리, IT SoC, 인터넷프로토콜 임창현 1998 년서강대학교전자공학 ( 학사 ) 2000 년서강대학교전자공학 ( 석사 ) 2000 년 - 현재서강대학교전자공학과박사과정관심분야 : IT SoC, 인터넷프로토콜 Ronald Scrofano 현재미국 University of Southern California 전자공학박사과정관심분야 : 슈퍼컴퓨팅, 병렬분산시스템, 네트워크컴퓨팅 Viktor K. Prasanna 인도 Indian Institute of Science 전자공학 ( 석사 ) 미국 Pennsylvania State University 컴퓨터학 ( 박사 ) 관심분야 : 연산처리, 병렬분산시스템, 네트워크컴퓨팅, 임베디드시스템