+ All Categories
Home > Documents > Introduction to Reconfigurable Systems1

Introduction to Reconfigurable Systems1

Date post: 19-Jul-2016
Category:
Upload: sahebzamani
View: 39 times
Download: 8 times
Share this document with a friend
Description:
A set of introductory slides for reconfigurable systems mainly based on Bobda's book.
45
Reconfigurable Computing Introduction
Transcript
Page 1: Introduction to Reconfigurable Systems1

Reconfigurable Computing

Introduction

Page 2: Introduction to Reconfigurable Systems1

2

Computing Paradigms

Processing architectures:1. General-purpose processors

The Von Neumann Computer

2. Domain specific processors for a class of applications (e.g. multimedia)

3. Application specific processors for one application

4. Reconfigurable processors

• Explosive growth in ComputingCommunication

• Speed Hungry ApplicationsWeather forecast, real-time audio/video processing, …Contradiction with power consumption and cost

Page 3: Introduction to Reconfigurable Systems1

3

• Principle

In 1945, the mathematician Von Neumann (VN):

A computer could have a simple structure, capable of executing any kind of program, given a properly programmed control unit, without the need of hardware modification

The Von Neumann Computer

Page 4: Introduction to Reconfigurable Systems1

4

• StructureA memory for storing program and data. A control unit (control path) featuring a program

counter for controlling program executionAn ALU for program execution

Datapath

Control path

Processor orCentral processing unit

Dataand

Instructions

Addressregister

Memory

Instructionregister PC

Data

Address

Registers

The Von Neumann Computer

Page 5: Introduction to Reconfigurable Systems1

5

The Von Neumann Computer• Coding

A program is coded as a set of instructions to besequentially executed

• Program execution Instruction Fetch (IF): The next instruction to be executed is

fetched from the memoryDecode (D): The instruction is decoded to determine the

operationRead operand (R): The operands are read from the memoryExecute (EX): The required operation is executed on the ALUWrite result (W): The result of the operation is written back to

the memory Instruction execution in Cycle (IF, D, R, EX, W)

Page 6: Introduction to Reconfigurable Systems1

6

The Von Neumann Computer• Advantage:

Flexibility: any well coded program can be executed

• Drawbacks Speed efficiency: Not efficient, due to the sequential

program execution (temporal resource sharing)− They cannot even drive their display (need graphics accelerator)

Resource efficiency: Only one part of the hardware resources is required for the execution of an instruction. The rest remains idle

Memory access: Memories are about 10 time slower than the processor

Drawbacks are compensated using high clock speed, pipelining, caches, instruction pre-fetching, etc.

Page 7: Introduction to Reconfigurable Systems1

7

The Von Neumann Computer

• Sequential execution tcycle = cycle execution time

➢ One instruction needs tinstruction = 5*tcycle➢ 3 instructions: in 15*tcycle

• Pipelining:• One instruction needs tinstruction = 5*tcycle

no improvement.• 3 instructions: in 7*tcycle in the ideal case.

Increased throughput

• Even with pipeline and other improvement like cache, the execution remain sequential.

Page 8: Introduction to Reconfigurable Systems1

8

Domain-Specific Processors• Goal:

Overcome the drawbacks of the VN computer.

• Characteristics: Optimized datapath for a given class of applications

− Example: DSP− Applications usually multiply accumulate (MAC)-dominated:

− A A + (B * C)− Datapath optimized to execute one or many MACs in only one

cycle. Instruction fetching and decoding overhead is removed Memory access is limited

− Directly processing the input dataflow Special support for efficient looping

− Special loop or repeat instruction

Page 9: Introduction to Reconfigurable Systems1

9

MAC on a VN Machine

1. Fetch MUL2. Decode MUL3. Read operand4. Multiply5. Store result6. Fetch ACC7. Decode ACC8. Read the stored result9. Add with the accumulated value10. Store

Page 10: Introduction to Reconfigurable Systems1

10

Loops on a VN Machine

• Instruction cycles (fetch, decode, …) for: Updating loop counter Testing loop counter Jumping back to the top of the loop

Page 11: Introduction to Reconfigurable Systems1

12

ASIP• Application-Specific Instruction Set Processors:

Can be classified as domain-specific Xtensa from Tensilica

− A processor core which lets the system designer:− select and size features for a given application− define new instructions.

Page 12: Introduction to Reconfigurable Systems1

13

Application Specific Processors

• Optimize the complete circuit for a specific function DSPs have VN architecture. with a degree of application-specific features

• Example: ASIC: Application Specific Integrated Circuit. Optimization is done by implementing the inherent parallel

structure on a chip The data path is optimized for only one application. Instruction fetching and decoding overhead is removed Memory access is limited by directly processing the input

data flow

