Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)
2 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline
3 n Reconfigurable Computing (RC) is an emerging paradigm for digital systems design n Technology improvements have made possible new programmable logic devices (FPGAs, CPLDs) n Objective of the talk: Give an overview of RC concepts and introduce the Reconfigurable Instruction Set Processors. Introduction
4 Introduction (II) n RC objectives: Specialization, performance, flexibility n Basic idea: “Programmable Hardware” Specialization l Performance l Power consumption l Flexibility l Programming
5 Introduction (III) n RC comparison versus other alternatives Application Specific Systems General Purpose Systems Cost Performance Reconfigurable Computing Performance Flexibility, Power GPP ASIC DSP RC
6 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline
7 n General device architecture Reconfigurable Devices Reconfigurable Computing Logic Bloc Interconnection Structure I/O Bloc
8 n Routing strategies Reconfigurable Devices (II) Reconfigurable Computing A B C A B C Continuous Routing Structured Routing
9 n SRAM based devices with infinite number of reconfigurations Reconfigurable Devices (III) Reconfigurable Computing Configuration Bitstream App 1 -> Bitstream 1 App 2 -> Bitstream 2 App n -> Bitstream n Reconfigurable Device
10 n Rapid System (ASIC) Prototyping Reconfigurable Systems (I) Reconfigurable Computing PLD CPUPLD
11 n Reconfigurable Systems Classification Reconfigurable Systems (II) Reconfigurable Computing I/O PLD RAM PLD CPU RAM PLD RAM (c) (d) (b) (a) Host Computer SYSTEM BUS
12 Reconfiguration Methods (I) Reconfigurable Computing n Compile Time Reconfiguration (CTR) Device configuration is fixed during application run time executionDevice configuration is fixed during application run time execution n Run Time Reconfiguration (RTR) Device configuration changes during application run time executionDevice configuration changes during application run time execution n RTR strategies Global RTRGlobal RTR Partial RTRPartial RTR
13 n Global Run Time Reconfiguration (Single context) Reconfiguration Methods (II) Reconfigurable Computing #1 #2 #3 #4 Application #1 Reconfiguration Contexts Dynamically Reconfigurable Device Reconfiguration Execution #2 Reconfiguration Execution Reconfiguration #4 Execution
14 n Partial Run Time Reconfiguration (Multiple context) Reconfiguration Methods (III) Reconfigurable Computing #1 #2 #3 #4 Aplicació Reconfiguration Contexts Dynamically Reconfigurable Device #4 #1 #3 Reconfiguration #4 #1 #2
15 n Run-Time Reconfiguration Challenges Temporal PartitioningTemporal Partitioning Context Scheduling (static)Context Scheduling (static) n Reconfiguration Latency Overhead Configuration Pre-fetchingConfiguration Pre-fetching Configuration CachingConfiguration Caching Configuration CompressionConfiguration Compression Reconfiguration Methods (IV) Reconfigurable Computing
16 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline
17 n By including reconfigurability we can increase flexibility with high specialization Introduction Reconfigurable Instruction Set Processors ProcessorPLD Reconfigurable Processor
18 n Coprocessor based approach n ASIP based approach Introduction (II) Reconfigurable Instruction Set Processors · · · Task 1 Task K · · · Task K+1Task N SoftwareHardware Task 1Task 2Task N Software Hardware · · ·
19 n Typical example: CPU + PCI board Altera ARC-PCIAltera ARC-PCI Compaq PametteCompaq Pamette n System on Chip (SoC) Altera´s Excalibur deviceAltera´s Excalibur device Chameleon Systems, Inc.Chameleon Systems, Inc. Coprocessor based approach (I) Reconfigurable Instruction Set Processors
20 n Altera ARC-PCI Coprocessor based approach (II) Reconfigurable Instruction Set Processors
21 n Compaq Pamette Coprocessor based approach (III) Reconfigurable Instruction Set Processors
22 n Altera´s Excalibur device Embedded Processor: ARM, MIPS or NIOSEmbedded Processor: ARM, MIPS or NIOS Coprocessor based approach (IV) Reconfigurable Instruction Set Processors
23 n Chameleon Systems, Inc. Coprocessor based approach (V) Reconfigurable Instruction Set Processors
24 n Reconfigurable unit within CPU ASIP based approach (I) Reconfigurable Instruction Set Processors Fetch Decode Issue Integer Unit FP Unit Branch Unit LD/ST Unit Reconfigurable Unit
25 n Challenge: CAD tools ASIP based approach (II) Reconfigurable Instruction Set Processors C Code Compiler Assembly Code Instruction Description (Configuration bits)
26 ASIP based approach (III) Reconfigurable Instruction Set Processors C Parsing Optimizations Inst. Identification Inst. Selection Config. Scheduling Code Generation C Code Assembly Code Hardware Generation Configuration bits Hardware Estimator Compiler Structure
27 n Example: Philips CinCISe Architecture ASIP based approach (II) Reconfigurable Instruction Set Processors Encoded Instruction Word Register File ALU RFU MUX
28 n Application example: DES & A5 encryptation algorithms ASIP based approach (III) Reconfigurable Instruction Set Processors XOR srl $13, $2, 20 andi $25, $13, 1 srl $14, $2, 21 andi $24, $14, 6 or $15, $25, $24 srl $13, $2, 22 andi $14, $13, 56 or $25, $15, $14 sll $24, $25, 2 srl $24, $5, 18 srl $25, $5, 17 xor $8, $24, $25 srl $9, $5, 16 xor $10, $8, $9 srl $11, $5, 13 xor $12, $10, $11 andi $13, $12, 1
29 n Reconfigurable Computing is an emerging and interesting computing paradigm n RC devices and architectures are becoming a reality n There is a big challenge is High-level synthesis (CAD) tools Conclusions
30 n What is the future ?? Conclusions (II) Flexibility, Power Performance GPP ASIC DSP RC ?? RC