Technical FOCUS



Technical FOCUS


유연하고 프로그램 가능한 임베디드 디지털 프로세서 개발 방안

글 이용준 박사 삼성전자 DMC 연구소 Modem 팀   김경호 상무 삼성전자 DMC연구소 Media SOC팀


1. 요약
디지털 신호를 이용하는 다양한 응용 분야가 지난 수십 년간 발전되어 왔고, 앞으로 계속하여 이러한 발전의 경향이 변경될 어떠한 신호도 아직 발견되지 않고 있다. 이러한 디지털 신호 처리를 가능하게 하는 프로세서 역시 응용분야의 다양성과 함께 진화하여 왔다. 이러한 디지털 신호처리 프로세서가 사용되는 대표적인 응용분야의 예로써 DTV (Digital Television), Digital Radio, Wireless Handset 등이 있다.

다양한 응용 어플리케이션에서 프로그램이 가능한 솔루션은, 개발 기간의 단축, 비용의 절감을 이룰 수 있을 것으로 예상할 수 있다. 또한 이러한 프로그램이 가능하며 유연성 있는 개발은 시장이 필요한 적기에 제품을 공급하고, 변하는 스탠더드에 맞추어 성능을 향상 시키고, 유지 비용을 줄이는 것이 가능하게 된다.

현재는 ASIC(Application Specific Integrated Circuit)을 사용하여 이러한 디지털 신호 프로세서를 개발하는 것이 일반적인 개발방안이다. 이는 현재의 프로세서로 처리가 가능한 성능 및 전력소모 그리고 실리콘의 크기의 종합적인 성능이 ASIC의 종합적인 성능에 미치지 못하기 때문이다. 그러나 이러한 경향에 맞추어 프로세서의 계산성과 유연성을 ASIC에 근접하게 도달하게 하기 위한 여러 시도가 진행되고 있다.
그리고 이러한 ASIC의 성능, 전력의 장점과 프로세서의 유연성의 장점을 결합한 Hybrid한 디지털 신호처리를 위한 시스템을 구성하는 방안도 다양하게 연구되고 있다.

임베디드디지털 신호 프로세서는 하나의 IC(Integrated Circuit) Chip에 축약될 수 있는 시스템을 의미한다. 이러한 프로세서를 개발하는 다양한 방안이 있으나, 계속하여 증가하는 개발 비용과 개발된 프로세서를 다양한 기준에 적용하기 위하여 유연한 개발방안에 관한 연구가 진행되고 있다.
이러한 개발방안을 요약하면 아래의 표와 같이 요약할 수 있을 것이다. 이에 따르면 현재의 DSP/VSP 혹은 RP와 같은 재구성(Re-configurable) 가능한 프로세서를 사용한 개발방안은 요구되는 성능, 비용, 전력 소모 등의 조건에 따라서 선택할 수 있고, 그 동안의 기술 발전에 따라서 개발자가 선택할 수 있는 선택사항들이 확대 되어 왔다.
본고에서는 변화하는 프로세서 개발 경향에 맞추어 응용 분야에 특정되어 있는 임베디드 프로세서를 유연하고 프로그램이 가능하도록 개발하는 방안에 관하여 소개하였다.



2. 신호 처리 프로세서의 개요
2.1 Architectural Consideration
일반적인 ASIC디자인 방식은 디지털 신호 처리의 단계를 중요한 기능 별로 분석 및 분해 하는 것이 처음 단계이다. 각 부분은 처리 비율(Processing Rate), 입력 클락(Input Clock), 메모리 용량(Memory Requirement), 그리고 데이터 처리 용량(Data Throughput)에 따라서 결정된다. 이러한 분석에 기반하여 RTL(Register Transfer Level)을 설계하고 전력, 성능, 면적 등을 고려하여 설계를 수행하게 된다. ASIC 설계 및 수행은 정확하게 필요한 요구에 맞게 설계하여 제작할 수 있는 장점이 있으나, 유연성의 관점에서 두 종류의 큰 단점을 가지고 있다.

제 일의 단점은 많은 시간과 노력이 효율적인 하드웨어 블록을 재 사용하는 것에 필요하게 되며, 서로 다른 복수의 동작을 위해서는 각기 다른 설계 및 개발이 필요하게 되고 이는 비용과 시간 면에서 단점이 된다. 다음으로 표준이 변경되는 경우 새로운 표준을 기존 디자인에서는 구현하는 것이 불가능 하므로 새로운 ASIC을 설계 하여 구현 해야 한다.

