Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)

Slides:



Advertisements
Similar presentations
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Advertisements

Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Introduction Special-purpose processors. Embedded systems. FPGAs.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Introduction to Systems Architecture Kieran Mathieson.
Configurable System-on-Chip: Xilinx EDK
A Programmable Coprocessor Architecture for Wireless Applications Yuan Lin, Nadav Baron, Hyunseok Lee, Scott Mahlke, Trevor Mudge Advance Computer Architecture.
Performance Analysis of the IXP1200 Network Processor Rajesh Krishna Balan and Urs Hengartner.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
SSS 4/9/99CMU Reconfigurable Computing1 The CMU Reconfigurable Computing Project April 9, 1999 Mihai Budiu
Lecture 1: Course Introduction September 3, 2013 ECE 636 Reconfigurable Computing Lecture 1 Course Introduction Prof. Russell Tessier.
Dynamic Hardware Software Partitioning A First Approach Komal Kasat Nalini Kumar Gaurav Chitroda.
Presenter MaxAcademy Lecture Series – V1.0, September 2011 Introduction and Motivation.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Reconfigurable Hardware in Wearable Computing Nodes Christian Plessl 1 Rolf Enzler 2 Herbert Walder 1 Jan Beutel 1 Marco Platzner 1 Lothar Thiele 1 1 Computer.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Reconfigurable Computing Systems: An Overview Presented by: Gurwant Kaur Koonar Vijay Pandya 14 th March 2003.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
A Reconfigurable Processor Architecture and Software Development Environment for Embedded Systems Andrea Cappelli F. Campi, R.Guerrieri, A.Lodi, M.Toma,
Architectures for mobile and wireless systems Ese 566 Report 1 Hui Zhang Preethi Karthik.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
SYSTEM-ON-CHIP (SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY.
Paper Review: XiSystem - A Reconfigurable Processor and System
ECE 465 Introduction to CPLDs and FPGAs Shantanu Dutt ECE Dept. University of Illinois at Chicago Acknowledgement: Extracted from lecture notes of Dr.
Automated Design of Custom Architecture Tulika Mitra
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
J. Christiansen, CERN - EP/MIC
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Page 1 Reconfigurable Communications Processor Principal Investigator: Chris Papachristou Task Number: NAG Electrical Engineering & Computer Science.
The variety Of Processors And Computational Engines CS – 355 Chapter- 4 `
VLSI Algorithmic Design Automation Lab. 1 Integration of High-Performance ASICs into Reconfigurable Systems Providing Additional Multimedia Functionality.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
CS5222 Advanced Computer Architecture Part 3: VLIW Architecture
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) Reconfigurable Architectures Forces that drive.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
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.
A few issues on the design of future multicores André Seznec IRISA/INRIA.
Reconfigurable Computing Ender YILMAZ, Hasan Tahsin OĞUZ.
COARSE GRAINED RECONFIGURABLE ARCHITECTURES 04/18/2014 Aditi Sharma Dhiraj Chaudhary Pruthvi Gowda Rachana Raj Sunku DAY
High Performance, Low Power Reconfigurable Processor for Embedded Systems Farhad Mehdipour, Hamid Noori, Koji Inoue, Kazuaki Murakami Kyushu University,
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
NISC set computer no-instruction
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
WARP PROCESSORS ROMAN LYSECKY GREG STITT FRANK VAHID Presented by: Xin Guan Mar. 17, 2010.
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
Re-configurable Bus Encoding Scheme for Reducing Power Consumption of the Cross Coupling Capacitance for Deep Sub-micron Instructions Bus Siu-Kei Wong.
Lecture 4: Contrasting Processors: Fixed and Configurable September 20, 2004 ECE 697F Reconfigurable Computing Lecture 4 Contrasting Processors: Fixed.
Reconfigurable Computing Nehir Sönmez
ECE 636 Reconfigurable Computing Lecture 1 Course Introduction Prof
ECE354 Embedded Systems Introduction C Andras Moritz.
Evaluating Register File Size
Dynamically Reconfigurable Architectures: An Overview
Embedded systems, Lab 1: notes
Reconfigurable Computing Systems: An Overview
A High Performance SoC: PkunityTM
Mapping DSP algorithms to a general purpose out-of-order processor
NetPerL Seminar Hardware/Software Co-Design
(Lecture by Hasan Hassan)
Programmable logic and FPGA
Presentation transcript:

Dynamically Reconfigurable Architectures: An Overview Juanjo Noguera Dept. Computer Architecture (DAC-UPC)

2 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline

3 n Reconfigurable Computing (RC) is an emerging paradigm for digital systems design n Technology improvements have made possible new programmable logic devices (FPGAs, CPLDs) n Objective of the talk: Give an overview of RC concepts and introduce the Reconfigurable Instruction Set Processors. Introduction

4 Introduction (II) n RC objectives: Specialization, performance, flexibility n Basic idea: “Programmable Hardware”  Specialization l  Performance l  Power consumption l  Flexibility l  Programming

5 Introduction (III) n RC comparison versus other alternatives Application Specific Systems General Purpose Systems Cost Performance Reconfigurable Computing Performance Flexibility, Power GPP ASIC DSP RC

6 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline

7 n General device architecture Reconfigurable Devices Reconfigurable Computing Logic Bloc Interconnection Structure I/O Bloc

8 n Routing strategies Reconfigurable Devices (II) Reconfigurable Computing A B C A B C Continuous Routing Structured Routing

9 n SRAM based devices with infinite number of reconfigurations Reconfigurable Devices (III) Reconfigurable Computing Configuration Bitstream App 1 -> Bitstream 1 App 2 -> Bitstream 2 App n -> Bitstream n Reconfigurable Device

10 n Rapid System (ASIC) Prototyping Reconfigurable Systems (I) Reconfigurable Computing PLD CPUPLD

11 n Reconfigurable Systems Classification Reconfigurable Systems (II) Reconfigurable Computing I/O PLD RAM PLD CPU RAM PLD RAM (c) (d) (b) (a) Host Computer SYSTEM BUS

12 Reconfiguration Methods (I) Reconfigurable Computing n Compile Time Reconfiguration (CTR) Device configuration is fixed during application run time executionDevice configuration is fixed during application run time execution n Run Time Reconfiguration (RTR) Device configuration changes during application run time executionDevice configuration changes during application run time execution n RTR strategies Global RTRGlobal RTR Partial RTRPartial RTR

13 n Global Run Time Reconfiguration (Single context) Reconfiguration Methods (II) Reconfigurable Computing #1 #2 #3 #4 Application #1 Reconfiguration Contexts Dynamically Reconfigurable Device Reconfiguration Execution #2 Reconfiguration Execution Reconfiguration #4 Execution

14 n Partial Run Time Reconfiguration (Multiple context) Reconfiguration Methods (III) Reconfigurable Computing #1 #2 #3 #4 Aplicació Reconfiguration Contexts Dynamically Reconfigurable Device #4 #1 #3 Reconfiguration #4 #1 #2

15 n Run-Time Reconfiguration Challenges Temporal PartitioningTemporal Partitioning Context Scheduling (static)Context Scheduling (static) n Reconfiguration Latency Overhead Configuration Pre-fetchingConfiguration Pre-fetching Configuration CachingConfiguration Caching Configuration CompressionConfiguration Compression Reconfiguration Methods (IV) Reconfigurable Computing

16 n Introduction n Reconfigurable Computing Reconfigurable devices and systemsReconfigurable devices and systems Reconfigurable Systems ClassificationReconfigurable Systems Classification Reconfiguration MethodsReconfiguration Methods n Reconfigurable Instruction Set Processors ASIP-based approachASIP-based approach Coprocessor-based approachCoprocessor-based approach n Conclusions Outline

17 n By including reconfigurability we can increase flexibility with high specialization Introduction Reconfigurable Instruction Set Processors ProcessorPLD Reconfigurable Processor

18 n Coprocessor based approach n ASIP based approach Introduction (II) Reconfigurable Instruction Set Processors · · · Task 1 Task K · · · Task K+1Task N SoftwareHardware Task 1Task 2Task N Software Hardware · · ·

19 n Typical example: CPU + PCI board Altera ARC-PCIAltera ARC-PCI Compaq PametteCompaq Pamette n System on Chip (SoC) Altera´s Excalibur deviceAltera´s Excalibur device Chameleon Systems, Inc.Chameleon Systems, Inc. Coprocessor based approach (I) Reconfigurable Instruction Set Processors

20 n Altera ARC-PCI Coprocessor based approach (II) Reconfigurable Instruction Set Processors

21 n Compaq Pamette Coprocessor based approach (III) Reconfigurable Instruction Set Processors

22 n Altera´s Excalibur device Embedded Processor: ARM, MIPS or NIOSEmbedded Processor: ARM, MIPS or NIOS Coprocessor based approach (IV) Reconfigurable Instruction Set Processors

23 n Chameleon Systems, Inc. Coprocessor based approach (V) Reconfigurable Instruction Set Processors

24 n Reconfigurable unit within CPU ASIP based approach (I) Reconfigurable Instruction Set Processors Fetch Decode Issue Integer Unit FP Unit Branch Unit LD/ST Unit Reconfigurable Unit

25 n Challenge: CAD tools ASIP based approach (II) Reconfigurable Instruction Set Processors C Code Compiler Assembly Code Instruction Description (Configuration bits)

26 ASIP based approach (III) Reconfigurable Instruction Set Processors C Parsing Optimizations Inst. Identification Inst. Selection Config. Scheduling Code Generation C Code Assembly Code Hardware Generation Configuration bits Hardware Estimator Compiler Structure

27 n Example: Philips CinCISe Architecture ASIP based approach (II) Reconfigurable Instruction Set Processors Encoded Instruction Word Register File ALU RFU MUX

28 n Application example: DES & A5 encryptation algorithms ASIP based approach (III) Reconfigurable Instruction Set Processors XOR srl $13, $2, 20 andi $25, $13, 1 srl $14, $2, 21 andi $24, $14, 6 or $15, $25, $24 srl $13, $2, 22 andi $14, $13, 56 or $25, $15, $14 sll $24, $25, 2 srl $24, $5, 18 srl $25, $5, 17 xor $8, $24, $25 srl $9, $5, 16 xor $10, $8, $9 srl $11, $5, 13 xor $12, $10, $11 andi $13, $12, 1

29 n Reconfigurable Computing is an emerging and interesting computing paradigm n RC devices and architectures are becoming a reality n There is a big challenge is High-level synthesis (CAD) tools Conclusions

30 n What is the future ?? Conclusions (II) Flexibility, Power Performance GPP ASIC DSP RC ?? RC