Reminder Lab 0 Xilinx ISE tutorial Research Send me an email if interested Looking for those interested in RC with skills in compilers/languages/synthesis,

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Computer Abstractions and Technology
EEL4720/5721 Reconfigurable Computing The state-of-the-art Reconfigurable Computing equipment available for this course is made possible by a generous.
EEL4930/5934 Reconfigurable Computing The state-of-the-art Reconfigurable Computing equipment available for this course is made possible by a generous.
Device Tradeoffs Greg Stitt ECE Department University of Florida.
RISC ARCHITECTURE By Guan Hang Su. Over View -> RISC design philosophy -> Features of RISC -> Case Study -> The Success of RISC processors -> CRISC.
EECE579: Digital Design Flows
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
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.
Seven Minute Madness: Special-Purpose Parallel Architectures Dr. Jason D. Bakos.
Some Thoughts on Technology and Strategies for Petaflops.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
1 Other Technologies Off-the-shelf logic (SSI) IC –Logic IC has a few gates, connected to IC's pins Known as Small Scale Integration (SSI) –Popular logic.
CS 300 – Lecture 23 Intro to Computer Architecture / Assembly Language Virtual Memory Pipelining.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Heterogeneous Computing Dr. Jason D. Bakos. Heterogeneous Computing 2 “Traditional” Parallel/Multi-Processing Large-scale parallel platforms: –Individual.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Why do so many chips fail? Ira Chayut, Verification Architect (opinions are my own and do not necessarily represent the opinion of my employer)
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,
Reconfigurable Devices Presentation for Advanced Digital Electronics (ECNG3011) by Calixte George.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
ECEn 191 – New Student Seminar - Session 9: Microprocessors, Digital Design Microprocessors and Digital Design ECEn 191 New Student Seminar.
Multi-core Programming Introduction Topics. Topics General Ideas Moore’s Law Amdahl's Law Processes and Threads Concurrency vs. Parallelism.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
Hardware Implementation of a Memetic Algorithm for VLSI Circuit Layout Stephen Coe MSc Engineering Candidate Advisors: Dr. Shawki Areibi Dr. Medhat Moussa.
J. Christiansen, CERN - EP/MIC
Programmable Logic Devices
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Design Space Exploration for Application Specific FPGAs in System-on-a-Chip Designs Mark Hammerquist, Roman Lysecky Department of Electrical and Computer.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
EE3A1 Computer Hardware and Digital Design
EEL4720/5721 Reconfigurable Computing Greg Stitt Associate Professor.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CS162 Week 5 Kyle Dewey. Overview Announcements Reactive Imperative Programming Parallelism Software transactional memory.
THE BRIEF HISTORY OF 8085 MICROPROCESSOR & THEIR APPLICATIONS
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Introduction to VLSI Design Amit Kumar Mishra ECE Department IIT Guwahati.
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
Computer Organization IS F242. Course Objective It aims at understanding and appreciating the computing system’s functional components, their characteristics,
ALPHA 21164PC. Alpha 21164PC High-performance alternative to a Windows NT Personal Computer.
Reconfigurable Computing - Performance Issues John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound, Western.
Dynamic and On-Line Design Space Exploration for Reconfigurable Architecture Fakhreddine Ghaffari, Michael Auguin, Mohamed Abid Nice Sophia Antipolis University.
EEL4720/5721 Reconfigurable Computing
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
EEL4720/5721 Reconfigurable Computing
Introduction to Reconfigurable Computing
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
EEL4930/5934 Reconfigurable Computing
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
Chapter 1 Introduction.
HIGH LEVEL SYNTHESIS.
Greg Stitt ECE Department University of Florida
Computer Evolution and Performance
EEL4720/5721 Reconfigurable Computing
NetPerL Seminar Hardware/Software Co-Design
Unit -4 Introduction to Embedded Systems Tuesday.
EEL4930/5934 Reconfigurable Computing
Presentation transcript:

Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis, networking, and/or memory structures Undergraduates also encouraged to participate