이러한 ASIC을 이용한 설계와 구현의 단점들은 특정 목적의 신호 처리 프로세서를 사용하여 보완이 가능하다. 이러한 신호처리 프로세서는 유연성과 프로그래밍이 가능한 장점이 있다. 유연성의 정도는 신호처리 프로세서를 사용하는 목적과 비용, 기간 등에 따라 결정될 수 있을 것이다. 일반적인 범용 프로세서를 사용하는 것은 가장 높은 수준의 유연성과 프로그래밍에 의한 기능 구현이 가능하나, 전력, 성능, 그리고 칩 크기에 제한을 받는 동적 기기에 사용되는 칩을 개발 구현하는 방안으로 적합하지 않다.

지난 10 년 동안 이러한 특정 신호처리를 위한 다양한 시도들이 상용, 연구 분야에서 이루어져 왔으며, 이러한 분야의 진보 역시 다른 디지털 분야와 같이 획기적으로 발전되어 왔다. 그리고 또한 이러한 분야의 관심과 적용은 획기적으로 증가되어 왔다.



그림 1은 다양한 특정 신호처리를 위한 프로세서들을 유연성과 전력 효율을 고려하여 도식화 한 다이아그램이다. 신호처리 프로세서의 전력 효율은 ASIC에 도달하였다고 말할 수 없다. 그러나 ASIC으로 개발 및 구현하는 것에 비하여 프로세서 개발방식은 기간 및 소요 인원에서 많은 단축을 가져올 수 있다.

3. 유연성과 프로그램 가능한 신호 처리 기술
3.1 FPGA
FPGA(Field Programmable Gate Array)는 개발을 검증하는 곳에서 디지털 신호처리를 변경할 수 있도록 고안된 개발방안이다. 일반적으로 FPGA는 2차원의 일반 목적 신호처리 서킷(General-Purpose Logic Circuits)으로 구성되어 있으며, 프로그래밍 가능한 설계로, 이를 셀(Cell) 혹은 블록(Logic Block) 이라고 한다. 각 블록은 프로그래밍이 가능한 버스(Bus)로 연결되어 있다. FPGA는 프로그래밍이 가능한 상호연결(Interconnect Routing) 구조로 제한이 없는 신호처리 모듈(Logic Module)을 선택적으로 연결하여 신호처리 모듈의 기능을 검증한다.

기본적인 FPGA는 구성변경이 가능한 신호처리 블록(CLB: Configurable Logic Block)과 입력 출력 블록(IOB: In/Out Block)으로 구성되어 있다. 입력 출력 블록은 칩 외부에서 신호를 받아들이고 선택적으로 상호연결 블록을 구동하여 동작하게 한다.

FPGA는 수십만 혹은 수백만 신호처리 소자(Gate Logic)를 수십 MHz의 속도로 동작하는 것을 지원한다. FPGA는 프로그래밍 데이터를 신호처리 블록, 상호연결 구조에서 접근이 가능한 메모리 셀에 로딩하여 프로그램 할 수 있다. 이러한 FPGA 기술은 각종 응용분야의 개발에 유연하고 프로그램 가능한 방안으로 널리 사용되고 있다.



3.2 Vector Signal Processor (벡터 신호 처리 프로세서)
3.2.1 벡터 신호 처리 프로세서 소개
VSP(Vector Signal Processor)는 DSP(Digital Signal Processor)가 도달할 수 없는 고성능의 계산이 필요한 분야에 사용하기 위하여 개발되었다. VSP는 DSP를 사용하는 경우 많은 시간과 자원을 사용할 수 밖에 없는 경우에 VSP를 사용하여 획기적으로 성능을 향상한다. 예를 들어 Vector 계산에 DSP를 사용하는 경우 Vector의 크기가 증가하는 경우 시간과 프로세서의 자원이 많이 사용되나 VSP의 경우는 넓은 프로세서의 계산 단위에 의하여 짧은 시간에 효율적으로 프로세서를 사용할 수 있다. 이를 VSP 라는 용어를 사용하여 DSP와 구별하는 것이 필요하다.

