6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf ·...

18
Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier Sentieys, ENSSAT-IRISA, 2011 27 6. Solutions architecturales ASIC FPGA DSP Flexibilité Inefficacité Reconfigurable Processor MOPS / Watt 6. Solutions architecturales 4.1. Cœurs de processeur 1. Processeurs RISC 2. Processeurs configurables 3. Processeurs DSP 4.2. Architectures reconfigurables 1. Solutions à base FPGA 2. Chemins de données reconfigurables 6. Solutions architecturales 1. Cœurs de processeur Processeurs RISC Processeurs configurables Processeurs DSP e.g. ARM, TI, Xtensa, ST, … EII3/M2R - 108 Cœurs de processeur Processeurs enfouis sur un SOC Délivré sous licence, modulaire, bloc IP Caractérisation d’un cœur foundry-captive, licenciable (code RTL) Contenu du cœur cœur (+ mémoire (+ périphériques )) Exemples Infineon Carmel, Infineon TriCore ARM DSP Group OAK/PINE ST D950, ST Lx TI C64x, C55x

Transcript of 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf ·...

Page 1: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 27

6. Solutions architecturales

ASIC

FPGA

DSP

Flex

ibili

Inefficacité

Reconfigurable Processor MOPS / Watt

6. Solutions architecturales

4.1. Cœurs de processeur

1. Processeurs RISC 2. Processeurs configurables 3. Processeurs DSP

4.2. Architectures reconfigurables 1. Solutions à base FPGA 2. Chemins de données reconfigurables

6. Solutions architecturales

1. Cœurs de processeur

Processeurs RISC Processeurs configurables

Processeurs DSP

e.g. ARM, TI, Xtensa, ST, …

EII3/M2R - 108

Cœurs de processeur

§  Processeurs enfouis sur un SOC §  Délivré sous licence, modulaire, bloc IP §  Caractérisation d’un cœur

•  foundry-captive, licenciable (code RTL)

§  Contenu du cœur •  cœur (+ mémoire (+ périphériques ))

§  Exemples •  Infineon Carmel, Infineon TriCore •  ARM •  DSP Group OAK/PINE •  ST D950, ST Lx •  TI C64x, C55x

Page 2: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 28

EII3/M2R - 109

1. ARM §  Advanced RISC Machines §  ARM is the industry's leading provider of 16/32-bit

embedded RISC microprocessor solutions §  The company licenses its high-performance, low-cost,

power-efficient RISC processors, peripherals, and system-on-chip designs to leading international electronics companies

§  ARM provides comprehensive support required in developing a complete system

§  ten billion processors since the company was formed in 1990

§  http://www.arm.com/

EII3/M2R - 110

ARM9 Family §  32-bit RISC processor core with ARM® and Thumb® instruction sets §  5-stage integer pipeline achieves 1.1 MIPS/MHz §  Up to 300 MIPS (Dhrystone 2.1) in a typical 0.13µm process §  Single 32-bit AMBA bus interface §  MMU supporting Windows CE, Symbian OS, Linux, Palm OS (ARM920T and

ARM922T) §  Memory Protection Unit (MPU) supporting a range of Real Time Operating

Systems including VxWorks (ARM940T) §  Integrated instruction and data caches §  8-entry write buffer — avoids stalling the processor when writes to

external memory are performed §  Portable to latest 0.18µm, 0.15µm, 0.13µm silicon processes

EII3/M2R - 111

CPU Core - ARM9TDMI

EII3/M2R - 112

ARM9 Family

Performance Characteristics

ARM920T 0.18µ

ARM920T 0.13µ

ARM922T 0.18µ

ARM922T 0.13µ

Die Size (mm2) 11.8 4.7 8.1 3.2

Frequency (MHz) * 200 250 200 250

Power (mW/MHz) ** (inc. caches)

0.8

0.36

0.8

0.36

Power (mW/MHz) ** (ex. caches)

0.42 0.19 0.42 0.19

Page 3: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 29

EII3/M2R - 113

Power Analysis of ARM9TDMI

EII3/M2R - 114

StrongArm

§  Intel SA-1110 ARM architecture

Intel StrongARM

EII3/M2R - 115

ARM’s Amba open standard

