240 likes | 258 Views
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:
E N D
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 user-described operators • User writes application
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
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
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)
Hardware Virtualization Actual available hardware Instructions currently in hardware Program Instructions paged out
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