높은 계산 능력에 도달하기 위하여 DSP를 다양한 방법으로 복잡화 그리고 집적화를 실시하여 왔다. 아래의 방법들이 일반적인 성능 향상 방안이다.
● Super Pipelining Architecture(고성능 파이프 라인 구조): 수학적 계산 단위들을 연속하여 연결 하여 구조를 구성한다. 이는 연속적인 계산에 있어서 높은 효율을 제공할 수 있다.
● Super Scalar Architecture(고성능 다층 연산 구조): 여러 개의 짧은 파이프 라인을 병렬로 연결하여 사용한다. ILP(In struction Level Parallelism)의 방식으로 프로그램을 수행 하므로, SMP(Symmetric Multi Processing), SMT (Symmetric Multi Threading)의 방식으로 프로그램을 구성 하며, 많은 계산 자원이 필요하게 된다.
● Multi-DSP(다중 DSP): 다중의 프로세서들을 연결하여 사용하는 방식이다. 다중 DSP 방식은 일반적으로 저 전력 상용화 제품이 상용되는 시장에는 적절하지 않다.
VSP의 구조는 SIMD(Single Instruction Multiple Data: 단일 명령어 다중 데이터)와 MIMD(Multiple Instruc tion Multiple Data: 다중 명령어 다중 데이터) 구조의 결합 프로세서이다. SIMD 구조에서는 일반적으로 LIW(Long Instruction Word)의 명령어와 결합하여 단일 명령어에 여러 가지 데이터를 처리하기 위한 기능 블록을 구동할 수 있게 사용한다. MIMD는 각 기능 블록들이 서로 다른 처리시간과 동기만남을 지원하는 경우 처리하기 위한 프로세서 구조이다.
VSP는 앞으로 발전이 예상되는 유연하고 프로그램이 가능한 신호처리 프로세서에 사용하기 위하여 DSP에서 진화한 것이다. 이러한 VSP에 적합한 두 프로세서를 소개한다.

3.2.2 Ardbeg
Ardbeg VSP는 미국 미시간 공과대학과의 SODA 프로젝트에서 이루어진 연구를 바탕으로 ARM사가 상용화를 위하여 새로이 설계한 프로세서 기술이다. 이 기술은 현재 무선 모뎀을 위하여 시작되었으나, 앞으로는 다중 미디어, 혹은 차세대 게임 콘솔, 복잡 이미지 처리 등으로 확장이 가능할 것이다. 이는 미래세대에 있어서 더 많은 계산량과 벡터화 된 응용 분야의 증가는 피할 수 없을 것으로 예상이 되기 때문이다.
SODA연구는 SDR(S/W Defined Radio)에 관한 연구로 SDR의 장점을 구현할 수 있는 VSP를 개발하는 데 중점이 있다. SDR이 일반 ASIC에 기반한 임베디드 프로세서에 비하면 몇 가지 장점이 있다.

1) 복수의 프로토콜을 동일한 하드웨어를 사용하여 지원한다.
2) 소프트웨어 검증에 적은 시간과 비용이 요구된다.
3) 동일한 하드웨어를 복수의 프로토콜이 공유하므로 개발비용이 절감될 수 있다.
4) 미래의 프로토콜 변화에 쉽게 대응할 수 있다.

이러한 장점에 대응하기 위하여 GP-DSP를 사용하는 경우 처리능력의 제한으로 사용하기에 적절하지 않다. 이러한 이유로 SODA는 높은 계산량과 유연성을 동시에 만족하기 위하여 개발되었고, Ardbeg은 무선 통신들, 혹은 여러 다양한 DLP(Data Level Parallelism: 데이터 구분 병렬처리) 처리에 유리하게 성능이 향상 되었다.

이러한 SODA 그리고 Ardbeg에서 에너지(Energy)와 처리시간(Delay) 및 칩 면적(Area)에 바탕을 둔 최적의 SIMD 크기가 존재한다는 것이 연구되었다. 이에 따르면 SIMD의 기능 처리 블록의 크기가 16-32 인 경우 에너지, 처리시간, 그리고 칩 면적을 고려한 최적의 구조가 된다. 실제 상용화 되는 과정에서 필요한 사항들은 아래와 같은 것들이 있다.