§  Advanced System Bus, (ASB) - high performance, CPU, DMA, external §  Advanced Peripheral Bus, (APB) - low speed, low power, parallel I/O,

UART’s §  External interface §  http://www.arm.com/products/solutions/AMBAHomePage.html

EII3/M2R - 116

2. Tensilica Xtensa §  Synthesizable, configurable, embedded processor core §  Software development tools (compiler, OS)

Page 4: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 30

EII3/M2R - 117

Tensilica Xtensa

EII3/M2R - 118

Tensilica Xtensa

EII3/M2R - 119

Types of Configurability

§  Quantity, size, etc. •  Often significant payback (e.g. cache size)

§  Options (sort of quantity 0 or 1) •  e.g. FP or not, MMU or not, DSP or not, …

§  Parameters •  e.g. addresses of vectors, memories, …

§  Target specifications •  e.g. synthesize for area at the cost of speed •  Many applications don’t need the maximum processor performance •  Process, standard cell library, etc.

§  Extensibility •  Adding things that the component supplier didn’t explicitly offer

EII3/M2R - 120

Xtensa Configurability

§  Cost, Power, Performance §  ISA

•  Endianness •  MUL16/MAC16 •  Various miscellaneous

instructions

§  Interrupts •  Number of interrupts •  Type of interrupts •  Number of interrupt levels •  Number of timers and their

interrupt levels

§  Memories •  32 or 64 entry regfile •  32, 64, or 128b bus widths •  Inst Cache and Data Cache/

RAM o  1KB to 16KB o  16, 32, or 64B line size

•  4-32-entry write buffer

§  Debugging •  No. inst addr breakpoints •  No. data addr breakpoints •  JTAG debugging •  Trace port

Page 5: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 31

EII3/M2R - 121

Example 0.25um Results

§  55 to 141MHz §  28 to 84K gates §  62 to 191mW power §  2.0mm² to 8.3mm² including cache RAMs

EII3/M2R - 122

3. Cœurs de DSP

§  TI propose deux cœurs de DSP (fin 2001) §  C55x

•  Jusqu'à 0.05 mW/MIPS (20 MIPS/mW) •  Consommation du C54x diminuée de 85% •  5x les performances du C54x

§  C64x •  Jusqu’à 1.1 GHz, 9 GOPS •  Six ALUs (32-/40-Bit), une 32-Bit, deux 16-Bit, ou quatre 8-Bit

opérations arithmétiques par cycle •  Deux multiplieurs, quatre 16x16-Bit ou huit 8x8-Bit multiplications par

cycle •  Coprocesseurs VCP (Viterbi) et TCP (Turbo) •  'C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 MMACS

EII3/M2R - 123

C55x Architecture

§  C55x •  Dual MAC

§  C5510 •  160 MHz •  320 MIPS •  80mW •  4000 MIPS/W •  160 KW SRAM

§  C5502 •  400 MIPS •  160 mW •  2.5 MIPS/mW

EII3/M2R - 124

Very Long Instruction Word

§  Caractéristiques •  Plusieurs instructions par cycle, empaquetées dans une

"super-instruction" large •  Architecture plus régulière, plus orthogonale, plus proche

du RISC •  Jeu de registres uniforme, plus large

§  Exemples •  TI TMS320 C6xx •  Infineon Carmel •  ADI TigerSHARC •  StarCore SC140 (Lucent + Motorola)

Page 6: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 32

EII3/M2R - 125

Texas Instruments TMS 320C6x Series - VelociTI ‘C6200 CPU

MPY ADD MPY ADD MV STW ADD ADD

MPY ADD SHL SUB STW STW ADDK B

ADD LDW SUB LDW B MVK NOP NOP

MPY ADD MPY ADD STW STW ADDK NOP

256

Functional Unit

.L1

Functional Unit

.S1

Functional Unit

.M1

Functional Unit

.D1

Functional Unit

.D2

Functional Unit

.M2

Functional Unit

.S2

Functional Unit

.L2

Register File A Register File B

Data Memory Controller

Internal Memory

Data Address 1 Data Address 2

Fetch

Dispatch Unit

32x8=256 bits

L:ALU S:Shift+ALU M:Multplier D:Address U

