pres_ovidiu

advertisement
Reconfigurable architectures
ESE 566
Outline
• Static and Dynamic Configurable Systems
– Static
• SPYDER, RENCO
– Dynamic
• FIREFLY, BIOWATCH
• PipeRench: Reconfigurable Architecture
and Compiler
Static vs. Dynamic
Configurable Systems
• Static:
– Improves performance for a given task
(coprocessor)
– Optimize the utilization of the resources (task
division)
• Dynamic
– To adapt to changing/incomplete specifications
– Eliminate human design
SPYDER: reconfigurable
processor development system
• Static (performance) reconfigurable
coprocessor
• Fixed control unit
• Reconfigurable processing unit
• Compiler:
– Generates FPGA configuration from userdescribed operators
– User writes application
SPYDER architecture
Speed improvement
• Conway’s Game of Life
– SPYDER, 8MHz:
• 115 mill. cells/sec
– SPARC, 85MHz:
• 6.5 mill. cells/sec
RENCO: reconfigurable
network computer
• Static (performance)
• DOWNLOAD:
– Application
– Optimal Processor Configuration
RENCO architecture
FIREFLY machine
• Dynamic
• Evolutionary algorithms <=> evolvable
hardware (evolware)
• Cellular automata:
– Array of cells (1D, 2D, 3D);
– Interaction rule: state of one cell determined by
neighbors states => rule table
FIREFLY machine (cont’d)
•
•
•
•
1-D cell array, 56 cells
1 cell : D Flip-Flop + combinational logic
Cell n state = f(Cell n-1, Cell n , Cell n+1)
f= reconfigurable
FIREFLY machine: Implementation
Performance
• Task: synchronization starting from random
configuration
• Workstation: 60 configs/s
• FIREFLY: 13,000 configs/s @ 1MHz
BioWatch
• Embryonic electronics: self repair, self
replication circuits
• BioWatch: seconds/minutes
• Cells: modulo-6, modulo-10
• Gene: subprogram of the cell
• Genome: the set of genes
• Each cell stores the entire genome, but uses
only 1 gene => can replace another cell
Self replication
Self repair
PipeRench
• Reconfigurable datapath for accelerating
numerically intensive applications
• Virtualized hardware
• Dynamic reconfiguration
• Application portability and scalability
without redesign or recompilation
Types of RH
• FPGAs: bit-level logic functionality
(the basic processing elements compute on 1 bit)
• word-based architectures: PipeRench (CMU)
(basic PE operates on 8 bits)
(basic PE is a small ALU)
• coarse architectures: RAW (MIT)
(basic PE is a MIPS 2000 core)
What is pipeline
reconfiguration?
• Split application in N pipelined stages
• Use one piece of reconfigurable hardware
for all N stages
• Reconfigure and feedback at each clock
cycle (extreme case)
Pipeline reconfiguration
Hardware Virtualization
Actual available
hardware
Instructions
currently in hardware
Instructions paged out
PipeRench architecture
Processing Element
Architecture
Speed Improvement
@100MHZ
Speed Improvement (cont’d)
Bibliography
• E. Sanchez et al., “Static and Dynamic
Configurable Systems”, IEEE Transactions on
Computers, June 1999, pp. 556- 564
• Seth Copen Goldstein et al., “PipeRench: A
Reconfigurable Architecture and Compiler”, IEEE
Computer, 2000, pp. 70-76
• H. Schmit et al., “PipeRench: A Virtualized
Programmable Datapath in 0.18 Micron
Technology”, IEEE 2002 Custom Integrated
Circuits Conference Proc., pp. 5-3-1- 5-3-4
Download