① SIMD/MIMD LIW 필요: 이는 SIMD의 넓이가 복수로 있는 다중 SIMD 계산 처리기가 다양하게 존재하는 미래의 응용분야에 있어서 피할 수 없는 선택이 될 것이다.
② 데이터 처리를 위한 연산자의 크기(Data Precision)의 증가: 8/16/32-bit 등과 같이 다양한 연산자의 처리를 지원하는 것이 필요하게 될 것이다.
③ 곱셈기 반응속도(Multiplier Latency): VSP를 사용 하는 신호 처리기에 있어서 곱셈에 따른 처리시간의 감소는 피할 수 없는 선택이다.
④ 레지스터(Register)의 증가: SIMD를 고효율로 활용하기 위해서는 레지스터 파일이 응용처리를 수행하는데 충분한 수가 있어야 한다.
⑤ 협업 프로세서(Co-processor)의 사용: SIMD의 VSP가 높은 계산 능력이 필요한 응용 분야에 적용이 가능하더라도 어떤 특정한 하드웨어의 ASIC 블록은 프로세서에 비하여 에너지와 처리 시간 면에서 유리할 수 있다. 이러한 대표적인 블록이 Turbo-decoder로 Ardbeg의 경우 이를 하드웨어에서 처리 하는 방안으로 수정하였다.
SODA와 Ardbeg에 관한 상세한 소개는 Micro[2008]를 참조한다.

3.2.3 CEVA사의 XC Series
CEVA사의 VSP 구조는 기존 CEVA사의 DSP에서 진화하는 방식으로 진행이 되어 왔다. 위의 그림은 XC Series 의 새로운 구성인 XC323의 블록 구조도 이다

일반적인 VSP와 같이 XC 제품 군은 Vector Communi cation Unit (VCU: 벡터 계산기)와 General Compu-tation Unit (GCU: 일반 계산기)의 두 연산 구조로 구성 되어 있다. VCU는 256-Bit의 벡터 레지스터에 의하여 동작 된다. 또한 VSP를 사용하는 ANSI-C 처리와 조절 연산(Control Operation)은 GCU에 의하여 동작 된다.

응용 프로그램에 있어서 통신에 기반을 한 동작과 같이 벡터로 처리가 가능한 수행 연산은 VCU에서 수행되며, 일반적인 DSP 처리 연산과 같은 ANSI-C DSP 기능 등은 GCU에서 인터럽트, 분지 예측(Branch Prediction), 그리고 Delay-slot 등과 같은 Control 코드 등은 PCU(Program Control Unit)에서 수행된다. 또한 두 개의 LS0(Load Store Unit), LS1을 통하여 메모리를 접근하는 동작을 수행할 수 있도록 구성된다. 간략하게 CEVA VSP의 구성을 살펴본다면

① CEVA-XC VCU: CEVA사는 1개의 VU(Vector Unit)에 16개의 MAC(Multiplication and Accumulation Compu-tation) 처리를 할 수 있도록 하고 이를 1, 2 혹은 4개를 활성화 하여 사용할 수 있도록 구조를 구성하였다. 이에 따르면 2개의 VU를 사용하여 32 개의 16x16 bit MAC 연산이 가능하게 된다.
② CEVA-XC GCU(General Computation Unit): GCU는 4개의 계산 연산자를 가지고 8/16/32/40-bit의 계산이 가능할 수 있도록 한다. 기본적으로 수치 연산과 스칼라 연산의 ANSI-C동작 수행을 할 수 있도록 준비되어 있다.
③ CEVA-XC PSU(Power Scaling Unit): CEVA-XC PSU는 여러 Clock자원에 대하여 별도의 Clock으로 지원하는 것이 가능하다.
④ CEVA-XC MSS(Memory Sub System): CEVA-XC의 메모리 시스템은 데이터 메모리 시스템과 프로그램 메모리 시스템 그리고 에뮬레이션과 디버그 시스템으로 구성 되어 있다.

4. DSPs
DSP(Digital Signal Processing: 디지털 신호 처리)는 수학적인 동작을 수행하는 것을 의미한다. DSP(Digital Signal Processor: 디지털 신호 처리 프로세서)는 특별히 디지털 신호 처리의 역할을 담당하기 위하여 고안되었다. 이러한 특별한 기기들은 지난 수 10년 동안 높은 비율로 성장되어 왔고, 무선 전화부터 고성능의 과학 계측 장비에 이르기까지 다양한 용도로 사용 영역을 확대하여 왔다. 이러한 DSP를 필요에 따라서 구분을 한다면