Page 13: Introduction to Reconfigurable Systems1

14

Application-Specific Processors

• ASIC Example:• Implementation of a VN

computerif (a < b) then{

d = a+b;c = a*b;

}else{

d = a+1;c = b-1;

}

• At least 3 instructions• run-time >= 3*tinstruction

• ASIC implementation:The complete execution is done in parallel in one clock cyclerun-time = tclock= delay longest path from input to output

MUX MUX

Mult Add Decr. Incr.

Compare

a b

c d

Page 14: Introduction to Reconfigurable Systems1

15

ASIC as Accelerator

• Accelerator design is difficult:

Page 15: Introduction to Reconfigurable Systems1

16

ASIC as Accelerator

• High manufacturing cost

Page 16: Introduction to Reconfigurable Systems1

17

ASIC as Accelerator

• High manufacturing cost

Page 17: Introduction to Reconfigurable Systems1

18

ASIC as Accelerator

• Increasing design cost• Decreasing life cycle

Decreasing number of wafer starts

Page 18: Introduction to Reconfigurable Systems1

19

ASIC Starts vs. FPGA Starts

Page 19: Introduction to Reconfigurable Systems1

20

More Life Cycle in FPGAs

Page 20: Introduction to Reconfigurable Systems1

21

FPGA Replacing ASIC

• rDPA: Reconfigurable Data Path Array

Page 21: Introduction to Reconfigurable Systems1

22

Conclusion• Von Neumann computer:

General purpose, used for any kind of functionHigh degree of flexibility.

Speed problemSome restrictions on the program coding and execution scheme

Programs have to adapt to the machine

• DSPs Adapted for a class of applications

Flexibility and efficiency only for a given class of applications• ASICs

Tailored for one application Very efficient in speed and resource

− Hardware adapts to the application

Cannot re-adapt to a new applicationNot flexible

Page 22: Introduction to Reconfigurable Systems1

23

Reconfigurable Computing• The ideal device should combine:

Flexibility of the VN computers Efficiency of ASICs

• The ideal device should be able to Optimally implement an application at a given time Re-adapt to allow the optimal implementation of a

new application

• We call such a device a reconfigurable device.

Definition: Reconfigurable computing: study of computations involving reconfigurable devices.

Architectures Algorithms Applications

Page 23: Introduction to Reconfigurable Systems1

24

RCS Definitions

“Reconfigurable computing refers to any information processing system in which blocks of hardware can be reorganized or repurposed to adapt to changing dataflows or algorithms”

− Ron Wilson, EE Times “ A reconfigurable computer is a device which computes

by using post-fabrication spatial connections of computable elements.”

− Andre DeHon “Reconfigurable devices contain an array of computational

elements whose functionality is determined through multiple programmable configurations.”

− Compton and Hauck “On-the-fly ASIC”

− Kurdahi• All are correct:

Better to understand by example

Page 24: Introduction to Reconfigurable Systems1

25

Reconfigurable Computing

• Configuration: A device is configured when its functionality is set.

− ASIC is configured when the circuit is fabricated.− Gate arrays are configured when the routing is defined.− Microprocessor is configured when an instruction is read from

memory. Microprocessors bind functionality at every cycle.

The amount of programmability:− ASIC: can perform exactly one task (not programmable)− GPP: can perform a wide variety of operations:

ISA defines the number of operations that can be performed at a given time.

64 bits− PLD: functionality is dedicated by bitstream:

10 - >100 million bits (Virtex-II Pro XC2VP125: 43 million bits) Virtex-7: 112 million bits)

Page 25: Introduction to Reconfigurable Systems1

26

Uncommitted Gate Array

Page 26: Introduction to Reconfigurable Systems1

27

Committed Gate Array

Page 27: Introduction to Reconfigurable Systems1

28

Reconfigurable Computing

• Reconfigurabilty: The ability to continually change the functionality of the

device.− But microprocessors are not usually considered as

reconfigurable devices.

• Reconfiguration: the process of changing the structure of a

reconfigurable device (at run-time or off-line)

Page 28: Introduction to Reconfigurable Systems1

29

Flexibility vs Efficiency

Perfromance

Flex

ibi li

ty

Von Neumann

General purpose computing

DSP

Domain specific computing

ASIC

Application specific

computing

Reconfigurable systems

Reconfigurable computing

Page 29: Introduction to Reconfigurable Systems1

30

Cost-Volume Curve

Increasing manufacturing costs increase NRE costs Crossover point shifts to right with every new technology

node.

Volume

Cos

t

PLD

ASIC

Cross-over volume

Page 30: Introduction to Reconfigurable Systems1

31

A Decade of Progress

200x More Logic− Plus memory, μP etc.

40x Faster 50x Lower Power 500x Lower Cost

