dynamically reconfigurable architectures: an overview

Post on 23-Feb-2016

61 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Dynamically Reconfigurable Architectures: An Overview. Juanjo Noguera Dept. Computer Architecture (DAC-UPC) jnoguera@ac.upc.es. Outline. Introduction Reconfigurable Computing Reconfigurable devices and systems Reconfigurable Systems Classification Reconfiguration Methods - PowerPoint PPT Presentation

TRANSCRIPT

Dynamically Dynamically Reconfigurable Reconfigurable Architectures: Architectures: An OverviewAn Overview

Juanjo NogueraJuanjo NogueraDept. Computer Architecture (DAC-Dept. Computer Architecture (DAC-

UPC)UPC)jnoguera@ac.upc.esjnoguera@ac.upc.es

2

IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing

• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods

Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach

ConclusionsConclusions

OutlineOutline

3

Reconfigurable Computing (RC) is an Reconfigurable Computing (RC) is an emerging paradigm for digital emerging paradigm for digital systems designsystems design

Technology improvements have made Technology improvements have made possible new programmable logic possible new programmable logic devices (FPGAs, CPLDs)devices (FPGAs, CPLDs)

Objective of the talkObjective of the talk: Give an : Give an overview of RC concepts and overview of RC concepts and introduce the Reconfigurable introduce the Reconfigurable Instruction Set Processors. Instruction Set Processors.

IntroductionIntroduction

4

Introduction (II)Introduction (II) RC objectives:RC objectives:

Specialization, performance, flexibility Specialization, performance, flexibility

Basic idea: “Programmable Hardware”Basic idea: “Programmable Hardware”

SpecializationSpecialization

PerformancePerformance Power Power

consumptionconsumption

FlexibilityFlexibility ProgrammingProgramming

5

Introduction (III)Introduction (III) RC comparison versus other RC comparison versus other

alternativesalternativesApplication Specific

Systems

General Purpose Systems

Cost

Performance

ReconfigurableComputing

Performance

Flexibility, Power

GPP

ASIC

DSP RC

6

IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing

• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods

Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach

ConclusionsConclusions

OutlineOutline

7

General device architectureGeneral device architecture

Reconfigurable DevicesReconfigurable DevicesRe

confi

gura

ble

Com

puti

ng

Logic Bloc

InterconnectionStructure

I/O Bloc

8

Routing strategiesRouting strategies

Reconfigurable Devices Reconfigurable Devices (II)(II)

Reco

nfigu

rabl

e Co

mpu

ting

A B

C

A B

C

Continuous Routing Structured Routing

9

SRAM based devices with infinite SRAM based devices with infinite number of reconfigurationsnumber of reconfigurations

Reconfigurable Devices Reconfigurable Devices (III)(III)

Reco

nfigu

rabl

e Co

mpu

ting

Configuration Bitstream110011101 ...

• App 1 -> Bitstream 1• App 2 -> Bitstream 2

• App n -> Bitstream n

Reconfigurable Device

10

Rapid System (ASIC) PrototypingRapid System (ASIC) Prototyping

Reconfigurable Systems Reconfigurable Systems (I)(I)

Reco

nfigu

rabl

e Co

mpu

ting

PLD PLDPLDCPU PLD

PLD

PLD PLD

PLD PLD

PLD

11

Reconfigurable Systems Reconfigurable Systems ClassificationClassification

Reconfigurable Systems Reconfigurable Systems (II)(II)

Reco

nfigu

rabl

e Co

mpu

ting

I/O PLD RAM

PLDCPU

RAM

PLD

PLD RAM

(c)

(d)

(b)(a)

HostComputer

SYSTEM BUS

12

Reconfiguration Methods Reconfiguration Methods (I)(I)

Reco

nfigu

rabl

e Co

mpu

ting

Compile Time Reconfiguration (CTR)Compile Time Reconfiguration (CTR)• Device configuration is fixed during Device configuration is fixed during

application run time executionapplication run time execution

Run Time Reconfiguration (RTR)Run Time Reconfiguration (RTR)• Device configuration changes during Device configuration changes during

application run time executionapplication run time execution

RTR strategiesRTR strategies• Global RTRGlobal RTR• Partial RTRPartial RTR

13

Global Run Time Reconfiguration Global Run Time Reconfiguration (Single context)(Single context)

Reconfiguration Methods Reconfiguration Methods (II)(II)

Reco

nfigu

rabl

e Co

mpu

ting

#1#2

#3

#4

Application

#1

Reconfiguration Contexts

Dynamically Reconfigurable Device

Reconfiguration

Execution

#2

Reconfiguration

Execution Reconfiguration

#4

Execution

14

Partial Run Time Reconfiguration Partial Run Time Reconfiguration (Multiple context)(Multiple context)

Reconfiguration Methods Reconfiguration Methods (III)(III)

Reco

nfigu

rabl

e Co

mpu

ting

#1#2

#3

#4

Aplicació

Reconfiguration Contexts

Dynamically Reconfigurable Device

#4#1

#3

Reconfiguration

#4#1

#2

15

Run-Time Reconfiguration Run-Time Reconfiguration ChallengesChallenges• Temporal PartitioningTemporal Partitioning• Context Scheduling (static)Context Scheduling (static)