① Application specific DSP(AS-DSP: 응용 분야 DSP), 일반적으로 고성능의 응용분야에 적합한 성능 수요를 만족시키기 위하여 고안된 DSP로 칩 면적과 비용을 최소한으로 한 것이다. 예를 들어 음성 변환 (Speech Coding)과 같은 예가 이에 해당한다.
② Domain specific DSP(DS-DSP: 도메인 적용 DSP), 이는 보다 광의의 응용 도메인을 담당하기 위하여 만들어진 DSP로 특정 응용 분야 적용을 염두에 두고 만들어진 DSP이다. 특별한 명령어의 추가와 추가된 H/W를 가지고 있으며, 특정 알고리듬(Algorithm)을 효율적으로 수행할 수 있도록 최적화 되어 있다.
③ General purpose DSP(GP-DSP: 범용 DSP), 이는 일반적인 응용 분야에서 사용되고 많은 기 개발의 소프트웨어를 가지고 있으나 특정 분야에 적용을 하는 점에 있어서는 다른 DSP에 비하여 성능이 낮다.
이러한 DSP의 사용은 이미 많이 알려져 왔고 널리 보편화 되어 있어 본 소개에서는 이러한 개략적인 내용만을 소개한다.
 
5. RP (Reconfigurable Processor: 응용분야 맞춤 프로세서)
5.1 RP Architecture
RP는 프로그램이 가능한 프로세서의 한 종류이다. 그러나 RP는 실제로 수행이 필요한 동작 Parameter와 데이터의 크기 및 계산의 필요에 따라서 계산 및 계산 자원(Computing Resource)을 분배하여 적용 하는 점에 있어서 일반 프로그램 가능 DSP 혹은 VSP와 차이점이 있다.
실리콘 기술의 발전에 따라서 이러한 응용분야의 맞춤형 프로세서 설계가 가능하게 되었고 이러한 프로세서 설계가 가능하도록 하는 다양한 툴들이 개발되어 왔다. 이러한 진보에 따라서 동적으로 응용분야에 적용이 가능한 계산 능력과 성능을 보장하는 RP 프로세서들의 개발이 급속도로 진행되고 있다. 현재의 시그널 프로세서는 계속적으로

① Data parallelism(데이터의 병렬화)
② Application-specific specialization(응용분야 특화)
③ Functional flexibility(기능의 유연성)

등을 확보하는 방안으로 발전하여 왔으며 이러한 방향으로 진화하고 있다.
이러한 RP의 일종으로 상용화가 가능한 기술로는 IMEC사의 ADRES(Architecture for Dynamically Reconfi-gurable Embedded Systems) 프로세서가 있다. ADRES의 프로세서 구조는 여러 기본구조의 계산 구성요소로 이루어져 있으며 이런 계산 기본 요소는 계산기, 기억소자, 연결소자 등이다. 기본 계산 기능 유니트(Functional Unit)는 콘트롤 신호에 의해서 동작하게 된다. 레지스터 파일과 메모리 블록들은 데이터를 저장하는 역할을 담당한다. 연결소자는 버스와 멀티플렉서(Multiplexer), 연결선(Wire) 등이 있다. 이러한 연결소자를 이용하여 계산 유니트들이 연결되어 있으며 ADRES 계산 array를 구성하게 된다. ADRES 프로세서는 VLIW 프로세서와 세밀하게 조합이 가능한 배열 프로세서(Array Processor)로 구성되어 있다. 이러한 배열 프로세서들은 시뮬레이터(Simulator)와 컴파일러(Compiler)를 이용하여 응용 분야에 특정된 프로세서 구조를 정하게 되고 이를 이용하여 확정된 프로세서(Processor Instance)를 만들게 된다.

ADRES 프로세서는 이러한 설계 방안에 의하여 높은 병렬화를 구현할 수 있으며, 아래와 같은 특징을 가진 맞춤형 프로세서를 얻을 수 있게 한다.
① Instruction level parallelism (명령어에 따른 병렬화)
② Multi threading support (다중 쓰레드 지원)
③ Vector 명령어 지원과 같은 고성능의 SIMD 명령어를 구성하는 것이 가능하다.
④ C-프로그램에 따른 코딩
초기세대의 ADRES 프로세서는 90nm CMOS 기술에 의하여 개발되었으며, 현재 40nm의 프로토타입(Prototype) 4x4 프로세서 배열(Processor Array) 모델이 개발되어 있다.