EII3/M2R - 126

Texas Instruments TMS 320C6x Series - Features

§  Advanced VLIW CPU with eight functional units (RISC-like code) §  1600 MIPS @ 200MHz, 0.25µ CMOS §  1M-bit on-chip memory (512kbit data / 512kbit program) §  32-bit external memory interface §  Two enhanced-buffered serial ports (high bandwith telecom,

interprocessor com) §  16-bit host access port (Host processor access to on-chip data

memory) §  Flexible PLL clock generator (Multiplies ext. clock rate for 2 or 4

for maximum CPU performance) §  352-lead ball grid array package §  Price/1000: $135

EII3/M2R - 127

Texas Instruments TMS 320C6x Series - CPU §  Two sets of functional units including:

•  Two multipliers •  Six aritmetich logic units (ALUs) •  32 registers with 32-bit wordlength each •  data-addressing units .D1 and .D2 exclusively responsible for data

transfers between memory and the register files

§  8-/16-/32-bit data support §  40-bit arithmetic options (extra precision for vocoders...) §  Saturation and normalisation §  Bit-field manipulation and instruction: extract, set, clear, bit

counting.

EII3/M2R - 128

C64x

Page 7: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 33

EII3/M2R - 129 Les architectures clusterisées

Famille Lx (ST200) §  STmicroelectronics et Hewlett-Packard §  Famille Lx =

•  un cœur VLIW clusterisé, •  un cœur configurable, personnalisable, •  une chaîne de développement basée sur un compilateur ILP.

§  Personnalisable au niveau •  du nombre et des structures des Unités Fonctionnelles et

des registres, des mémoires (dont cache), •  du jeu d’instructions.

§  Processus de développement hautement automatisé pour la "customisation"

EII3/M2R - 130

Architecture du cœur

EII3/M2R - 131

Architecture d’un Cluster

EII3/M2R - 132

ST200

300MHz in 0.25m technology (2. 5V) 400MHz in 0.18m technology (1. 8V)

21mm2

Page 8: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 34

6. Solutions architecturales

4.3. Architectures reconfigurables

Solutions à base FPGA Chemins de données reconfigurables

EII3/M2R - 134

Architectures reconfigurables

§  Programmation du logiciel et du matériel §  Accélération d'une application par des "ASIC on-the-

fly" §  Architectures

•  FPGA, Data Path (DP), Processeurs

§  Granularité •  Grain fin (porte logique, LUT), grain moyen (DP)

§  Reconfiguration •  Statique ou dynamique

EII3/M2R - 135

Architectures reconfigurables

Image

Music Demult. Multiple

Access Channel Decoder

Demodul. Equalizer

Source Decoder

Voice

Processeur Processeur

Coprocesseur Reconfigurable

temps

Chaîne de réception

EII3/M2R - 136

Famille VIRTEX II

§  Nouveau design du CLB §  Bancs mémoire de plus grande

taille §  Multiplieurs intégrés (18x18

bits) §  Gestion des horloges par DCM

(Digital Clock Manager) §  Capacité de routage améliorée

(Active Interconnect Technology)

§  Cryptage du bitstream → sécurisation du système

§  1.5 volt

Page 9: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 35

EII3/M2R - 137

Famille VIRTEX II (1.5 volts)

§  Schéma d’un CLB sur FPGA VirtexII

1 CLB=4 SLICES

Matrice d’interconnexion

EII3/M2R - 138

Famille VIRTEX II (1.5 volts) §  Schéma d’un slice sur FPGA VirtexII

EII3/M2R - 139

Virtex 5 §  65 nm §  550 MHz clocking §  Performance-tuned IP blocks §  1100 DMIPS PowerPC 440

processor blocks with high-bandwidth, low-latency interfaces

§  528 GMACS from DSP48E slices

§  192 GFLOPS single-precision and 68 GFLOPS double-precision floating point DSP

§  1.25 Gbps LVDS I/O

EII3/M2R - 140

Famille VIRTEX II Pro

Architecture des Virtex II Pro

Bloc processeur des Virtex II Pro

§  Jusqu’à 4 blocs processeurs IBM PowerPC 405.

§  Fréquence de travail jusqu’à 300MHz.