[Areiba08]

CLB CapacitySpeedPower per MHzPrice

Virtex &Virtex-E

XC4000

100x

10x

1x

Spartan-2

1000x

Virtex-II &Virtex-II Pro

Virtex-4XC4000 &Spartan

Spartan-3

'91 '92 '93 '94 '95 '96 '97 '98 '99 '00 '01 '02 '03 '04

YearCourtesy: Richard Sevcik, Xilinx

Page 31: Introduction to Reconfigurable Systems1

Application Classes• Emulation:

For circuit debugging and verification Speed not so important (only test the functionality)

• Prototyping: Speed may be important

• Preproduction Use: Used in the final product but to be replace by ASIC in

the future• Production Use:

Used in the final product and no plan to be replaced byASIC

− Volume may not be high− Speed can be important

32

Page 32: Introduction to Reconfigurable Systems1

33

Applications

Emulation3%

Prototyping30%

Preproduction30%

Production37%

قابليت انجام کار ASIC موارد فوق فقط براي مدارهايي است که •را داشته باشد

ولي در بعضي موارد مدار بايد انعطاف پذير باشد.•

Page 33: Introduction to Reconfigurable Systems1

34

Some Fields of Application

Rapid prototyping

Post fabrication customization

Multi-modal computing tasks

Adaptive computing systems

Fault tolerance

High performance parallel computing

Page 34: Introduction to Reconfigurable Systems1

35

Rapid prototyping

• Verifying hardware in real conditions before fabrication

− High NRE costs

Software simulation− Relatively inexpensive− Slow− Accuracy ?

Hardware emulation− Hardware testing under real operation

conditions− Fast− Accurate− Allow several iterations

Page 35: Introduction to Reconfigurable Systems1

Cadence Palladium• hardware/software

co-verification• Features:

Up to 1,000,000X faster than RTL simulation

Maximum capacity of up to 256M ASIC gates

74GB of memory

36

Page 36: Introduction to Reconfigurable Systems1

37

Post Fabrication Customization

Manufacturer• Time to market advantageShip the first version of a product

• Remote upgrading with new product versions

• Remote repairing

• Example:Mars rover vehicle:

− Some FPGAs can be modified from the earth.

Page 37: Introduction to Reconfigurable Systems1

40

Adaptive Computing Systems

• Uncertainty and unpredictability of some systems: impossible, at compile time, to

address all scenarios that can happen at run-time.

Page 38: Introduction to Reconfigurable Systems1

41

Adaptive Computing Systems

• Adaptive computing systems: Computing systems that are able to adapt

their behaviour and structure to − changing operating and environmental

conditions,− time-varying optimization objectives,− physical constraints

− e.g. changing protocols, new standards

Page 39: Introduction to Reconfigurable Systems1

42

High performance parallel computingTraditional parallel implementation flow

ApplicatioApplicationn

11

22 33

44 55 66 77

Virtual TopologyVirtual Topology Physical TopologyPhysical Topology

11 22 33 44

Exploiting reconfigurable topology

ApplicationApplication

11

22 3

5 6 74Virtual TopologyVirtual Topology

11

22 3

5 64 77

Physical TopologyPhysical Topology

Page 40: Introduction to Reconfigurable Systems1

43

High performance parallel computing

Many reconfigurable machines achieved 100x speedups and per unit silicon (compared to microprocessors)

Page 41: Introduction to Reconfigurable Systems1

44

The main question

• A reconfigurable device is a piece of hardware and

• A hardware can never change after fabrication

• ThenHow is a reconfigurable device made ?

Page 42: Introduction to Reconfigurable Systems1

45

Microprocessor-Based Systems (Temporal)

Generalized to perform many functions well Operates on fixed data sizes. Inherently sequential

− Constrained even with multiple data paths.

Data Storage(Register File)

ALU

A B C

64

Page 43: Introduction to Reconfigurable Systems1

46

A Simple Reconfigurable Circuit

Functional unit optimized to perform a special task.

Functional Unit

A B

H L

if (A > B) { H = A; L = B;}else { H = B; L = A;}

Page 44: Introduction to Reconfigurable Systems1

47

Example: Bubblesort (Spacial)

Adapt interconnect to problem.Take advantage of parallelism.

A BH L

A BH L

A BH L

A BH L

A BH L

Highest Value

Lowest Value

Page 45: Introduction to Reconfigurable Systems1

48

References

[Areiba08] Areiba, “Reconfigurable Computing Systems,” Lecture Slides.

[Hartenstein07] Hartenstein, “Basics of Reconfigurable Computing,” S. P. J. Henkel, Ed. New York: Springer-Verlag, 2007.

[Bobda07] Bobda, Reconfigurable Computing Systems,” Lecture Slides.


Recommended