5.2 RP 개발 방안의 예시



RP 프로세서를 이용하여 특정 응용분야에 적합한 맞춤형 프로세서를 개발하는 방안은 다음과 같다.
① XML구조 템플릿을 이용 하드웨어로 확정한다.
② 개발자는 XML을 이용 VLIW와 CGA(Coarse Grain Array)의 크기를 정할 수 있다. 이는 FU(기능 유니트) 사이의 연결방안에 관한 것, 데이터와 명령어 레지스터 등을 정의한다.
③ 이러한 프로세서 구성 알고리듬을 기반으로 한 C-코드를 작성하고 이를 컴파일 한다.
④ 이후 ARDES 프로세서를 위한 기계어 코드가 생성된다.
⑤ 또한 CA(Cycle Accurate) 시뮬레이션을 위한 시뮬레이터를 생성하며 통합화가 가능한 VHDL이 생성되며 이를 이용하여 ASIC 개발이 가능하다.

RP 에서는 계산 후의 결과는 PE에서 PE로 연결되어 다음 계산처리를 위하여 사용될 수 있다. 그러나 복잡하고 계산량이 많은 경우는 유연하게 SIMD 엔진 등을 추가하여 이러한 계산을 특별한 엔진을 이용하여 처리하는 것도 가능하다.

6. ASIP (Application Specific Instruction-Set Processor)
6.1 ASIP 개요
ASIP은 마이크로 프로세서로 특정된 분야에 사용하기 위하여 특화된 프로세서이다. 이는 범용성을 최소화 하여 특정 분야에서 최대한의 효율과 성능을 얻기 위한 프로세서이다. 이 프로세서는 일반 프로세서와 같이 CPU, 코어, 메모리, 그리고 주변기기들로 구성된다. 가장 중요한 ASIP의 특징은 개발에 있어서 성능을 효율적으로 담보하며 짧은 개발기간과 비용의 감소가 있다. 현재의 일반적인 SoC(System On Chip)에서는 CPU와 DSP로 구별되는 2개의 프로세서를 사용하나, 앞으로는 ASIP으로 설계된 다양한 프로세서 군으로 구성되는 SoC가 진화 발전 될 것으로 예상하여 이러한 ASIP 프로세서를 이용한 개발과 구현을 고려한다. ASIP은 ASIC과 범용 프로세서의 갭을 연결하는 연결고리가 된다.
ASIP은 범용 프로세서와 ASIC 프로세스의 넓은 영역에 걸쳐서 적용이 가능하다. ASIP은 명령어 단위 혹은 데이터 단위의 높은 병렬화를 구현할 수 있어서 일반적인 개발방안 보다 구조적으로 특별하게 구성된다. 그러므로 구조적인 복잡도는 증가하게 된다.

6.2 ASIP 개발 Tool 소개
6.2.1 Target│벨기에의 Target사는 IP Designer ASIP툴을 제공한다. IP Designer툴은 개발자들이 ASIP 구조를 정의하는 nML 언어를 이용하여 디자인 하는 프로세서를 자동적으로 생성하여 준다. nML 언어는 프로세서 디자이너가 요약하는 기본적인 정의에 맞게 다양한 형태로 프로세서를 제공할 수 있게 한다.
아래 그림은 IP Designer의 간단한 동작 프로세스를 나타낸다. 개발자가 정의한 프로세서 정의에 따라서 ISA가 만들어지고, 그러한 프로세서의 ISA를 사용하여 개발자의 알고리듬을 컴파일, Link 하여 프로파일 후 ISA를 수정 혹은 다음의 단계로 RTL을 만들어 통합 RTL을 생성하여 검증한다. 이러한 검증을 통과한 ASIP을 전체 SoC에 추가하여 ASIP을 사용하는 임베디드 프로세서를 개발하는 것이다.





6.2.2 Tensilica
미국 소재 Tensilica사는 유사한 ASIP을 개발하는 Tool을 제공한다. 또한 Tensilica사는 이미 기 개발된 Tensilica사의 마이크로 프로세서를 제공하며, 이를 이용한 개발 플랫폼도 제공한다.