§  Cœurs Rocket I/O Multi-Gigaset Tranceiver (transformation des données série-parallèle)

(Voir détail flot de conception en ANNEXE)

Page 10: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 36

EII3/M2R - 141

Famille VIRTEX II Pro

Caractéristiques des Virtex II Pro

EII3/M2R - 142

Famille Stratix Altera

EII3/M2R - 143

Famille Stratix Altera

EII3/M2R - 144

Stratix : Logic Element (LE)

Page 11: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 37

EII3/M2R - 145

Stratix : blocs DSP §  Multiplieurs 9x9 – 18x18 §  2 GMAC/s par bloc §  F = 250 MHz §  Utilisation

•  Rake •  VoIP •  OFDM •  Multimédia

EII3/M2R - 146

Mémoires

4 ports 2 ports 1 port

EII3/M2R - 147

Stratix Altera

Feature EP1S10 EP1S20 EP1S25 EP1S30 EP1S40 EP1S60 EP1S80 EP1S120 Logic Elements (LEs)

10,570 18,460 25,660 32,470 41,250 57,120 79,040 114,140

Total RAM bits

920K 1,669K 1,944 K 3,317K 3,423 K 5,215K 7,427K 10,118K

DSP Blocks

6 10 10 12 14 18 22 28

Emb. Mult

48 80 80 96 112 144 176 224

PLLs 6 6 6 10 12 12 12 12

EII3/M2R - 148

Ctrl maison

DPR DPR DPR DPR DPR

DPR DPR DPR DPR DPR

Contrôleur de tâche

Ctrl maison

FPGA

DPR DPR DPR DPR DPR

DPR DPR DPR DPR DPR

Mémoire de donnée L2

Mémoire inst° L2

Mémoire de

config. L2

Ctrl E/S

cluster1

cluster3 Mem L1 Cluster4

cluster2

Architecture DART (IRISA/ENSSAT)

§  Collaboration ENSSAT/STMicroelectronics

§  DART •  Haute performance •  Faible consommation

o  Peu d’instructions o  Peu d’accès mémoire

Page 12: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 38

EII3/M2R - 149

Ctrl Mem L1

FPGA

DPR

DPR

DPR

DPR

DPR

DPR

Ctrl DMA

Mem config.

L1

Contrôleur m

émoire

SB

SB

SB

SB

SB

Architecture d’un cluster de DART

EII3/M2R - 150

Architecture d’un DPR de DART

.

AG1

$D1

X

. . . . . . . . .

. . . . . . . . .

.

. . . . . . . . .

. . . . . . . . .

.

.

AG2

$D2

ALU

. . . . . . . . .

. . . . . . . . .

.

.

AG3

$D3

X

. . . . . . . . .

. . . . . . . . .

.

.

AG4

$D4

ALU

. . . . . . . . .

. . . . . . . . .

.

.

. . . . . . . . .

.

. . . . . . . . .

.

. . . . . . . . .

.

. . . . . . . . .

.

Bus globaux

. .

.

.

.

.

CB

EII3/M2R - 151

DART Architecture

§  5-10 GOPS/[email protected]µ §  300 mW @ 5 GOPS §  16 MOPS/mW @ 5 GOPS §  Delivered as an RTL model §  Circuit (ST 130nm) june 2005

Config Mem. FPGA

Ctrl DMA

Ctrl

RDP1

RDP2

RDP3

RDP4

RDP5

RDP6

Data. Mem.

Segmented N

etwork

reg reg FU1 FU2 FU3 FU4

Fully Connected Network

Data mem1

Data mem2

Data mem3

Data mem4

AG1 AG2 AG3 AG4

Loop Managment

n  3G/UMTS Mobile Terminal n  802.11a (Channel Est.)

n  STMicroelectronics n  CEA LIST/LETI

EII3/M2R - 152

Fresh Circuit (CEA) 4G mobile terminals Technology: ST 0.13µ CPU core: ARM946 4.8 Mgates Chip area = 80 mm2 Package: TBGA 420 Core power supply: 1.2 V

AHB

RAC

DART

EST

ARM9

TX

RX

ETH

RAM

