Module 11 : Processor-centric SoC Platform Architecture 김재석 교수 (연세대학교)
(모듈11) 목차 Processor-centric SoC Architecture Reconfigurable Architecture Fine-grain Architecture Coarse-grain Architecture Product Examples – Improv, ARC, Tensilica, Triscend, Montium Copyrightⓒ2003
Processor-centric SoC Architecture 예전의 설계 방식으로써의 의미 고성능 Processor 를 사용하여 기능의 대부분을 구현 성능이 Processor 의 Clock speed 에 좌우 구현하고자 하는 성능을 만족할 수 있는 Processor 선택과정 중요 SoC 구현을 위한 Processor-centric Architecture 다양한 사양과 그 변화에 대응하는 구조 필요 Reconfigurable Architecture 개념의 도입 성능 개선을 위해서 Parallelism 확보가 필수 Copyrightⓒ2003
Reconfigurable SOC Architecture Hardware (Coarse Grain) ASIC 1 DSP (Fine Grain) ASIC 2 Reconfigurable SOC Architecture는 기존의 SOC에 포함된 고정된 기능의 하드웨어와 달리 Configurable Hardware를 포함시킴으로써 필요에 따라 SOC의 기능을 변경할 수 있는 것이다. Copyrightⓒ2003
Y Chart Number of CPUs Memory sizes for each processor In this model, the application-specific parameters are used to configure the architecture platform and an application-specific architecture is produced. These parameters result from an analysis of the application to be designed Architecture platform parameters Number of CPUs Memory sizes for each processor Interconnections between processors Communication protocols and the external connections (peripherals) Copyrightⓒ2003
Reconfigurable Architectures (R-SOC) FINE GRAIN (FPGA) MULTI GRANULARITY (Heterogeneous) COARSE GRAIN (Systolic) Processor + Coprocessor Tile-Based Architecture Island Topology Hierarchical Topology Coarse Grain Coprocessor Fine Grain Coprocessor Mesh Topology Linear Topology Hierarchical Topology Xilinx Virtex Xilinx Spartran Atmel AT40K Lattice ispXPGA Reconfigurable Architecture는 많은 연구가 진행되었다. 크게 Architecture는 Fine Grain Architecture, Coarse Grain Architecture, 둘을 조합해 사용하는 Multi granularity Architecture로 나눌 수 있다. 각 Architecture 별로 나와있는 제품과 연구중인 내용은 그림과 같다. Altera Stratix Altera Apex Altera Cyclone Chameleon REMARC Morphosys Pleiades Garp FIPSOC Triscend E5 Triscend A7 Xilinx Virtex-II Pro Altera Excalibur Atmel FPSIC aSoC E-FPFA RAW CHESS MATRIX KressArray Systolix Pulsedsp Systolic Ring RaPiD PipeRench DART FPFA Copyrightⓒ2003
Reconfigurable Architectures ASIC과 Microprocessor 사이의 flexibility 차이를 연결 하는 중간 단계 [Hartenstein DATE 2001] 효율적인 에너지 사용과 저전력 Programmable DSP를 위한 대안 [Rabaey ICASSP 1997, FPL 2000] Run Time Reconfigurable [Compton & Hauck 1999] 미래 반도체 플랫폼을 위한 핵심 요소 [Schaumont & all. DAC 2001] Reconfigurable Architecture가 무엇인지 알아보자. 여러 사람이 정의 내린 몇가지를 살펴보면 다음과 같다. ASIC과 Microprocessor 사이의 flexibility 차이를 연결하는 중간 단계 [Hartenstein DATE 2001] 효율적인 에너지 사용과 저전력 Programmbable DSP를 위한 대안 [Rabaey ICASSP 1997, FPL 2000] Run Time Reconfigurable [Compton & Hauck 1999] 미래 반도체 플랫폼을 위한 핵심 요소 [Schaumont & all. DAC 2001] Copyrightⓒ2003
Reconfigurable Architectures Single context architectures 약간의 구조 변형이라도 전체를 다시 프로그래밍해야 하는 구조 Runtime Reconfiguration 이 없는 Reconfiguration 에 적절 Multiple context architectures 각각의 Programmable bit 마다 여러 개의 메모리 bit가 있다. Configuration 정보에 여러 개의 단계가 있다. 한 번에 단지 하나의 configuration 만 동작 Reconfiguration Architecture는 Reconfiguration 정보를 어떻게 저장하고, 어떻게 변경하는지에 따라 분류할 수 있다. 전체 Reconfiguration 정보가 한 비트마다 한가지씩 있고, 전체 정보가 하나의 Image로 연결되어 Reconfiguration 되는 것을 Single context architecture라 부른다. 이에 반해 Reconfiguration 정보가 한 비트 마다 여러 개가 있어서 여러 개의 Configuration 정보를 저장할 수 있는 것을 Multiple context architecture라고 부른다. Multiple context architecture에서는 Configuration 정보에 여러 개의 단계가 있다. 따라서 필요에 따라 단계를 조절하여 기능을 변경할 수 있다. 이 때 한 번에는 단지 하나의 configuration 정보만을 이용할 수 있다. Copyrightⓒ2003
Reconfigurable Architectures Partially reconfigurable architectures. 단지 configuration의 일부분만 수정 Configuration Data의 위치를 나타내기 위해 주소값을 사용 전체 Reconfigurable Array의 Reconfiguration 은 느림 Reconfiguration 을 빠르게 하는 방법이 연구됨 Pipeline Reconfigurable Architecture. Partially reconfigurable architecture 의 변형 Pipeline stages 에서 부분적인 Reconfiguration 을 실행 Configuration 정보가 하나의 Image를 통해 전체 하드웨어가 이루어지는 것이 아니라, 각 부분 부분별로 다른 Image를 이용하여 전체 하드웨어를 구성한다. 따라서 Reconfiguration을 위해 Image 전체를 다시 구성할 필요 없이 변경을 필요로 하는 부분만 별도로 Reconfiguration 할 수 있는 구조를 Partially reconfigurable Architecture라 부른다. 각 부분만을 별도로 Reconfiguration 하기 위해 각 부분에는 주소가 정해져 있다. Configuration Data를 적용하기 위해서는 이 주소값을 이용한다. 단점은 하나의 Image로 전체를 Configure하는 구조에 비해 Reconfiguration 속도가 느리다는 것이며, 이를 해결하여 속도를 높이려는 많은 연구가 진행 중이다. Pipeline Reconfigurable architecture는 Partially reconfigurable architecture의 변형으로 Pipeline stage에서 Partially Reconfiguration을 수행한다. Copyrightⓒ2003
Reconfiguration Implementation Static Reconfiguration Compile Time에 하드웨어 이미지가 결정 로딩된 Image는 하드웨어가 동작하는 동안 계속 남아있다. Compile Time Reconfigurable. Dynamic Reconfiguration 동적으로 하드웨어가 재구성 될 수 있는 구조 불필요한 부분, 사용되지 않는 부분은 실행 중에 대체된다. Runtime Reconfigurable. Reconfiguration을 구현하는 방법에 따라 Static Reconfiguration, Dynamic Reconfiguration으로 나눌 수 있다. Reconfiguration이 하드웨어를 최초에 만들 때 로딩한 Image에 의해서만 결정되는 것을 Static Reconfiguration 이라 한다. 이는 Image를 다시 로딩하기 전에는 기능을 변경할 수 없다. Static Reconfiguration을 Compile Time Reconfigurable Hardware으로 부르기도 한다. 하드웨어가 실행 중에 Reconfiguration이 가능한 구조를 Dynamic Reconfiguration 이라 한다. 하드웨어가 실행 중에 불필요한 부분 또는 전혀 사용되지 않는 부분을 다른 기능으로 대체시킬 수 있다. Runtime Reconfigurable Hardware라고 부르기도 한다. Copyrightⓒ2003
Fine-grain과 coarse-grain 구조 Fine-grain Architecture 1bit 단위의 재구성이 가능한 구조 Look-up table, Multiplexer 등으로 구성 하드웨어 재구성 효율이 높음 Coarse-grain Architecture 2bit 이상의 데이터 폭을 갖는 Reconfigurable array 사용 구조 적은 면적을 차지하므로 효과적인 Routing 많은 산술 연산을 빠르게 처리하는 부분에 적절 하드웨어 사용 유연성 감소 Copyrightⓒ2003
Fine Grain Architectures Fine Grain Reconfigurable Architecture 주로 FPGA 사용 1bit 단위로 모든 비트를 재구성 할 수 있는 구조 Look Up Tables(LUTs), Multiplexer Large die size, slow operation Single bit CLB Less efficient Huge routing area overhead Poor routability Fine Grain Architecture는 이름 그대로 하드웨어 한 비트 한 비트 즉 최소단위에 해당하는 부분까지 일일이 Reconfiguration 할 수 있는 Architecture를 말한다. Fine Grain Architecture는 주로 Look Up Table과 Multiplexer, single bit CLB로 구성된다. 이러한 구성 요소는 FPGA에 사용되는 것들이다. Fine Grain Architecture는 일반적으로 FPGA를 사용한 Reconfiguration을 지칭한다. Bit 단위로 Configuration 을 위해 Routing 면적이 많이 필요하고 따라서 Routing이 비효율적이다. Copyrightⓒ2003
Fine Grain Architectures FPGA(1) Introduced in mid-1980s. Architecture logic block (LB) one or more 4-input LUTs -cointains function logic. D Flip-flops Pipelining ,registers, state 저장 함수. Carry logic 연산 속도를 빠르게 하는 Carry Logic Block Fine Grain Architecture에서는 주로 FPGA가 사용된다. FPGA의 기본블록은 Look Up Table, D Flip-flops, Carry Logic 이다. Lut에는 Function Logic이 저장되고 D Flip Flop은 Register를 만들거나 혹은 State Machine을 구현할 때 State 정보를 저장하는데 사용된다. 또는 Pipelining 구조를 만들 때 각 Stage를 구성하기 위해 사용된다. Carry Logic은 산술 연산에서 Carry 가 발생할 때 연산 속도를 높이기 위해 사용된다. Copyrightⓒ2003
Fine Grain Architectures FPGA(2) Routing 2 단계로 계층화된 구조 Logic Block Logic Cluster Connection Blocks Logic Block과 routing channel 을 연결 Switch Boxes 수평 routing 리소스와 수직 routing 리소스를 연결한다. Routing 형태는 2 단계의 계층화된 구조이다. CLB가 기본적인 Logic을 구성하여 하위 레벨을 형성하고, CLB로 구성된 Logic Cluster가 상위 레벨을 형성한다. Logic Cluster를 연결하는 것이 Connection Block이다. Logic Block 과 Routing channel에 연결해 주는 것을 Connection Block, 또는 Connection Box라고 부른다. Switch Block은 Connection Box 들이 연결된 routing channel간에 연결을 위해 사용한다. Copyrightⓒ2003
Coarse Grain Architecture Coarse Grain Reconfigurable Architecture 2bit 이상의 데이터 폭을 갖는 Reconfigurable array 사용 라우팅 구조가 Bit 단위가 아니고, Word 단위 적은 면적을 차지하므로 효과적인 Routing 많은 산술 연산을 빠르게 처리하는 부분에 적절 하드웨어 사용 유연성 감소 모든 비트가 비트 별로 Configuration 되지 않고 2bit 이상의 최소 Configuration 단위를 갖는 Reconfigurable Array를 사용한다. 즉 Configuration 단위가 Bit 단위가 아니고, 데이터 경로의 폭에 의해 결정되는 word 단위이다. 여러 개의 Bit의 Configuration 이 하나의 메모리에 같이 저장되고 ALU와 같은 미리 만들어져 있는 블록을 사용하기 때문에 면적 측면에서 볼 때 효과적인 Routing이 가능하다. Fine Grain Architecture에 비해 미리 만들어져 있는 고속 연산을 처리하는 블록을 사용할 수 있기 때문에 많은 산술 연산을 빠르게 처리하는 하드웨어에 사용하는 것이 적절하다. 단 Bit 단위로 Configuration 할 수 없으므로 유연성이 떨어진다. Copyrightⓒ2003
Coarse Grain Architecture Mesh-Based Architecture Programmable 요소를 2차원 Array 형태로 배치 효과적인 병렬처리를 위해 Array 상의 각 요소를 연결 보다 효과적인 소자간의 통신을 위해 인접한 8개의 Programmable 요소와 모두 연결 예제 Garp Architecture Morphosys RAW Coarse Grain Architecture에는 Programmable 요소의 배열과 그 요소간의 통신 연결 구조에 따라 나눠질 수 있다. Mesh based architecture는 Programmable 요소를 2차원 Array 상에 배치하고 각 요소를 가로 세로로 모두 연결해 주어 효과적인 병렬처리가 가능하게 한다. 보다 효과적인 처리를 위해 2차원 Array 상에 한 Programmable 요소를 둘러싸고 있는 8개의 인접 Programmable 요소간에 모두 연결을 하기도 한다. Mesh 구조를 사용한 Coarse Grain Architecture에는 Garp Architecture, Morphosys, RAW 등이 있다. Copyrightⓒ2003
Coarse Grain Architecture Linear-Base Architecture 하나 혹은 여러 개의 Linear Array로 Reconfigurable Array 구성 Linear Array에 Pipeline 구조를 결합 예제 PipeRench RaPiD(Reconfigurable Pipelined Datapath) Crossbar-Based Architecture PADDI-1(Programmable Arithmatic Device for DSP) The Pleiades Architecture Linear-Base Architecture 하나 혹은 여러 개의 선형 배열에 Reconfigurable 배열을 구성한다. 이러한 선형 배열을 이용하여 Reconfigurable 구조에 Pipeline 구조를 결합한 구조이다. Linear Base Architecture를 사용한 예는 PipeRench, RaPiD 등이 있다. PipeRench는 Pipeline 구조를 이용하여 Run time Reconfiguration을 가능하게 한다. Crossbar Based 구조의 예는 PADDI-1, Pleiades Architecture 등이 있다. Copyrightⓒ2003
Coarse Grain Architecture 장점 Configuration Data 크기가 작다. Fine Grain에 비해 Configuration Memory 와 Configuration Time이 크게 줄어든다. ALU 같은 연산 블록은 직접 구현되어 있고 Configuration Memory의 사용이 감소하므로 Routing 면적에서 효과적인 하드웨어 구현 가능 P&R(Place & Routing)의 복잡도가 크게 감소 모든 Bit를 Configuration 하는 것이 아니므로 Configuration Data가 Fine Grain Architecture에 비해 상대적으로 적다. Configuration Data가 적으므로 Configuration Memory의 크기가 작아지고 Configuration Data를 저장하는데 걸리는 시간이 크게 줄어든다. 모든 블록을 Configure 하지 않고 ALU와 같이 특정 기능을 고속으로 수행하는 블록을 미리 만들어져 있다 따라서 동작 속도가 빨라지고 배치 면적이 줄어든다. 또한 Configuration Memory의 감소 역시 하드웨어 배치를 효과적으로 할 수 있게한다. 효과적인 하드웨어의 배치를 통해 P&R의 복잡도를 감소시킨다. Copyrightⓒ2003
Coarse Grain Architecture 단점 FPGA Logic Block에 비해 Processing Element 가 더 비싸다 Multi-bit Datapath 가 사용되어 Word Length보다 짧은 연산, 특히 bit 단위의 연산을 지원하기 어렵다. Data compression algorithm 을 coarse grain architecture로 구현할 경우 여러 개의 구성 요소를 필요로 하는 복잡한 구조로 나타난다. FPGA Logic Block에 비해 Processing Element 가 더 비싸다. Multi-bit Datapath 가 사용되어 Word Length보다 짧은 연산,특히 bit 단위의 연산을 지원하기 어렵다. Data compression algorithm 을 coarse grain architecture로 구현할 경우 여러 개의 구성 요소를 필요로 하는 복잡한 구조로 나타난다. Copyrightⓒ2003
Fine and Coarse Grain Which type is better? Multi-granular solution 각 Application에 따라 다르다 Multi-granular solution Fine grain과 Coarse Grain 이 혼합되어진 구조 블록의 기능에 따라 더 적합한 구조 사용 큰 블록을 만들기 위해 여러 개의 Coarse Grain Block을 조합 16bit ALU -> 4bit ALU 4개를 조합 Processor 와 Coprocessor 형태로 계층화된 구조 반복된 고속 연산을 처리하는 분야, 통신, Image 같은 분야에서는 Coarse Grain Architecture가 더 좋다. 하지만 비트 단위의 연산을 많이 수행하는 데이터 압축 또는 암호화 같은 분야에서는 Fine Grain Architecture가 더 좋을 수 있다. Multi-granular solution Coarse Grain 과 Fine Grain이 결합된 형태라 할 수 있다. 각 블록에 따라 필요한 Architecture를 포함한다. 또한 Coarse Grain을 여러 개 조합하여 더 큰 Coarse Grain Architecture를 만드는 구조이다. 예를 들면 16비트 ALU를 만들기 위해 4개의 4비트 ALU를 조합하는 것이다. 또 다른 Multi-granular Solution에는 Processor와 Coprocessor를 결합하는 형태가 있다. Processor는 범용 Processor를 사용하고 Coprocessor는 Reconfigurable Architecture를 사용하는 구조이다. Copyrightⓒ2003
Comparison of DSP implementations Device Performance Cost Power Flexibility Design effort ASIC High Low DSP medium MPU Fine-Grain Coarse-Grain DSP를 여러 가지 Architecture를 사용하여 구현했을 때 각 Architecture 별로 성능을 비교한 표이다. Copyrightⓒ2003
Reconfigurable Architecture 구현 예제 Garp processor MorphoSys PipeRench Copyrightⓒ2003
Reconfigurable Architecture 구현 예제 Garp processor 버클리 대학에서 개발 MIPS-II processor 와 fine-grained FPGA processor가 조합된 형태 MIPS II가 Configuration이 FPGA에 로딩되는 것을 제어한다. MIPS II 와 무관하게 reconfigurable array 로부터 Memory 접근이 초기화된다. Copyrightⓒ2003
Reconfigurable Architecture 구현 예제 MorphoSys Coarse Grain Reconfigurable Architecture Computation intensive application 에 적합 Application 에 따라 Coarse Grain 과 Fine Grain Architecture를 모두 사용 RC-Array는 8 by 8 Array의 RC(Reconfigurable Cells)로 구성되어 있다. “MorphoSys Architecture” Copyrightⓒ2003
Reconfigurable Architecture 구현 예제 PipeRench Pipelined architecture. 여러 개의 Reconfigurable Pipeline Stages (Stripes) 빠른 Partial dynamic pipeline reconfiguration Configuration과 Data의 Run time Scheduling 가능 Run time Reconfiguration 으로 하드웨어 리소스 제한의 영향이 적다. Copyrightⓒ2003
Future Architecture 범용 Reconfigurable Array 는 부적절 특정 Application 에 최적화된 구조이면서 동시에 충분한 유연성을 갖는 Reconfigurable Array Reconfigurable Architecture 개발 목적의 Tool 필요 범용 Reconfigurable Array를 사용하는 것은 고속 연산에 부적절하다. 즉 범용 구조로는 향후 사용할 수 없는 분야가 많아질 것이다. 따라서 특정 Application에 최적화된 구조이면서 동시에 충분한 유연성을 갖는 Reconfigurable Array를 사용하는 구조가 적절한 구조가 될것이다. 또한 Application 별로 최적화된 구조를 만들기 위해 Reconfigurable Architecture 개발 목적의 Tool 개발의 중요성이 높아지고 있다. Copyrightⓒ2003
Reconfigurable system 소개 Improv systems – Jazz DSP ARC – ARCtangent Tensilica – xtensa Triscend – CSoC Montium Chameleon Structure Copyrightⓒ2003
Improv systems – Jazz DSP Configurable VLIW processor 16-bit / 32-bit data path : 사용자가 선택가능 매우 유연한 하드웨어 구조 Minimum gate count configuration : 50K gates JAZZ PSA Composer tool 제공 그래픽적인 디자인 환경 제공 사용자 정의 명령어 또는 Unit 사용 가능 - 2-stage instruction pipeline, single cycle execution units 구조의 VLIW 프로세서이다. - 선택 가능한 data paths, a distributed register system, 코드 압축, power management 면에서 기존의 프로세서 보다 향상되었다. - 사용자가 원하는 명령과 실행유닛을 자유롭게 추가할 수 있는 점에서 매우 유연한 하드웨어 구조를 갖는다. - 위의 기능은 JAZZ PSA Composer tool 제공으로 가능하다. Copyrightⓒ2003
JAZZ DSP Processor Architecture - Baseline 프로세서는 1개의 ALU와 dual memory interfaces, Control Unit 으로 구성된다. - 이 프로세서의 가장 큰 장점은 JAZZ PSA Composer Tool Suite를 사용하여 사용자가 원하는 명령어나, 실행 유닛을 추가할 수 있다는 것이다. - 이러한 사용자 정의 유닛들은 병렬로 연결되어 독립적으로 동작이 가능하다 http://www.improvsys.com Copyrightⓒ2003
ARC - ARCtangent 32-bit RISC/DSP processor 프로세서, 주변장치, 개발용 툴, 응용 소프트웨어를 포함하는 솔루션 ARM 프로세서를 기반으로 발전 사용자 인터페이스 등과 여러가지 설계 소프트웨어의 지원은 Xtensa에 비하여 부족 ARM 프로세서와 호환되는 장점 ARCtangent-A4, ARCtangent-A5 - ARCtangent 는 32-bit RISC/DSP processor로 프로세서, 주변장치, 개발용 툴, 응용 소프트웨어를 두루 포함하는 SoC 솔루션이다. - ARM 프로세서를 기반으로 발전했기 때문에 사용자 인터페이스 등과 여러가지 설계 소프트웨어의 지원은 Xtensa에 비하여 부족하지만 ARM 프로세서와 호환되는 장점으로 널리 사용되고 있다. - 제품군에는 ARCtangent-A4, ARCtangent-A5, ARC 600 등이 있는데 이중 가장 많이 쓰이는 A4와 A5에 대하여 뒤에서 자세히 살펴보기로 한다. Copyrightⓒ2003
ARC - ARCtangent ARM9에 비해 크기를 약 두배정도 작게함 ARCtangent-A4 ARCtangent-A5 MP3를 비롯한 각종 디지털 가전제품에 적용 삼성전자의 DVD Player, PVR용 비디오 인코드/디코드칩 도시바의 디지털 카메라용 칩셋에 적용 ARCtangent-A4 Instruction memory 사용을 30% 줄이는 효과 ARCtangent-A5 GSM 2.5/3G 휴대폰, 스마트 카드, 블루투스 기기 개발 - 현재 ARCtangent 가 적용되고 있는 제품을 살펴보면 ARM9에 비해 다이를 작게할 수 있다는 점으로 인해 각종 소형 가전제품에 폭넓게 적용되고 있다. - 삼성전자의 DVD 플레이어, PVR용 비디오 인코드/디코드 칩 도시바의 디지털 카메라용 칩셋에 적용되고, 모바일 기기에서는 배터리의 수명을 연장시키는 효과를 내기도 한다. - 대표 제품인 A4와 A5의 특징과 응용분야는 다음과 같다. Copyrightⓒ2003
ARCtangent-A4 Copyrightⓒ2003 주요 특징 : - 32-bit RISC 구조(4-stage pipeline) - 32-bit data bus and address buses - 24-bit instruction fetch address bus - 최대 70개의 확장명령어 가능 - single-cycle instructions - single-cycle immediate data - Jumps/branches with single-instruction delay slot - Multiple delay-slot execution modes - 16 X 16-bit MAC instruction - 24 X 24-bit MAC instruction - Dual 16 X 16-bit MAC instruction http://www.arc.com Copyrightⓒ2003
ARCtangent-A5 Copyrightⓒ2003 주요 특징 : - 32-bit RISC 구조(4-stage pipeline) - 32-bit data , instruction and address buses - BVCI protocol based interfaces - 16/32-bit instructions for high code density - single-cycle instructions - single-cycle immediate data - Jumps/branches with single-instruction delay slot - Combined compare-and-branch instructions - delay slot execution modes - 최대 128개 Extension Dual or Single Operand extension Instruction Codes 가능 - 24 X 24-bit MAC instruction - Dual 16 X 16-bit MAC with complex multiplication support http://www.arc.com Copyrightⓒ2003
Tensilica - xtensa MIPS 프로세서를 근간으로 발전 기본적인 프로세서는 고정되어 있고, 캐시, 데이터 패스의 크기, 내부 레지스터의 수, 명령어의 추가 등이 가능 사용자 정의 명령을 기술하기 위한 TIE 언어 지원 전반적으로 사용자 인터페이스가 편리하게 구성 성능, 면적, 소모전력 등을 예측할 수 있는 기능을 제공 Copyrightⓒ2003
Tensilica - xtensa 주요 기능 요약 자체 기능 설정 및 확장, 회로 합성이 가능 미리 정의된 설계 요소들을 선택 설정 가능 초고속 기능 수행을 위한 별도 명령어 사용 하드웨어 실행 유닛 사용 프로세서 생성기 제공으로 각 설정에 대해 최적의 소프트웨어 환경을 자동적으로 생성 강력한 시스템 검증 도구 제공 - 기존의 임베디드 프로세스 코어와는 달리 설계자는 미리 정의된 설계 요소들을 선택 설정할 수 있고, 초고속 기능 수행을 위한 명령어와 하드웨어 실행 유닛을 사용함으로써 응용 프로그램에 최적화된 프로세서를 제작가능. - 프로세서 생성기는 각 프로세서 설정에 대해 운영체제 지원을 포함한 최적의 소프트웨어환경을 자동적으로 만든다. Copyrightⓒ2003
Tensilica - xtensa Copyrightⓒ2003 - Base Instruction set : 모든 설정에 공통인 부분 Configurable Fn. : 시스템 설계자가 파라미터 값을 줄 수 있는 부분들이다. Optional Fn. : 특정 응용프로그램의 기능 가속화를 위한 부분 Optional & Configurable : 주변기기를 포함한 응용 프로그램들에 적절히 짜 맞도록 선택할 수 있는 부분 Adv. Designer-Defined Fn. : 주어진 SOC설계에 대하여 특정 알고리즘을 가속화 하기 위해 설계자가 프로세서에 추가하는 하드웨어 실행유닛과 레지스터이다. http://www.tensilica.com Copyrightⓒ2003
Tensilica - xtensa Copyrightⓒ2003 - 회로 합성이 가능한 RTL 레벨 디자인, 필요한 모든 소프트웨어 개발 도구, 회로합성/스캔/P&R 스크립트, 표준의 셀 라이브러리 및 메모리 블록, 게이트 레벨 및 RTL 레벨의 시뮬레이션/기능 검증, 버스의 기능모델, RTL 레벨의 코어 테스트 벤치등을 제공한다. http://www.tensilica.com Copyrightⓒ2003
Tensilica - xtensa 프로세서 구조 명령어 세트 클럭속도 크기 전력 5단계 파이프라인, 고성능, 32비트 RISC 간결한 16비트 및 24비트 인코딩을 갖춘 Xtensa ISA 클럭속도 0.13u 공정에서 350MHz / 0.18u 공정에서 200MHz 크기 25000 gates – 기본 프로세서 최저 18000 gates – 태스크 엔진 설정시 전력 1.0V, 0.13u 공정에서 0.1mW/MHz 1.8V, 0.18u 공정에서 0.4mW/MHz Copyrightⓒ2003
Triscend - CSoC 마이크로 컨트롤러와 FPGA Block이 결합되어 있어 메인기능, 주변회로, 기타 인터페이스부 등을 Configurable하게 설계 가능 CPU Core에 따라 E5 Family, A7 Family로 구분 Triscend FastChip 소프트웨어 설계 툴 그래픽적인 요소 강화 - Triscend CSOC는 마이크로 컨트롤러와 FPGA Block이 결합되어 있어 메인기능, 주변회로, 기타 인터페이스부 등을 Configurable하게 설계할 수 있고, 특징은 내장된 FPGA와 함께 고속 내부 시스템 BUS와 메모리를 함께 집적한 것이다. - Triscend는 E5 계열 및 A7 계열과 함께 CSoC Family를 제공하며, E5 Family는 1999년 4월 출시했으며, 일반적인 8051 마이크로 컨트롤러의 기능을 향상시킨 코어가 내장되어있으며 A7은 ARM7TDMI 32 비트 프로세서 코어가 내장되어 있다. - 설계 툴인 Triscend의 FastChip은 설계자가 빠른 시간 내 시스템을 설계하도록 도와준다. - E5 및 A7 Family는 많은 기능들이 하드웨어적으로 one chip안에 통합되어 사용자는 최적화된Processing platform을 생성할 수 있으며 이는 시간 및 비용의 투자를 최소화하며 개발된 제품의 차별화를 이룰 수 있도록 한다. http://www.triscend.com Copyrightⓒ2003
Triscend – CSoC E5 Family 향상된 8051 코어 내장 최대 64KByte 내부 SRAM 2개의 DMA 컨트롤러 Memory Interface Unit 다양한 외부메모리 장착가능 최대 3200 logic sells (40K gates) 전력 조절모드 지원 - Triscend CSoC E5 Family는 산업표준인 8032 turbo MCU와 CSL(Configurable System Logic)영역, 혁신적인 시스템버스, 최대64KByte의 내부 SRAM, 2개의 DMA 컨트롤러, MIU(Memory Interface Unit)등의 다양한 주변기기가 내장되어 있다. - 외부메모리로 SRAM, SDRAM, Flash memory, Serial Parellel EEPROM, EPROM등을 장착할 수 있다. http://www.triscend.com Copyrightⓒ2003
Triscend – CSoC A7 Family 32비트 ARM7TDMI 코어내장 (8KB Cache) E5의 주요기능 포함 최대 3200 logic sells (40K gates) 최대 3800 flip-flops 최대 300 Prog. I/O pins - Triscend CSoC A7 Family는 완벽한 산업용 32비트 CSoC이다. - one chip 안에 32비트 ARM7TDMI 프로세서 코어를 내장하고 있으며 프로그래머블 로직 및 강력한 메모리 서브 시스템, 고성능 내부 전용버스와 많은 시스템 기능이 들어있다. http://www.triscend.com Copyrightⓒ2003
Montium A Coarse-Grained Reconfigurable Architecture 시스템 변경 및 환경의 변화로 효과적인 시스템을 현실화 하기위해 다양하게 재구성 가능한 시스템이 대두 FPFA(Field Programmable Function Array) 매우 다양하게 재구성 가능 FPFA를 Montium(카멜레온의 한 종류)으로 명명 - 시스템 변경 및 환경의 변화로 효과적인 시스템을 현실화 하기위해 다양하게 재구성 가능한 시스템이 대두되었다. - 이에 다양하게 재구성가능한 이동통신 시스템 디자인을 목적으로 카멜레온 프로젝트를 실행하였다. - 이러한 카멜레온 프로젝트의 세부 분야로 Montium 구조가 개발됨 Copyrightⓒ2003
FPFA for mobile computing Single Montium tile Locality of reference 효율적인 무선 통신시스템에 적합 각각의 processor tile은 상호 네트워크로 연결 복잡도에 따라 processor tile의 개수가 변화 안정성이 크다 - 이러한 FPFA는 다양하게 재구성이 가능하므로 효율적인 무선통신 시스템에 적합하다. - 각각의 tile은 큰 대역폭과 낮은 전력의 상호 네트워크로 연결되어 효율적이고, 유기적으로 반응함. - 더 많은 개수의 tile을 사용함으로써 복잡한 시스템 구현 가능 - 참조의 지역성을 가진다. - tile은 각각의 클럭을 가지고 동작할 수 있다. Copyrightⓒ2003
Architecture of a single Montium tile - Montium tile의 구조는 The Tile Processor(TP)와 Communication and configuration Unit(CCU)의 2부분으로 나뉘어 진다. http://chameleon.ctit.utwente.nl Copyrightⓒ2003
Chameleon Structure 3개의 코어로 구성 32-bit ARC control processor subsystem 고성능 32-bit reconfigurable processing fabric eConfigurable Technology 32-bit ARC control processor 32-bit 인터페이스 64-bit 고성능 메모리 컨트롤러 108 parallel computation units http://chameleon.ctit.utwente.nl Copyrightⓒ2003
Summary Reconfigurable Architecture 정의 이해 Fine-grain Architecture 이해 Coarse-grain Architecture 이해 제품화된 Reconfigurable Architecture 를 통해 이론과 실제 적용 사례 이해 Copyrightⓒ2003
(모듈11) 참고문헌 각 모듈의 참고문헌을 작성해주시기 바랍니다. Improv system inc. Triscend http://www.improvsys.com Triscend http://www.triscend.com Tensilica http://www.tensilica.com ARC International http://www.arc.com Paul Heysters : Montium - A Coarse Grained Reconfigurable Architecture, 2003 http://chameleon.ctit.utwente.nl Young Seok Baek : Chameleon, 2002 Copyrightⓒ2003
(모듈11) 참고문헌 Reconfigurable Computing: What, Why, and Implications for Design Automation, Andr´e DeHon and John Wawrzynek Berkeley Reconfigurable, Architectures, Software, and Systems Coarse grain reconfigurable Architectures, Reiner Hartenstein The Garp Architecture, John R_ Hauser , 1997 PipeRench: A Reconfigurable Architecture and Compiler MorphoSys: A Coarse Grain Reconfigurable Architecture for Multimedia Applications, Hooman Parizi, Afshin Niktash, Nader Bagherzadeh, and Fadi Kurdahi, Department of Electrical and Computer Engineering, University of California, Irvine 92697 Copyrightⓒ2003