Dynamically Reconfigurable Architectures: An Overview
description
Transcript of Dynamically Reconfigurable Architectures: An Overview
Dynamically Dynamically Reconfigurable Reconfigurable Architectures: Architectures: An OverviewAn Overview
Juanjo NogueraJuanjo NogueraDept. Computer Architecture (DAC-Dept. Computer Architecture (DAC-
UPC)UPC)[email protected]@ac.upc.es
2
IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing
• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods
Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach
ConclusionsConclusions
OutlineOutline
3
Reconfigurable Computing (RC) is an Reconfigurable Computing (RC) is an emerging paradigm for digital emerging paradigm for digital systems designsystems design
Technology improvements have made Technology improvements have made possible new programmable logic possible new programmable logic devices (FPGAs, CPLDs)devices (FPGAs, CPLDs)
Objective of the talkObjective of the talk: Give an : Give an overview of RC concepts and overview of RC concepts and introduce the Reconfigurable introduce the Reconfigurable Instruction Set Processors. Instruction Set Processors.
IntroductionIntroduction
4
Introduction (II)Introduction (II) RC objectives:RC objectives:
Specialization, performance, flexibility Specialization, performance, flexibility
Basic idea: “Programmable Hardware”Basic idea: “Programmable Hardware”
SpecializationSpecialization
PerformancePerformance Power Power
consumptionconsumption
FlexibilityFlexibility ProgrammingProgramming
5
Introduction (III)Introduction (III) RC comparison versus other RC comparison versus other
alternativesalternativesApplication Specific
Systems
General Purpose Systems
Cost
Performance
ReconfigurableComputing
Performance
Flexibility, Power
GPP
ASIC
DSP RC
6
IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing
• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods
Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach
ConclusionsConclusions
OutlineOutline
7
General device architectureGeneral device architecture
Reconfigurable DevicesReconfigurable DevicesRe
confi
gura
ble
Com
puti
ng
Logic Bloc
InterconnectionStructure
I/O Bloc
8
Routing strategiesRouting strategies
Reconfigurable Devices Reconfigurable Devices (II)(II)
Reco
nfigu
rabl
e Co
mpu
ting
A B
C
A B
C
Continuous Routing Structured Routing
9
SRAM based devices with infinite SRAM based devices with infinite number of reconfigurationsnumber of reconfigurations
Reconfigurable Devices Reconfigurable Devices (III)(III)
Reco
nfigu
rabl
e Co
mpu
ting
Configuration Bitstream110011101 ...
• App 1 -> Bitstream 1• App 2 -> Bitstream 2
• App n -> Bitstream n
Reconfigurable Device
10
Rapid System (ASIC) PrototypingRapid System (ASIC) Prototyping
Reconfigurable Systems Reconfigurable Systems (I)(I)
Reco
nfigu
rabl
e Co
mpu
ting
PLD PLDPLDCPU PLD
PLD
PLD PLD
PLD PLD
PLD
11
Reconfigurable Systems Reconfigurable Systems ClassificationClassification
Reconfigurable Systems Reconfigurable Systems (II)(II)
Reco
nfigu
rabl
e Co
mpu
ting
I/O PLD RAM
PLDCPU
RAM
PLD
PLD RAM
(c)
(d)
(b)(a)
HostComputer
SYSTEM BUS
12
Reconfiguration Methods Reconfiguration Methods (I)(I)
Reco
nfigu
rabl
e Co
mpu
ting
Compile Time Reconfiguration (CTR)Compile Time Reconfiguration (CTR)• Device configuration is fixed during Device configuration is fixed during
application run time executionapplication run time execution
Run Time Reconfiguration (RTR)Run Time Reconfiguration (RTR)• Device configuration changes during Device configuration changes during
application run time executionapplication run time execution
RTR strategiesRTR strategies• Global RTRGlobal RTR• Partial RTRPartial RTR
13
Global Run Time Reconfiguration Global Run Time Reconfiguration (Single context)(Single context)
Reconfiguration Methods Reconfiguration Methods (II)(II)
Reco
nfigu
rabl
e Co
mpu
ting
#1#2
#3
#4
Application
#1
Reconfiguration Contexts
Dynamically Reconfigurable Device
Reconfiguration
Execution
#2
Reconfiguration
Execution Reconfiguration
#4
Execution
14
Partial Run Time Reconfiguration Partial Run Time Reconfiguration (Multiple context)(Multiple context)
Reconfiguration Methods Reconfiguration Methods (III)(III)
Reco
nfigu
rabl
e Co
mpu
ting
#1#2
#3
#4
Aplicació
Reconfiguration Contexts
Dynamically Reconfigurable Device
#4#1
#3
Reconfiguration
#4#1
#2
15
Run-Time Reconfiguration Run-Time Reconfiguration ChallengesChallenges• Temporal PartitioningTemporal Partitioning• Context Scheduling (static)Context Scheduling (static)
Reconfiguration Latency OverheadReconfiguration Latency Overhead• Configuration Pre-fetchingConfiguration Pre-fetching• Configuration CachingConfiguration Caching• Configuration CompressionConfiguration Compression
Reconfiguration Methods Reconfiguration Methods (IV)(IV)
Reco
nfigu
rabl
e Co
mpu
ting
16
IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing
• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods
Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach
ConclusionsConclusions
OutlineOutline
17
By including reconfigurability we By including reconfigurability we can increase flexibility with high can increase flexibility with high specializationspecialization
Introduction Introduction Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
Processor PLD
Reconfigurable Processor
18
Coprocessor based approachCoprocessor based approach
ASIP based approachASIP based approach
Introduction (II)Introduction (II)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
· · ·
Task 1 Task K
· · ·
Task K+1
Task N
Software Hardware
Task 1 Task 2 Task N
SoftwareHardwar
e
· · ·
19
Typical example: CPU + PCI boardTypical example: CPU + PCI board• Altera ARC-PCIAltera ARC-PCI• Compaq PametteCompaq Pamette
System on Chip (SoC)System on Chip (SoC)• Altera´s Excalibur deviceAltera´s Excalibur device• Chameleon Systems, Inc.Chameleon Systems, Inc.
Coprocessor based approach Coprocessor based approach (I)(I)
Reco
nfigu
rabl
e In
stru
ctio
n Se
t Pr
oces
sors
20
Altera ARC-PCIAltera ARC-PCI
Coprocessor based approach Coprocessor based approach (II)(II)
Reco
nfigu
rabl
e In
stru
ctio
n Se
t Pr
oces
sors
21
Compaq PametteCompaq Pamette
Coprocessor based approach Coprocessor based approach (III)(III)
Reco
nfigu
rabl
e In
stru
ctio
n Se
t Pr
oces
sors
22
Altera´s Excalibur deviceAltera´s Excalibur device• Embedded Processor: ARM, MIPS or Embedded Processor: ARM, MIPS or
NIOS NIOS
Coprocessor based approach Coprocessor based approach (IV)(IV)
Reco
nfigu
rabl
e In
stru
ctio
n Se
t Pr
oces
sors
23
Chameleon Systems, Inc.Chameleon Systems, Inc.
Coprocessor based approach Coprocessor based approach (V)(V)
Reco
nfigu
rabl
e In
stru
ctio
n Se
t Pr
oces
sors
24
Reconfigurable unit within CPUReconfigurable unit within CPU
ASIP based approach (I)ASIP based approach (I)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
Fetch
Decode
Issue
IntegerUnit
FPUnit
BranchUnit
LD/STUnit
ReconfigurableUnit
25
Challenge: CAD toolsChallenge: CAD tools
ASIP based approach (II)ASIP based approach (II)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
C Code
Compiler
AssemblyCode
InstructionDescription
(Configuration bits)
26
ASIP based approach (III)ASIP based approach (III)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
C Parsing
Optimizations
Inst. Identification
Inst. Selection
Config. Scheduling
Code Generation
C Code
Assembly Code
HardwareGeneration
Configuration bits
HardwareEstimator
Compiler Structure
27
Example: Philips CinCISe Example: Philips CinCISe ArchitectureArchitecture
ASIP based approach (II)ASIP based approach (II)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
Enco
ded
Inst
ruct
ion
Wor
d
RegisterFile AL
URF
U
MU
X
5
5
5
4
32
32
32
32
32
32
28
Application example: DES & A5 Application example: DES & A5 encryptation algorithmsencryptation algorithms
ASIP based approach (III)ASIP based approach (III)Re
confi
gura
ble
Inst
ruct
ion
Set
Proc
esso
rs
27 26 25 23 22 30
7 6 5 4 3 2
27 26 25 22
XORsrl $13, $2, 20andi $25, $13, 1srl $14, $2, 21andi $24, $14, 6or $15, $25, $24srl $13, $2, 22andi $14, $13, 56or $25, $15, $14sll $24, $25, 2
srl $24, $5, 18srl $25, $5, 17xor $8, $24, $25srl $9, $5, 16xor $10, $8, $9srl $11, $5, 13xor $12, $10, $11andi $13, $12, 1
29
Reconfigurable Computing is an Reconfigurable Computing is an emerging and interesting computing emerging and interesting computing paradigmparadigm
RC devices and architectures are RC devices and architectures are becoming a realitybecoming a reality
There is a big challenge is High-level There is a big challenge is High-level synthesis (CAD) toolssynthesis (CAD) tools
ConclusionsConclusions
30
What is the future ??What is the future ??
Conclusions (II)Conclusions (II)
Flexibility,Power
Performance
GPP
ASIC
DSP RC
RC
??
RC