Dynamically Reconfigurable Architectures: An Overview
description
Transcript of Dynamically Reconfigurable Architectures: An Overview
![Page 1: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/1.jpg)
Dynamically Dynamically Reconfigurable Reconfigurable Architectures: Architectures: An OverviewAn Overview
Juanjo NogueraJuanjo Noguera
Dept. Computer Architecture (DAC-Dept. Computer Architecture (DAC-UPC)UPC)
[email protected]@ac.upc.es
![Page 2: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/2.jpg)
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
![Page 3: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/3.jpg)
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
![Page 4: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/4.jpg)
4
Introduction (II)Introduction (II)
RC objectives:RC objectives: Specialization, performance, Specialization, performance, flexibilityflexibility
Basic idea: “Programmable Hardware”Basic idea: “Programmable Hardware”
SpecializationSpecialization
PerformancePerformance Power Power
consumptionconsumption
FlexibilityFlexibility ProgrammingProgramming
![Page 5: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/5.jpg)
5
Introduction (III)Introduction (III)
RC comparison versus other RC comparison versus other alternativesalternatives
Application SpecificSystems
General Purpose Systems
Cost
Performance
ReconfigurableComputing
Performance
Flexibility, Power
GPP
ASIC
DSP RC
![Page 6: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/6.jpg)
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
![Page 7: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/7.jpg)
7
General device architectureGeneral device architecture
Reconfigurable DevicesReconfigurable DevicesR
econ
fig
ura
ble
Com
pu
tin
g
Logic Bloc
InterconnectionStructure
I/O Bloc
![Page 8: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/8.jpg)
8
Routing strategiesRouting strategies
Reconfigurable Devices Reconfigurable Devices (II)(II)
Recon
fig
ura
ble
Com
pu
tin
g
A B
C
A B
C
Continuous Routing Structured Routing
![Page 9: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/9.jpg)
9
SRAM based devices with infinite SRAM based devices with infinite number of reconfigurationsnumber of reconfigurations
Reconfigurable Devices Reconfigurable Devices (III)(III)
Recon
fig
ura
ble
Com
pu
tin
g
Configuration Bitstream110011101 ...
• App 1 -> Bitstream 1• App 2 -> Bitstream 2
• App n -> Bitstream n
Reconfigurable Device
![Page 10: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/10.jpg)
10
Rapid System (ASIC) PrototypingRapid System (ASIC) Prototyping
Reconfigurable Systems Reconfigurable Systems (I)(I)
Recon
fig
ura
ble
Com
pu
tin
g
PLD PLDPLDCPU PLD
PLD
PLD PLD
PLD PLD
PLD
![Page 11: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/11.jpg)
11
Reconfigurable Systems Reconfigurable Systems ClassificationClassification
Reconfigurable Systems Reconfigurable Systems (II)(II)
Recon
fig
ura
ble
Com
pu
tin
g
I/O PLD RAM
PLD
CPURAM
PLD
PLD RAM
(c)
(d)
(b)
(a)
HostComputer
SYSTEM BUS
![Page 12: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/12.jpg)
12
Reconfiguration Methods Reconfiguration Methods (I)(I)
Recon
fig
ura
ble
Com
pu
tin
g 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
![Page 13: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/13.jpg)
13
Global Run Time Reconfiguration Global Run Time Reconfiguration (Single context)(Single context)
Reconfiguration Methods Reconfiguration Methods (II)(II)
Recon
fig
ura
ble
Com
pu
tin
g
#1
#2
#3
#4
Application
#1
Reconfiguration Contexts
Dynamically Reconfigurable Device
Reconfiguration
Execution
#2
Reconfiguration
ExecutionReconfiguration
#4
Execution
![Page 14: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/14.jpg)
14
Partial Run Time Reconfiguration Partial Run Time Reconfiguration (Multiple context)(Multiple context)
Reconfiguration Methods Reconfiguration Methods (III)(III)
Recon
fig
ura
ble
Com
pu
tin
g
#1
#2
#3
#4
Aplicació
Reconfiguration Contexts
Dynamically Reconfigurable Device
#4
#1
#3
Reconfiguration
#4
#1
#2
![Page 15: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/15.jpg)
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)
Recon
fig
ura
ble
Com
pu
tin
g
![Page 16: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/16.jpg)
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
![Page 17: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/17.jpg)
17
By including reconfigurability we By including reconfigurability we can increase flexibility with high can increase flexibility with high specializationspecialization
Introduction Introduction R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
Processor PLD
Reconfigurable Processor
![Page 18: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/18.jpg)
18
Coprocessor based approachCoprocessor based approach
ASIP based approachASIP based approach
Introduction (II)Introduction (II)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
· · ·
Task 1 Task K
· · ·
Task K+1
Task N
Software Hardware
Task 1 Task 2 Task N
Software
Hardware
· · ·
![Page 19: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/19.jpg)
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)
Recon
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
![Page 20: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/20.jpg)
20
Altera ARC-PCIAltera ARC-PCI
Coprocessor based approach Coprocessor based approach (II)(II)
Recon
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
![Page 21: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/21.jpg)
21
Compaq PametteCompaq Pamette
Coprocessor based approach Coprocessor based approach (III)(III)
Recon
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
![Page 22: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/22.jpg)
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)
Recon
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
![Page 23: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/23.jpg)
23
Chameleon Systems, Inc.Chameleon Systems, Inc.
Coprocessor based approach Coprocessor based approach (V)(V)
Recon
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
![Page 24: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/24.jpg)
24
Reconfigurable unit within CPUReconfigurable unit within CPU
ASIP based approach (I)ASIP based approach (I)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
Fetch
Decode
Issue
IntegerUnit
FPUnit
BranchUnit
LD/STUnit
ReconfigurableUnit
![Page 25: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/25.jpg)
25
Challenge: CAD toolsChallenge: CAD tools
ASIP based approach (II)ASIP based approach (II)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
C Code
Compiler
AssemblyCode
InstructionDescription
(Configuration bits)
![Page 26: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/26.jpg)
26
ASIP based approach (III)ASIP based approach (III)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
C Parsing
Optimizations
Inst. Identification
Inst. Selection
Config. Scheduling
Code Generation
C Code
Assembly Code
HardwareGeneration
Configuration bits
HardwareEstimator
Compiler Structure
![Page 27: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/27.jpg)
27
Example: Philips CinCISe Example: Philips CinCISe ArchitectureArchitecture
ASIP based approach (II)ASIP based approach (II)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
En
cod
ed
In
str
ucti
on
Word
RegisterFile A
LU
RFU
MU
X
5
5
5
4
32
32
32
32
32
32
![Page 28: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/28.jpg)
28
Application example: DES & A5 Application example: DES & A5 encryptation algorithmsencryptation algorithms
ASIP based approach (III)ASIP based approach (III)R
econ
fig
ura
ble
In
str
ucti
on
Set
Pro
cessors
27 26 25 23 22 30
7 6 5 4 3 2
27 26 25 22
XOR
srl $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
![Page 29: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/29.jpg)
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
![Page 30: Dynamically Reconfigurable Architectures: An Overview](https://reader035.fdocuments.in/reader035/viewer/2022062321/56813b59550346895da44dcc/html5/thumbnails/30.jpg)
30
What is the future ??What is the future ??
Conclusions (II)Conclusions (II)
Flexibility,Power
Performance
GPP
ASIC
DSP RC
RC
??
RC