Silicon prototype of DART §  Complex SoC including DART accelerator §  Collaboration between IRISA/Cairn on DART (architectural

design, synthesis, validation), CEA List (validation, integration), CEA Leti (integration, backend)

Page 13: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 39

EII3/M2R - 153

Chameleon Systems Inc. §  Architecture reconfigurable dynamiquement

•  reconfiguration partielle du circuit •  reconfiguration en 1 cycle •  CS2112 : 0.25u, 24 GOPS, 3 GMACS, 10W

7. Métriques de comparaison

Flexibilité, Performance, Efficacité énergétique

ASIC

FPGA

DSP

Flex

ibili

Inefficacité

Reconfigurable Processor MOPS / Watt

EII3/M2R - 155

Métriques de comparaison (1)

§  Performance (1) : temps requis pour réaliser un certain nombre de traitements •  MIPS (Millions of Instructions Per Second) •  ou MOPS (Millions of Operations Per Second)

o  Attention : le traitement réalisé par une instruction peut varier fortement d’un processeur à un autre (instructions très spécialisées)

o  Valable si les architectures à comparer sont très similaires (RISC)

•  MACS (Multiply-ACcumulate operations per Second) o  Plus réaliste dans le cas de DSP, il reste cependant à évaluer les

mouvements mémoire et les traitements avant et après l’instruction MAC

•  Solution : Algorithm Kernel Benchmarking

EII3/M2R - 156

BDTIMARK http://www.bdti.com Function Description Application ExamplesReal block finite impulse response (FIR) filter FIR filter that operates on a block of

real (not complex) dataG.728 speech encoding, other speech processing

Complex block FIR filter FIR filter that operates on a block of complex data

Modem channel equalisation

Real single-sample FIR filter FIR filter that operates on a single sample of real data

Speech processing, general filtering

Least-mean-square adaptive FIR filter LMS adaptive FIR filter that operates on a single sample of real data

Channel equalisation, servo control, linear predictive encoding

Infinite inpulse response (IIR) filter IIR filter that operates on a single sample of real data

Audio processing, general filtering

Vector dot product Sum of the pointwise multiplication of two vectors

Convolution, correlation, matrix multiplication, multidimensional signal processing

Vector add Pointwise addition of two vectors producing a third vector

Graphics, combining audio signals or images, vector search

Vector maximum Discovery of the value and location of a vector's maximum value

Error-control coding, algorithms using block floating-point arithmetic

Convolutional encoder Application of convolutional forward error-correction code to a block of bits

North American digital cellular telephone equipment (IS-54 standard)

Finite-state machine (FSM) A contrived series of control operations (test, branch, push, pop) and bit manipulations

Control operations appear in nearly all digital signal processing applications

256-point, radix-2, in-place fast Fourier transform (FFT)

FFt conversion of a normal time-domain signal into the frequency domain

Radar, MPEG audio compression, spectral analysis

Page 14: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 40

EII3/M2R - 157

BDTIMARK BDTImark

99

25

26

19

22

37

25

15

7

14

56

9

65

17

23

62

0 20 40 60 80 100 120

Texas Instruments TMS320C62x 200 MHz

Texas Instruments TMS320C54x 100 MHz

Texas Instruments TMS320C80 60 MHz

Analog device ADSP21xx 75 MHz

Lucent technologies DSP 16xx 120MHz

Lucent technologies DSP 16xxx 100MHz

Motorola DSP 563xx 100 MHz

Motorola DSP 566xx 60 MHz

ARM7 TDMI 80 MHz

ARM7 TDMI/picolo 70 MHz

Intel MMX Pentium 266 MHz

Texas Instruments TMS320C3x 80 MHz

Texas Instruments TMS320C67xx 167 MHz

Analog Device ADSP 2106x 60 MHz

Intel Pentium 200 MHz

Motorola - IBM PowerPC604e 333 MHz

Processeurs

Score EII3/M2R - 158

Métrique : performance/coût Algorithm Kernel Benchmarking (FFT [BDT June 1995])

0 10000 20000 30000 40000 50000 60000 70000

Cost-Time Product (µs$)

Analog Devices ADSP-2171

Analog Devices ADSP-21062

Lucent Technologies DSP 1627

Lucent Technologies DSP32C

Lucent Technologies DSP 3207