What is Reconfigurable Computing? Reconfigurable computing (RC) is the study of architectures that can adapt (after fabrication) to a specific application or application domain Involves architecture, design strategies, tool flows, CAD, languages, algorithms

What is Reconfigurable Computing? Alternatively, RC is a way of implementing circuits without fabricating a device Essentially allows circuits to be implemented as “software” “circuits” are no longer the same thing as “hardware” RC devices are programmable by downloading bits - just like software Processor … Bits loaded into program memory Microprocessor Binaries b a c x y FPGA Binaries (Bitfile) Processor FPGA 0010 … Bits loaded into CLBs, SMs, etc.

Why is RC important? Tremendous performance advantages Implements applications as custom circuit In some cases, > 100x faster than microprocessor Alternatively, similar performances as large cluster But much smaller Example: Software executes sequentially RC executes all multiplications in parallel Additions become tree of adders Even with slower clock, RC is much faster Performance difference even greater for larger input sizes SW time increases linearly RC time is basically O(log2(n)) - If enough area is available for (i=0; i < 16; i++) y += c[i] * x[i]

Implementation Possibilities MicroprocessorASICRC (FPGA,CPLD, etc.) Performance Why not use an ASIC for everything?

Moore’s Law Moore's Law is the empirical observation made in 1965 that the number of transistors on an integrated circuit doubles every 24 months [Wikipedia] Some sources say 18 months 2007: >1 BILLION transistors!!!! 1993: 1 Million transistors Becoming extremely difficult to design this - ASICs are expensive!

Moore’s Law Solution: Make billions of transistors into a reconfigurable fabric - fabricate 1 big chip and use it for many things Area overhead: circuit in FPGA can require 20x more transistors But, that’s still equivalent to a > 50 million transistor ASIC Pentium IV ~ 42 million transistors Modern FPGAs reportedly support millions of logic gates! 2007: >1 BILLION transistors!!!! Solution: Make this reconfigurable

When should RC be used? When it provides the cheapest solution Generally, depends on volume of devices RC is typically more cost effective for low volume devices RC: low NRE, high unit cost ASIC: very high NRE, low unit cost

When should RC be used? When circuit may have to be modified Can’t change ASIC - hardware Can change circuit implemented in FPGA Uses When standards change Codec changes after devices fabricated Allows addition of new features to existing devices “Partial reconfiguration” allows virtual fabric size - analogous to virtual memory Without RC Anything that may have to be reconfigured is implemented in software Performance loss

What about microprocessors? Similar cost issues uPs low NRE cost (coding is cheap) Unit cost varies from several dollars to several thousand Wouldn’t cheapest microprocessor always be the cheapest solution? Yes, but …

What about microprocessors? Often, microprocessors cannot meet performance constraints e.g. video decoder must achieve minimum frame rate Common reason for using custom circuit implementation

Design Space Exploration 1. Determine architectures that meet performance requirements Not trivial, requires performance analysis/estimation - important problem Will study later in semester And, other constraints - power, size, etc. 2. Estimate volume of device 3. Determine cheapest solution The best architecture for an application is typically the cheapest one that meets all design constraints.

RC Markets Embedded Systems RC achieves performance close to ASIC, sometimes at much lower cost Many embedded systems still use ASIC due to high volume Reconfigurablilty! If standards changes, architecture is not fixed Can add new features after production

RC Markets High-performance computing - HPC Cray XD-1 12 AMD Opterons, FPGAs SGI Altix 64 Itaniums, FPGAs IBM Chameleon Cell processor, FPGAs Low volume, ASIC rarely feasible

RC Markets General-purpose computing??? Ideal situation: desktop machine/OS uses RC to speedup up all applications Problems RC can be very fast, but not for all applications Generally requires parallel algorithms Coding constructs used in many applications not appropriate for hardware Subject of tremendous amount of past and likely future research How to use extra transistors? More cache More microprocessors FPGA Something else?

Limitations of RC Not all applications can be improved Tools need serious improvement! Design strategies are often ad-hoc Floating point? Embedded Applications – Large Speedups Desktop Applications – No Speedup