Reconfigurable Computing1 Reconfigurable Computing Part II.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Hao wang and Jyh-Charn (Steve) Liu
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
PipeRench: A Coprocessor for Streaming Multimedia Acceleration Seth Goldstein, Herman Schmit et al. Carnegie Mellon University.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Configurable System-on-Chip: Xilinx EDK
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
SSS 4/9/99CMU Reconfigurable Computing1 The CMU Reconfigurable Computing Project April 9, 1999 Mihai Budiu
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Chapter 6 Memory and Programmable Logic Devices
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
CPU Computer Hardware Organization (How does the computer look from inside?) Register file ALU PC System bus Memory bus Main memory Bus interface I/O bridge.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Archs, VHDL 3 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Automated Design of Custom Architecture Tulika Mitra
PROGRAMMABLE LOGIC DEVICES (PLD)
Designing the WRAMP Dean Armstrong The University of Waikato.
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
J. Christiansen, CERN - EP/MIC
Page 1 Reconfigurable Communications Processor Principal Investigator: Chris Papachristou Task Number: NAG Electrical Engineering & Computer Science.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Computer Architecture And Organization UNIT-II General System Architecture.
CHAPTER 4 The Central Processing Unit. Chapter Overview Microprocessors Replacing and Upgrading a CPU.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) Reconfigurable Architectures Forces that drive.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
1 Control Unit Operation and Microprogramming Chap 16 & 17 of CO&A Dr. Farag.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
COARSE GRAINED RECONFIGURABLE ARCHITECTURES 04/18/2014 Aditi Sharma Dhiraj Chaudhary Pruthvi Gowda Rachana Raj Sunku DAY
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
“Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010.
Programmable Logic Controllers LO1: Understand the design and operational characteristics of a PLC system.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Reconfigurable architectures ESE 566. Outline Static and Dynamic Configurable Systems –Static SPYDER, RENCO –Dynamic FIREFLY, BIOWATCH PipeRench: Reconfigurable.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Evolving, Adaptable Visual Processing System Simon Fung-Kee-Fung.
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self- replicate an arbitrary structure within an FPGA But what kind of structures is it interesting.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Hello world !!! ASCII representation of hello.c.
Operating Systems A Biswas, Dept. of Information Technology.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Computer Organization and Architecture Lecture 1 : Introduction
Topics Coarse-grained FPGAs. Reconfigurable systems.
Chapter 2 – Computer hardware
Reconfigurable Computing
Introduction to Computer Systems
Presentation transcript:

Reconfigurable Computing1 Reconfigurable Computing Part II

Reconfigurable Computing2 Roadmap of Presentation Static and Dynamic Configurable Systems Piperench: A Reconfigurable Architecture and Compiler

Reconfigurable Computing3 Static & Dynamic Reconfiguration Static: Configuration string is loaded once and does not change until the end of the task Dynamic: Configuration can change at any point

Reconfigurable Computing4 Objectives of Static Configuration 1. Improvement of Performance 2. Optimizing the utilization of resources (gates & power consumption....)

Reconfigurable Computing5 An Application of Static Configuration: SPYDER A reconfigurable co-processor adaptable to given application in a transparent way The application is written with a high level language, compiler generates the best description for the hardware

Reconfigurable Computing6 System Description of SPYDER Reconfiguration takes place in processing unit composed of 3 FPGAs connected to two register banks Each FPGA has independent access to registers for parallel processing FPGA size & # registers are limitations for configuration!

Reconfigurable Computing7 User Configuration First aim was transparent HW configuration The user just determines the operators in a high level language Compiler then generates the corresponding code and does operations based on maximal parallelism.

Reconfigurable Computing8 SPYDER Architecture

Reconfigurable Computing9 Performance Performance of SPYDER surpasses that of classical architectures. computes the future states of 115M cells, while can do 6.5M states.(skeletonization, edge detection)

Reconfigurable Computing10 Another Static Configuration Application: RENCO A reconfigurable network computer for improved performance of the system RENCO adds the power of reconfiguration to the network computer. User can download not only his/her application but also the processor configuration

Reconfigurable Computing11 Hardware Composed of two parts: 1.A conventional network computer with a processor: Motorola MC68EN360 RENCO’s µ-processor has high communication capabilities, integrated memory controller, and many SW tools are available. 2.A reconfigurable part: A cluster of FPGAs connected to their own memories and processor buses

Reconfigurable Computing12 Hardware Reconfigrable part contains 4 Altera Flex FPGAs. Each has up to 1M logic gates Processor bus is connected to 4 FPGAs so that they can act as co-processors and each FPGA memories can be accessed by the processor. 14 layer PCB!

Reconfigurable Computing13 RENCO Block Diagram

Reconfigurable Computing14 Software Network computer requires a good OS for networking For reconfigurable part many SW tools are availale(synthesizer, monitor for resource access & configuration loading, debugger etc) Java(Kaffe) is used for source code. HW libraries are built accordingly So like other reconfigurable systems SW is much harder than HW!