IBM MDSP2780

Motorola DSP56002

Motorola DSP56166

NEC µPD77015

Texas Instruments TMS320C209

Texas Instruments TMS320C31

Texas Instruments TMS320C44

Texas Instruments TMS320C52

Texas Instruments TMS320C541

Zoran ZR3800x

EII3/M2R - 159

Métrique : énergie

0

2

4

6

8

10

12

14

16

18

C549

C6201

DSP16210

ZSP16401

ADSP-21160

C6701

Virgule Fixe

Virgule Flottante

§  Filtrage numérique RIF

Wat

t-m

icro

seco

ndes

§  C549 •  100 MHz, 2.5V

§  C6201 •  200 MHz, 1.8V

§  DSP16210 •  100 MHz, 3.3V

§  ZSP16401 •  200 MHz, 2.5V

§  ADSP-21160 •  100 MHz, 2.5V

§  C6701 •  167 MHz, 1.8V

EII3/M2R - 160

Métriques de comparaison (2) §  Performances (2)

•  Efficacité énergétique = Op/J = MOPS/mW •  MOPS Fclk.Nop 1 mW Nop.Aop.Csw.Fclk.Vdd2 Aop.Csw.Vdd2 •  Efficacité par surface = MOPS/mm2

§  Figure de mérite [Chien00] •  Transistors MOPS bits mm2 mW s

§  Flexibilité

= =

Nop: Number of Operators Aop: Average Area of Op Csw: Switch Cap. / mm2

Page 15: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 41

EII3/M2R - 161

§  Four adaptive pilot correlators §  Die size: 3.38mm x 4.58mm §  Transistor Count: 0.4 million §  1.2-2.4 GOP with 25 MHz clock

ASIC

§  Implémentation la plus efficace •  Parallélisme, pipeline

§  e.g. 0.13um •  multiplieur : 0.015mm2, 5pJ/Op@1V •  50mm2 : 5000 add ou reg et 500 mult

§  Filtre adapté WCDMA (8.Fc, 32 taps) •  UMC 0.18um: 12ns, 10GOPS, 80mW, 0.08mm2

§  CDMA/MUD [Brodersen01]

EII3/M2R - 162

Processeur MIPS MHz Vdd Pmoy MIPS/Watt CoolRisc 14 14 3V 2.8 mW 5000 TMS C54x 30-200 30-200 1.8V 460 mW 1500-3000 TMS C6x 1600 200 2.5V 2 W 800 StrongARM 200 200 1.5V 420 mW 500 a 21164 1200 300 3V 60 W 20 a 21364 4000 1000 1.5V 100 W 40

Processeurs §  Performances

•  C6411: 300 MHz, $39, 1.0 V, 250mW, 2400 MIPS, 1200 MMACS, 9600 MIPS/W

•  C5510: 160 MHz, 320 MIPS, 80mW, 4000 MIPS/W •  C5502: 400 MIPS, 160 mW, 2500 MIPS/W

EII3/M2R - 163 [Ackland ISLPD98]

DSP vs GPP

§  Les DSPs sont efficaces en MIPS/mW et en MIPS/mm2

§  Cela se paye sur la flexibilité et la programmabilité

M68K $200

I286 $200 I386 $300

Pentium $500

Pentium MMX $700

DSP1 $150

DSP32C $250 DSP16A $15

DSP1600 $10 DSP16210 <$10

mW

/MIP

S

1

10

100

1000

10000

100000

1980 1985 1990 1995 2000

EII3/M2R - 164

Résumé des solutions DSP Core

RISC Core

FPGA Config. Cores

ASIC ASSP

Design Effort

B A D C A A+

Design Flexibility

E E B C A E

Run-time Flexibility

C B A C E E

Top Speed D E B C A A

Energy Efficiency

C D C B A A

A = Best, E = Worst

Page 16: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 42

EII3/M2R - 165

En conclusion

§  Flexibilité vs performances en efficacité énergétique

Embedded Processors SA110 0.4 MIPS/mW

ASIPs DSPs 2 V DSP: 3 MOPS/mW

Dedicated HW

Flexibility (Coverage)

Ene

rgy

Eff

icie

ncy

MO

PS/m