개발자가 개발하는 프로세서에 관한 정의의 많은 부분을 이미 메뉴 방식의 Tool에 사용이 가능하도록 정의하였으며, 또한 특별한 ISA는 TIE(Tensilica Instruction Extension)으로 불리는 표현 기능을 사용하여 새로이 정의할 수 있다. 상기의 그림은 Tensilica사가 제공하는 Xtensa Tool에 의하여 ASIP을 설계하고 적용하는 방안을 도식화 한 것이다. 기본적으로 위에서 고려한 Target사와 유사한 방식을 사용하여 개발자는 ASIP을 개발할 수 있을 것이다.

7 프로세서와 ASIC의 Hybrid (이종 결합) 개발 방안
Processor를 이용한 신호처리는 앞으로도 확장될 것으로 예측할 수 있다. 그러다 단기적으로 Processor는 특별히 소모 전력 면에서는 ASIC과 같은 Custom Logic에 비해 열세에 있다. 이러한 단점을 극복하기 위하여 신호처리를 위한 임베디드 프로세서 개발의 경우 다음 사항들을 고려할 필요가 있다.

① 프로세서 사용을 고려한 신호처리용 알고리즘의 확보
② 신호처리의 세분화가 가능한 처리 엔진 사용
③ 최적화 완료된 ASIC의 Processor ISA 화
④ 다중 모드에서의 Chip Size 최적화 가능성 활용
이러한 방안을 고려하여 현 시점에서의 프로세서의 단점을 보완하며, 기 개발된 ASIC의 장점을 활용하는 것도 임베디드 프로세서 개발에 있어서 유연한 개발방안을 이용하는 것이 될 수 있다.

8 결론
앞으로도 신호 처리 기술의 영역이 줄어들 것으로 생각되지 않고 다만 확장되고 더 넓은 영역에서 사용될 것으로 예상할 수 있다. 단적인 예가 일본의 토요타 자동차가 클라우드 컴퓨팅을 차에서 사용하는 방안에 대하여 발표한 것이다. 이와 같이 무선 혹은 유선 신호 처리 기술의 발전은 계속될 것으로 예상이 된다. 그러나 ASIC과 같이 특정된 분야만을 위한 칩 설계 기술은 칩의 크기의 증가와 비용의 증가와 같은 기술적인 그리고 비 기술적인 요소에 의하여 제약을 받게 될 것으로 예상할 수 있다. 이러한 예상하에서 앞으로는 사용자에 특화되어 있는 ASIC 설계는 검증과 비용에 의하여 어려움에 처할 수도 있다.
이러한 관점에서 신호처리에 특화된 다양한 기술에 관하여 고찰 하였으며 이러한 기술은 곧 신호처리를 주 역할로 담당하는 임베디드 프로세서에서 중요한 경향이 될 것으로 예상된다. 따라서 이러한 기술을 개발하고 선점하기 위하여 이러한 기술의 이해력을 높이는 것은 필요한 것으로 생각되어 이러한 분야를 개략적이나마 요약하였다.


References

1. http://www.actel.com/products/smartfusion/designflow.aspx
2. Shivi Chaturvedi, Ajay Somkuwar, "the role of digital signal processor (DSP) for 3G mobile communication systems" international journal on emerging technologies, 2010 pp23-26
3. TMS320C64x technical overview @ti.com
4. Synopsys® Processor Designer
5. Automating the Design and Implementation of Custom Processors and Programmable Accelerators @synopsys.com
6. M. Woh, et al, "From SODA to Scotch: The Evolution of a Wireless Baseband Processor," In Proceedings of MICRO''2008. pp.152~163
7. http://www.maximumpc.com/article/Intels-Core-is-a-Brainiac
8. "A NEW VECTOR PROCESSOR ARCHITECTURE FOR HIGH PERFORMANCE SIGNAL PROCESSING," Andreas Bolzer, Gerald Krottendorfer and Manfred Riener,
9. "Reconfigurable Computing for Digital Signal Processing: A Survey," RUSSELL TESSIER AND WAYNE BURLESON, Journal of VLSI Signal Processing 28, 7?27, 2001
10. http://www2.imec.be/be_en/collaboration/ip-licensing-service/green-radio-ip-blocks.html  "ADRES PROCESSOR"

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지