Reconfigurable Computing15 Performance Since HW libraries are currently unavailable cannot make proper evaluation for performance However the idea of downloadable HW architecture is amazing. Also this idea can be used as prototype for complex logic design

Reconfigurable Computing16 Objective of DYNAMIC Configuration To handle changing and/or incomplete specifications

Reconfigurable Computing17 An Application of Dynamic Configuration: FIREFLY Based on the idea of applying the biological principle of natural evolution to artificial systems A genetic algorithm is iterative procedure that starts with a random initial population

Reconfigurable Computing18 General Description Aim is to reach the “best individuals” by evolutionary steps in which the individuals are evaluated according to some predefined quality criterion In order to create next generation, individuals are subjected to genetic operators(cross-over, mutation, etc...) This iteration with these operations results in the best generation Firefly machine implements this algorithm in a reconfigurable manner

Reconfigurable Computing19 Structure Firefly is based on cellular automata model consisting of an array of cells whose states are updated in every evolutionary step. A rule table, concerning the neighbour’s state, exists for the determination of the next state After some steps iteration leads the cells to oscillate between all 0’s and all 1’s. Firefly inherits its name from this phenomenon

Reconfigurable Computing20 Hardware Firefly has 56 cells consisting of FPGA’s as the evolution platform. Firefly is a machine in which all the system evolution is carried out online, that is in hardware! Evolution rules and state of a cell are stored in D-flipflops.

Reconfigurable Computing21 FireFly Board

Reconfigurable Computing22 Performance and Future All operation are carried our in HW with no external reference High performance workstation execute 60 configurations while Firefly can execute configurations per second Evolving machines(like Firefly) operating in autonomous manner can be used in the field of autonomous robots and of controllers for noisy and changing environments.

Reconfigurable Computing23 Another Application of Dynamic Reconfiguration: BIOWATCH Objective is to development of VLSICs capable of self repair and self replication Biowatch is an artificial organism deigned to count seconds & minutes thus a modulo-3600 counter. Multicellular organism each cell realizing a unique function described by the gene of the cell.

Reconfigurable Computing24 Functioning Dynamic reconfiguration of the executing task occurs during the self- repair process The cells interprets the the genome(whole set of genes) The cell executes the operations According to the relevant part of the genomes(genes) which configures it

Reconfigurable Computing25 Hardware Coarse grained FPGAs are used. Each cell holds a 4-bit state register. 4 four-bit buses enter the cells from the neigbour cells. 4 output buses also go to neighbours Binary decision machine of the cell executes µ-programs(genomes) written using a set of 6 instructions Each cell is implemented in a Actel 1020 FPGA circuit

Reconfigurable Computing26 Self Repair Self repair of artificial organism allows partial reconstruction of the original device in case of a minor fault Faulty Cell is by-passed and all or a part original cellular array is shifted to the right New Coordinates lead to dynamic configuration of the executing task of cell

Reconfigurable Computing27 Self Repair

Reconfigurable Computing28 Self Replication Self repair of an artificial organism allows for the complete reconstruction of the original device in case of a major fault

Reconfigurable Computing29 PIPERENCH: A Reconfigurable Architecture

Reconfigurable Computing30 Pipelined Reconfiguration Piperench, a new reconfigurable fabric, combines the flexibility of conventional procesors with the efficiency of custom HW to achieve extreme performance speed-up Piperench is a reconfigurable fabric consisting of an interconnected network of configurable logic and storage elements. Pipelined reconfiguration implements a large logical configuration on a small piece of HW through rapid reconfiguration of that HW

Reconfigurable Computing31 General Procedure Pipelined reconfiguration involves virtualizing pipelined computations by breaking a single static configuration into pieces Each piece of configuration corresponds to pipeline stages in the application Physically 3 but functionally 5 stages!

Reconfigurable Computing32 Virtualization Process Stage1 configured in cycle 1, and executes for two cycles. There is no physical pipe stage 4, therefore in cycle 4 the fourth virtual pipe stage is configured in physical stage 1

Reconfigurable Computing33 Virtualization Process

Reconfigurable Computing34 Virtualization Process Reconfiguration does not decrease performance since some stages are configured while others are executed Configuration takes 1 cycle in successfull applications since wide on- chip configuration buffer and a small controller are employed

Reconfigurable Computing35 Stripe(Pipeline Stage)

Reconfigurable Computing36 Stripe Architecture Piperench contains a set of physical pipeline stages called stripes Each PE contains ALU each of which contain LUTs

Reconfigurable Computing37 Benefits of Piperench Improved Compilation Time Improved Reconfiguration Time

Reconfigurable Computing38 References “Static and Dynamic Configurable Systems” “Piperench: A Reconigurable Architecture and Compiler” “Reconfigurable Conputer Architectures and Design Methods”