Run-Time HW/SW Codesign for Discrete Event Systems using

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