W (o

r M

IPS/

mW

)

0.1

1

10

100

1000

Reconfigurable Processor/Logic

Pleiades/DART 10-50 MOPS/mW

ASIC

Exemple : émetteur récepteur WCDMA

§  Prototypage d’un émetteur-récepteur WCDMA utilisé dans les télécommunications mobiles de troisième génération (3G) de type UMTS, sur un système intégré (SoC). §  Etudier la complexité globale et décider quel type de matériel à utiliser (ASIC, DSP, …) pour chaque bloc de cette chaîne de traitement.

EII3/M2R - 167

WCDMA §  Caractéristiques générales :

•  Le débit d’entrée des DATA est fixé à 3.84 106 échantillons par seconde. On appellera cette fréquence la fréquence chip Fc.

•  Le signal x'(n) en réception est suréchantillonné d’un facteur 4. On considérera donc que le débit du flot de données vaut 4.Fc.

•  Le signal d’entrée DATA est considéré comme complexe, composé d’une partie réelle et imaginaire, respectivement I(n) et Q(n). Il en est de même pour les codes c(n) et les porteuses p(n).

•  Les filtres RIF d’émission et de réception sont de taille N=128 :

•  Les modulation et démodulation consistent à multiplier le signal y(n) par une porteuse p(n). Ces algorithmes travaillent sur des données d’entrée avec un débit à la fréquence chip Fc.

∑−

=−=

1

0)()()( N

iinxihny

EII3/M2R - 168

WCDMA

§  Emetteur WCDMA

•  Donner la complexité en nombre d’additions et multiplications de chaque bloc de traitement.

•  En déduire la puissance de calcul en MOPS nécessaire à l’émetteur WCDMA.

Générateur de codes

Générateur de porteuse

Modulation Filtre DATA(n) x(n) y(n) s(n)

c(n) p(n)

Générateur de codes

Générateur de codes

Générateur de porteuse Générateur de porteuse

Modulation Modulation Filtre Filtre RIF

Page 17: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE

© Olivier Sentieys, ENSSAT-IRISA, 2011 43

EII3/M2R - 169

WCDMA

§  Récepteur WCDMA

•  Le Rake Receiver est principalement constitué de L=6 corrélateurs. Chaque corrélateur effectue une multiplication-accumulation sur le signal y’(n) par un code complexe c’i(n) qui lui est propre.

•  Donner la complexité en nombre d’additions et multiplications ainsi qu’en MOPS d’un corrélateur et du Rake Receiver.

•  En déduire la puissance de calcul en MOPS nécessaire au récepteur WCDMA.

e’(n)

DATA’(n) Rake Receiver

Générateur de porteuse

Démodulation

Rake Receiver

Générateur de porteuse Générateur de porteuse

Démodulation Démodulation Filtre RIF

x’(n) y’(n)

Complexité des opérations

Fréquence Puissance

calcul

Consommation

1 ASIC 0.18u ⊗ : 4ns ⊕ : 3 ns

⊗ : 130pJ/opération ⊕ : 40pJ/opération

2 DSP C54x ⊗ : 1 cycle ⊕ : 1 cycle

200 MHz 200 MIPS

120 mW

3 DSP C6x ⊗ : 2 cycles (latence) ⊕ : 1 cycle

200 MHz 1600 MIPS

1W

WCDMA

§  Etude d’une solution architecturale pour le système émetteur-récepteur •  Pour les 3 blocs de filtre RIF complexe, Rake Receiver et modulation-

démodulation, indiquer : o  pour un ASIC, le nombre d’opérateurs nécessaires ; o  pour chaque DSP, le nombre de processeurs nécessaires, indiquer si la

contrainte de temps peut être respectée ; o  pour les 3 architectures la puissance moyenne pour l’exécution du bloc.

WCDMA ASIC DSP C54x DSP C6x

FIR

MOD

RAKE

Page 18: 6. Solutions architecturales - Inriapeople.rennes.inria.fr/Olivier.Sentieys/teach/SoC2.pdf · Méthodologies de conception des systèmes sur puce ENSSAT EII et M2R SISEA/SE © Olivier

WCDMA ASIC DSP C54x DSP C6x

FIR

MOD

RAKE