Reconfiguration Latency OverheadReconfiguration Latency Overhead• Configuration Pre-fetchingConfiguration Pre-fetching• Configuration CachingConfiguration Caching• Configuration CompressionConfiguration Compression

Reconfiguration Methods Reconfiguration Methods (IV)(IV)

Reco

nfigu

rabl

e Co

mpu

ting

16

IntroductionIntroduction Reconfigurable ComputingReconfigurable Computing

• Reconfigurable devices and systemsReconfigurable devices and systems• Reconfigurable Systems ClassificationReconfigurable Systems Classification• Reconfiguration MethodsReconfiguration Methods

Reconfigurable Instruction Set Reconfigurable Instruction Set ProcessorsProcessors• ASIP-based approachASIP-based approach• Coprocessor-based approachCoprocessor-based approach

ConclusionsConclusions

OutlineOutline

17

By including reconfigurability we By including reconfigurability we can increase flexibility with high can increase flexibility with high specializationspecialization

Introduction Introduction Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

Processor PLD

Reconfigurable Processor

18

Coprocessor based approachCoprocessor based approach

ASIP based approachASIP based approach

Introduction (II)Introduction (II)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

· · ·

Task 1 Task K

· · ·

Task K+1

Task N

Software Hardware

Task 1 Task 2 Task N

SoftwareHardwar

e

· · ·

19

Typical example: CPU + PCI boardTypical example: CPU + PCI board• Altera ARC-PCIAltera ARC-PCI• Compaq PametteCompaq Pamette

System on Chip (SoC)System on Chip (SoC)• Altera´s Excalibur deviceAltera´s Excalibur device• Chameleon Systems, Inc.Chameleon Systems, Inc.

Coprocessor based approach Coprocessor based approach (I)(I)

Reco

nfigu

rabl

e In

stru

ctio

n Se

t Pr

oces

sors

20

Altera ARC-PCIAltera ARC-PCI

Coprocessor based approach Coprocessor based approach (II)(II)

Reco

nfigu

rabl

e In

stru

ctio

n Se

t Pr

oces

sors

21

Compaq PametteCompaq Pamette

Coprocessor based approach Coprocessor based approach (III)(III)

Reco

nfigu

rabl

e In

stru

ctio

n Se

t Pr

oces

sors

22

Altera´s Excalibur deviceAltera´s Excalibur device• Embedded Processor: ARM, MIPS or Embedded Processor: ARM, MIPS or

NIOS NIOS

Coprocessor based approach Coprocessor based approach (IV)(IV)

Reco

nfigu

rabl

e In

stru

ctio

n Se

t Pr

oces

sors

23

Chameleon Systems, Inc.Chameleon Systems, Inc.

Coprocessor based approach Coprocessor based approach (V)(V)

Reco

nfigu

rabl

e In

stru

ctio

n Se

t Pr

oces

sors

24

Reconfigurable unit within CPUReconfigurable unit within CPU

ASIP based approach (I)ASIP based approach (I)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

Fetch

Decode

Issue

IntegerUnit

FPUnit

BranchUnit

LD/STUnit

ReconfigurableUnit

25

Challenge: CAD toolsChallenge: CAD tools

ASIP based approach (II)ASIP based approach (II)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

C Code

Compiler

AssemblyCode

InstructionDescription

(Configuration bits)

26

ASIP based approach (III)ASIP based approach (III)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

C Parsing

Optimizations

Inst. Identification

Inst. Selection

Config. Scheduling

Code Generation

C Code

Assembly Code

HardwareGeneration

Configuration bits

HardwareEstimator

Compiler Structure

27

Example: Philips CinCISe Example: Philips CinCISe ArchitectureArchitecture

ASIP based approach (II)ASIP based approach (II)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

Enco

ded

Inst

ruct

ion

Wor

d

RegisterFile AL

URF

U

MU

X

5

5

5

4

32

32

32

32

32

32

28

Application example: DES & A5 Application example: DES & A5 encryptation algorithmsencryptation algorithms

ASIP based approach (III)ASIP based approach (III)Re

confi

gura

ble

Inst

ruct

ion

Set

Proc

esso

rs

27 26 25 23 22 30

7 6 5 4 3 2

27 26 25 22

XORsrl $13, $2, 20andi $25, $13, 1srl $14, $2, 21andi $24, $14, 6or $15, $25, $24srl $13, $2, 22andi $14, $13, 56or $25, $15, $14sll $24, $25, 2

srl $24, $5, 18srl $25, $5, 17xor $8, $24, $25srl $9, $5, 16xor $10, $8, $9srl $11, $5, 13xor $12, $10, $11andi $13, $12, 1

29

Reconfigurable Computing is an Reconfigurable Computing is an emerging and interesting computing emerging and interesting computing paradigmparadigm

RC devices and architectures are RC devices and architectures are becoming a realitybecoming a reality

There is a big challenge is High-level There is a big challenge is High-level synthesis (CAD) toolssynthesis (CAD) tools

ConclusionsConclusions

30

What is the future ??What is the future ??

Conclusions (II)Conclusions (II)

Flexibility,Power

Performance

GPP

ASIC

DSP RC

RC

??

RC

top related