• Aucun résultat trouvé

Evolutions technologiques des interconnexions : impacts sur la conception des architectures SoC

N/A
N/A
Protected

Academic year: 2022

Partager "Evolutions technologiques des interconnexions : impacts sur la conception des architectures SoC"

Copied!
45
0
0

Texte intégral

(1)

Evolutions technologiques des interconnexions : impacts sur la conception des architectures SoC

Olivier Sentieys 1 IRISA/INRIA

Université de Rennes I - ENSSAT

sentieys@irisa.fr http://www.irisa.fr

1avec l’aide de J.M. Philippe, A. Courtay

2

Plan

  Introduction

 

Influence des interconnexions

 

Evolutions technologiques

  Aspects physiques des interconnexions intégrées

  Modèles de bruits

  Prise en compte des interconnexions

  Conclusion

(2)

[L. Ducousso, STMicroelectronics]

Systèmes sur puces

 

HDTV Set Top Box

 

Domain-specific SoC

 

Functionality is inside

 

Various applications and standards inside

 

MPEG2, H264, Satellite, Wifi, LAN, hard disk, …

 

65nm, 150 MTr

 

1 B$ mask set

 

60 weeks design

 

6-18 months lifetime

 

Heterogeneity

 

16 processors, 38 IPs

 

5-6000 MIPS

 

140 memory blocks

 

5 Gbytes/s on-chip interconnection network

 

HW: 5M RTL code lines

 

SW: 60M code lines

 

OS, Middleware, HAL, Firmware

®

Systèmes sur puces

 

System-on-Chip SoC

 

Network-on-Chip NoC

 

exemple : STm8000 (recordable dvd)

 

Problèmes liés aux interconnexions (fils)

 

Influence sur performances

et énergie

(3)

5

Systèmes sur puces

  Puissance du bus comparable à celle du processeur ou du cache et contrôleur mémoire

(200 Mhz)

[Lahiri04]

6

Interconnexions : quel challenge ?

 

Avec l’augmentation des performances et de la densité d’intégration, les éléments parasites dus aux

interconnexions tendent à dominer

 

Interconnexions locales courtes

 

Interconnexions globales, bus de communication

 

Fil combine plusieurs éléments parasites : capacités, résistances, inductances

 

Eléments parasites impactent fortement les

performances, la dissipation d’énergie et la fiabilité

(4)

[Meindl, ISPD04]

7

Interconnexions : les faits

 

Délais dus aux interconnexions 50% (CI) à 80% (FPGA)

 

Puissance induite (Cfils) et dissipée (Rfils)

 

Coût supplémentaire dû aux masques

 

8-12 pour les transistors, 18-24 pour les interconnexions

 

Interconnexions dominent ?

 

90nm

 

Temps de commutation intrinsèque d’un MOSFET : 5ps

 

Temps de réponse RC d’un fil de 1mm : 30ps

 

Energie due aux interconnexions ~x5 celle due aux transistors

 

35nm

 

1-à-100 pour le délai et 1-à-30 pour l’énergie

Traversée : 1/10 cycle d’horloge Délai fil/porte : 1

1 cycle d’horloge 1.5

5-10 cycles d’horloge

>5

Évolutions technologiques

(5)

9

Évolutions technologiques

  Délai portes et interconnexions

[ITRS2002]

10

Baisse de la tension d’alimentation

  Bruits d’alimentation et de substrat

  Vdd scaling → Rapport signal à bruit diminue

[© R. Rutenbar, CMU]

(6)

11

Plan

  Introduction

  Aspects physiques des interconnexions intégrées

 

Modèles : R, C, longueur, délai, cross-talk

 

Optimisation : longueur, délai, niveaux de métal

  Modèles de bruits

  Prise en compte des interconnexions

  Conclusion

Influences

 

Délai d’un fil (délai ~ L

2

)

 

Goulot d’étranglement sur les performances

 

Insertion optimal de répéteurs difficile

 

Problèmes de synchronisation globale

 

Energie d’un fil (énergie ~ L)

 

Coût énergétique de transmission d’un bit sur un fil long

 

Pour réduire le délai : utilisation de drivers et de répéteurs → augmente l’énergie…

 

Réduction de l’excursion de tension (voltage swing) : diminue l’énergie mais augmente le bruit et utilise des circuits non standards

 

Intégrité des signaux

 

Capacités de couplage entre fils adjacents

 

Bruit induit par fils d’alimentation

 

Difficulté de transmettre un bit d’information sur un fil long

H W

L

Cs

Cf

(7)

13

Eléments parasites des interconnexions

 

Résistance

 

Capacités

[ Ho 99]

14

Eléments parasites des interconnexions

  Technologie 130nm

(8)

15

Évolutions technologiques

  Scaling technologique à chaque génération

 

Scaling factor : s

 

Entre deux générations successives : s # 0.7

130 nm 90 nm 65 nm

Évolutions technologiques

  Scaling s (s < 1)

W, L, H, tox (gate, interconnect) s

Transistor area (W.L) s

2

Capacitance per unit area: Cox 1/s

C=W.L.Cox s

R= ρ L/(W.H) 1/s

Gate Delay (Vdd, Vt scaling) s

Local Wire Delay (R.C) 1

Constant Length (L) Wire Delay 1/s

2

(9)

17

Longueurs des interconnexions

  Longueurs moyennes

[Source: INTEL]

– Vitesse lumière 300 µ m/ps – Diagonale : 30 mm (21mm coté) – 100 ps

– 1 clock cycle @ 10GHz – En pratique 5-10 clock cycles

18

Longueurs des interconnexions

  Variations des paramètres (nm)

 

Distance inter-fil et hauteur des fils

Technologie 0.18um 0.13um 90nm 65nm 45nm Fil global Distance 1050 765 560 390 275

Hauteur 1050 880 670 480 350

Fil semi- global

Distance 640 465 340 240 165

Hauteur 640 512 408 300 223

Fil local Distance 500 375 265 180 130

Hauteur 350 275 225 170 135

(10)

19

Longueurs des interconnexions

  Interconnection Scaling

Paramètres Relation Local Wire

Constant Length

Global Wire

W, H, tox - s s s

L (wire) - s 1 s

c

C L.W/tox s 1 s

c

R L/(W.H) 1/s 1/s

2

s

c

/s

2

R.C L

2

/(H.tox) 1 1/s

2

s

c2

/s

2

S : scaling

S

c

: chip area scaling

[Rabaey04]

 

Réduire les délais

 

H des couches hautes

 

Cuivre

 

Répéteurs

Réduction des délais

Metal layers to reduce wire delay

in Intel's 65 nm CPUs

(11)

21

Réduction des délais

  Optimisation des connexions globales

[Source: INTEL]

Repeaters on the Itanium Die

22

Modèles de délai

  Modèle « RC » simple (lumped)

  Modèle « RC » distribué

[Rabaey2002]

(12)

23

Couplage capacitif (Crosstalk)

  Couplage capacitif entre fils adjacents

  Fil victime V et deux agresseurs A1 et A2

Cc = ε. L.H/S Cs = ε .L.W/T

H T

Crosstalk

 

Influence du crosstalk de plus en plus importante

 

Augmentation de la capacité de couplage liée à l’augmentation du rapport (aspect ratio) entre H et W

 

Rapprochement des fils pour diminuer la surface globale

 

Problèmes induis par le crosstalk

 

Bruit : une transition sur les agresseurs influence la victime

 

Création de bruit (spike) parasite qui peut provoquer des transitions non souhaitées de la victime et donc des erreurs

 

Délai : introduction d’un facteur de délai dû au couplage et aux transitions

 

Consommation : augmentation de la capacité effective du fil

victime

(13)

Crosstalk : temps de propagation

25

Ceff Transition patterns g

Cs (↑,↑,↑) (↓,↓,↓) 1

Cs+Cc (-,↑,↑) (-,↓,↓) (↑,↑,-) (↓,↓,-) 1+r Cs+2Cc (-,↑,-) (-,↓,-) (↓,↓,↑) (↑,↑,↓) (↑,↓,↓)

(,↑,↑) 1+2r

Cs+3Cc (-,↑,↓) (-,↓,↑) (↑,↓,-) (↓,↑,-) 1+3r

Cs+4Cc (↑,↓,↑) (↓,↑,↓) 1+4r

A1 V A2

Cs

Cc Cc

GND

GND GND

GND

Ceff : capacité du fil victime g : facteur de délai rcs = Cc/Cs

26

Crosstalk : temps de propagation

  Capacité effective induite (effet Miller)

1+4r

cs

( , , )

( , , ) Cs+4.Cc

1+3r

cs

( , , )

( , , ) ( , , )

( , , ) Cs+3.Cc

1+2r

cs

( , , )

( , , ) ( , , )

( , , ) ( , , )

( , , ) Cs+2.Cc

1+r

cs

( , , )

( , , ) ( , , )

( , , ) Cs+Cc

1 ( , , )

( , , ) Cs

g Transitions

Ceff

r

cs

~ 5 en 90nm [Khatri01]

(14)

27

Plan

  Introduction : évolutions technologiques

  Aspects physiques des interconnexions intégrées

  Modèles de bruits

 

Sources de bruits

 

Modèles de bruits et d’erreurs

  Prise en compte des interconnexions

  Conclusion

Problème de bruits dans un SoC

  Transmettre des informations sur des fils devient non déterministe et non fiable

  Source de bruits

 

Crosstalk

 

IR Drop, Ldi/dt Drop

 

Electromigration, soft errors

  Baisse de Vdd diminue le SNR

  Objectif : Tx/Rx sans erreur

 

Possible, mais coûteux

(15)

29

Bruit de crosstalk

  Signal induit par le phénomène de crosstalk sur le fil agressé

[Sicard2003]

30

Bruit de crosstalk

  Signal induit par le phénomène de crosstalk sur le fil agressé

Crosstalk Vs. length & Technology options

0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6

100 1000 10000

Length (µm)

Crosstalk (V)

COM3 H80 H81 H82

4000µm

0.25µm 0.18µm

2200µm

Limite d’erreur à Vdd/2

[Sicard2003]

(16)

31

IR Drop

 

Résistance non négligeable des fils d’alimentation

 

Courant important induit donc une altération du signal (bruit d’alimentation)

 

Effet maximum avec un pic d’intensité (commutation des horloges)

Vdd

R U=R.I

I Vdd-U

Ldi/dt Drop

  Inductance non négligeable des fils

 

Dépend des variations de courant lors des transitions

 

Phénomène de + en + important (Fclk↑)

  Bruit d’alimentation

Vdd U=Ldi/dt

i(t) Vdd-U

L

(17)

33

 

Modélisation du fil comme un canal bruité

 

Propriétés

 

Canal sans mémoire (pas d’interférence entre symboles)

 

Sources de bruit sommées gaussienne centrée,

variance

 

Seuil des récepteurs à

Emetteur + Récepteur

Bruit VN

Emetteur Récepteur

Vdd Fil Vdd

2 V

dd

V

N

2

σ

N

Modèle de bruit

34

0 Vdd/2 Vdd

Modèle de bruit

  Modélisation du bruit par une gaussienne (0, σ N )

 

Probabilité ε d’avoir une erreur sur un fil bruité par V

N

(0, σ

N

) alimenté par Vdd

 

Exemple : Vdd = 1.2V, σ

N

= 0.2V, ε = 10-3 soit une erreur toutes les 100ns à 100MHz!

[Hedge00]

x

Q(x)

(18)

35

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

10-25 10-20 10-15 10-10 10-5 100

Probabilité d’erreurs

σ

N

= 0.1

σ

N

= 0.2

σ

N

= 0.3 Taux d’erreurs binaire

10

-7

10

-2

Baisse de la tension d’alimentation

1.2V

0.7V 0.5V

High-Performance

Low-Power

(19)

37

Erreurs

 

Soft errors

 

Injection de charges dans le circuit

 

Le circuit est traversé par des particules chargées (rayonnement cosmique, particules alpha, ions)

 

Dépend de l’environnement (e.g. altitude, latitude) et de C.V

 

Influence importante sur les RAMs notamment

 

Electromigration

 

Un courant assez fort pendant une durée importante dans un fil peut provoquer le déplacement d’ions métalliques

 

Peut engendrer une coupure du fil et des court-circuits

 

Dépend de la température, du matériau utilisé et du courant moyen

38

Plan

 

Introduction

 

Aspects physiques des interconnexions

 

Modèles de bruits

 

Prise en compte des interconnexions

 

(1) Réduire la tension

 

(2) Diminuer l’activité

 

(3) Modulation

 

(4) Combattre le crosstalk

 

(5) Combattre le bruit des interconnexions

 

Conclusions

(20)

39

Prise en compte des interconnexions

  Modèle de puissance ou d’énergie

 

avec Nbit le nombre de bit du bus considéré, α

i

l’activité du bit i, C

swi

la capacité du fil i, V

dd

la tension d’alimentation, V

swing

la tension d’excursion, F

clk

la fréquence des transitions sur le fil

  Puissance statique peu impactée par les interconnexions

Prise en compte des interconnexions

 

Optimisation de la puissance ou de l’énergie

 

Diminuer un des paramètres suivants

 

Nbit : plus d’informations sur un fil (modulation)

 

α

i

: codage pour réduire l’activité

 

C

swi

: codage pour réduire l’effet du crosstalk, modulation

 

V

dd

, V

swing

: low-swing signaling, codes correcteurs d’erreurs

 

F

clk

: adaptation dynamique de la fréquence des transitions

(21)

41

(1) Réduire la tension

  Low-Swing Signaling

 

Réduire la tension d’excursion sur le lien

Architecture conventionnelle (CMOS)

42

Réduire la tension

in

VDD VDD

out CL

VDD

A B

P1 P2

N2 N 1 in2

N3 P3

VD D

ou t

CL

REFL

A B

P1 P2

N1 N3 N 2 VDD

in

P2 P1

N2 VDD

out REF

In

CL VDD

PREVDD N1 EVAL

A

P3 N3 d

CL

VDD VDD

out out_b

REF in

REF

in2 inb

P1 P2

N1 N2

VDD

out REF

In

CL Cc

REF

P1 P2

P3 N2 N3

A B

C REF2

P4

Symmetric Source-follow Driver and Level Converter (SSDLC)

Asymmetric Source-follow Driver and Level Converter (ADLC)

Level Converter with Low-Vt devices (LCLVD)

Capacitive-Coupled Level Converter (CCLC)

Pseudo-Differential Interconnect (PDIFF)

Level Converting Register (LCR)

P1

N2 VDD

N3 N1 clk

clk REF in

P5

N4

B A

d

clk REF P6

P2

P7 P3 P4

n1 n2

out GND

GND

[Zhang00]

(22)

43

Réduire la tension

Energy(PJ) Delay(ns) Energy•Delay (PJ •ns)

12

5.3*5.2 2.42.4 2.7

1.9 2.1

3.0*

2.42.6 2.52.6 2.4

25

15* 12

6 4.6

7.0 6.3

Vdd=2.0 V, C

L

=1 PF

*: These are normalized numbers.

LCLVD CCLC ADLC SSDLC CMOS LCR PDIFF LCLVD CCLC ADLC SSDLC CMOS LCR PDIFF LCLVD CCLC ADLC SSDLC CMOS LCR PDIFF

[Zhang00]

Tracks frequency and regulates voltage of the link to

the minimum required

Réduire la tension

  Adaptation dynamique de la tension

 

DVS link

 

21mW at 1Gb/s to 197mW at 3.5Gb/s (10X)

(23)

45

Réduire la tension

  History-Based DVS Use of utilization counters to predict future

communication traffic based on past link utilization

[Shang03]

46

(2) Diminuer l’activité

  Encodage de l’information pour réduire l’activité

 

Statique ou adaptative

Activité des signaux

à émettre Activité

du bus

Activité des signaux reçus

> <

Décodeur

Codeur

(24)

47

Techniques nombreuses

 

Quelques publications….

 

GRAY code

 

BUS INVERT code

 

XOR code

 

T0 code

 

T0_VAR code

 

Code book

 

PARTIAL BUS INVERT

 

Working zone

 

T0_BI code

 

Dual_T0 code

 

Dual_T0_B1 code

 

T0_XOR code

 

OFFSET code

 

OFFSET_XOR code

 

T0_OFFSET code

 

T0_XOR_OFFSET code

 

BEACH code

 

PYRAMID code

 

Gating

 

Segmenting

 

Codage de bus

  GRAY code : 1 transition / cycle [Su94, Su95]

 

Bus d’@

 

Encodeur

 

g(i) = b(i) xor b(i+1)

 

Décodeur

 

b(i) = g(i) xor (g(i+1) xor (…xor g(n)))

b0 b1 b2 b3

g0 g1 g2 g3

g0 g1 g2 g3

b0

b1

b2

(25)

49 Bus

(n+1) bits Bus

n bits Bus

n bits Hamming

Distance

Registers Clock

Encoder Decoder

INV

Codage de bus

  BUS INVERT code [Stan95]

 

Bus de données

 

Ajout d’un fil (INV)

50 Ancienne valeur

Ancienne valeur

Encoder Decoder

Clock

Clock Bus

n bits Bus

n bits Bus

n bits

Ancienne valeur

Ancienne valeur

Encoder Decoder

Clock

Clock Bus

n bits Bus

n bits Bus

n bits

- +

Codage de bus

  PARTIAL BUS INVERT code [Shin98b]

  XOR code

  OFFSET code

(26)

51 Ancienne valeur

Ancienne valeur +1

+1 1

0 1

0

Ancienne valeur Ancienne valeur

=

?

Bus n+1 bits

INC Bus

n bits

Bus n bits

Encoder

Decoder +S

+S

Codage de bus

 

T0 code [Benini97b]

 

No transition when incremental @

 

T0_VAR code [Fornaciari00]

 

Most frequent distances

Ancienne valeur Ancienne valeur Ancienne valeur Ancienne valeur Ancienne valeur Ancienne valeur Ancienne valeur Ancienne valeur

Hamming distance min

Bus

n bits Bus

n bits Bus

n bits

code num

Encoder Decoder

Codage de bus

  Codebook code [Komatsu99]

(27)

53

Codage de bus

 

Pyramid code [Chen00]

 

access to DRAM (mux row,line)

 

Working zone [Mussol97] & [Mussol98]

 

access to zone in memory

 

Beach code [Benini97] & [Benini98]

 

only for cyclic code

 

Mixed techniques

 

access to multiplexed address bus [Benini98c]

 

T0_BI

 

T0 instruction @ access, BI data @

 

Dual_T0

 

T0 instruction @ access (SEL = 1), T0 data @ (SEL = 0)

54

Codage de bus

 

Mixed cascaded techniques [Fornaciari00]

 

T0_XOR: T0 followed by XOR

 

OFFSET_XOR: OFFSET followed by XOR

 

Mixed techniques for instruction @ bus [Fornaciari00]

 

T0_OFFSET

 

T0 when incremental @

 

OFFSET in other cases

 

T0_XOR_OFFSET

 

T0_XOR when incremental @

 

OFFSET in other cases

(28)

55

  Résultats

 

Instruction @ bus [Fornaciari00]

Codage de bus

Codage de bus

  Résultats contradictoires

 

Modèle réaliste des interconnexions

 

Longueur des fils importantes (15-100mm) pour

justifier la puissance dissipée par les codecs

(29)

57

Shielding GND / Vdd

Partial Bus Invert

Technique Activité Capacité Délai Energie Surface

Cs+2Cc

Cs+4Cc

Modification dimensions

Cs+4Cc’

Code de Gray

Cs+2Cc

Code Book Cs+4Cc

Code 0 Code 1 Code 2

Cs+2Cc Cs+2Cc Cs+2Cc

x2

Shielding GND

Cs+2Cc x2

Shielding AND

Cs+2Cc x2

Duplication

Cs+2Cc x2

Bus Invert Cs+4Cc

Code T0

Cs+3Cc Cs+3Cc

[Courtay08]

Codage de bus

58

g % apparition

0 66.9%

1 2.4%

1+r 6.2%

1+2r 12.7%

1+3r 10.8%

1+4r 1.0%

 Optimiser sur les LSB

3.5 11.5 22.9 33.9 44.3 48.9 49.9 50.0 B7 B6 B5 B4 B3 B2 B1 B0

MSB LSB

Activité en %

Consommation (B0 + B1 + B2) = 55% (total) Consommation (B0 + B1 + B2 + B3) = 71% (total) Consommation (B0 + B1 + B2 + B3 + B4) = 84% (total)

  Ne pas se focaliser sur 1+4r

[Courtay08]

(30)

Spatial Switching

Cycle A1 A0

Switch

t-1

0 1 0

t

1 0

1

Cycle A1 A0

Switch

t-1

1 0 0

t

0 1

1

A1(t-1) XOR A1(t)

AND

A1(t-1) différent A1(t)

et

A0(t-1) différent A0(t) et

A0(t-1) XOR A0(t) AND

A1(t) différent A0(t)

A1(t) XOR A0(t)

[Courtay08]

Spatial Switching

1 0 1 0 R

R

1 0 1 0

Codeur

Décodeur

0 0

0 1 0 0

1 0

1 0

0 1

0 1

0 1

0 1

0 1

A1 A0 0 0

t0 0 0 1

0 1

t1 0 1 1

1 0

t2 0 1 0

S1 S0 Switch

1 0

t3 0 1 0

0 1

t4 0 1 1

(31)

Spatial Switching

  Accroissement des gains avec les sauts technologiques

  Accroissement des gains avec les couches de métal

  Accroissement des gains avec la longueur du bus

  Diminution des gains avec la taille des transistors Pourcentage de gain

62

(3) Plus d’informations sur un fil

  Modulation d’amplitude

Encodeur Décodeur

Signal multi-valué

001010... 001010...

110010... 110010...

Vswing

X

1

X

n

X

1

X

n

n fils m fils

(m<n)

n fils

(32)

63

Lien ternaire

  Contexte asynchrone ou GALS

1 0 1 1 0 0

MSB

LSB RZ

double-rail

RZ

ternaire T0

V0 V1

V2

MSB LSB T0

0

0 0

0

0 1

1 1 2

Double rail

E. D.

Synch D. Synch

ternaire E.

ternaire

Signal multi-valué

Lien ternaire

  Encodeur/décodeur faible puissance

[ ]

( )

(

12 0 1 0 22 0 2 0 1 2 1 1 2 0

)

( ) ( ) ( ) ( ) . .

. ( ) . ( ) . . ( )

dyn out in

P emetteur C emet C L C recep f

V P

T V P

T V V V P

T

= + +

+ + −

MSB

T0 Vdd V1

LSB

A

Masse

MSB MSB

T0 Vdd V1

LSB A

Masse

MSB MSB

T0

M SB

LSB P+

N - N + P- 1

2 -0.2V

-0.8V 0.2V 0.8V

(33)

 

Consommation 55% plus faible pour un fil de 10mm

65

0 50 100 150 200 250

1 2 3 4 5 6 7 8 9 10

Longueur du fil en mm

Energie consommée en pJ

Lien ternaire (encodeur 2) Lien binaire dual-rail

Lien ternaire

66

20 30 40 50 60 70 80 90 100 110 120

1 2 3 4 5 6 7 8 9 10

Longueur du fil en mm

Energie consommée en pJ

Lien quaternaire (encodeur 4) Lien binaire

Lien quaternaire

 

Codage 2 bits vers un symbole quaternaire

 

Réduction de la surface des fils (~2)

 

Réduction en consommation de plus de 40%

 

Délai : 1.2ns pour 1mm, 3.2ns pour 5mm

MSB LSB Q0

00 0

0 0

11

11 123

[Philippe05]

(34)

67

Plan

 

Introduction

 

Aspects physiques des interconnexions

 

Modèles de bruits

 

Prise en compte des interconnexions

 

(1) Réduire la tension

 

(2) Diminuer l’activité

 

(3) Modulation

 

(4) Combattre le crosstalk

 

(5) Combattre le bruit des interconnexions

 

Conclusions

  Objectifs : diminuer le couplage capacitif

  Solutions statiques

 

Jouer sur les dimensions

 

Compromis espacement, hauteur, surface totale

 

Isoler les fils sensibles (low-swing signaling) des fils agresseurs (full-swing)

 

Blindage (shielding) Masse (G) ou Vdd (V)

 

Duplication des fils

(4) Combattre le crosstalk

V

G A2

A1

G B2

B1

V

A1 A2

A1

B1 B2

B1

(35)

69

Combattre le crosstalk

 

Dense Wire Fabric : …VSGSVS…

  Solution par transcodage

 

Codage pour éviter les transitions au pire cas

 

Dynamique, dépend des données

 

Codage spatial

 

Codage temporel

70

Signal skewing

 

Retarder la transition de certaines lignes du bus pour éviter les transitions simultanées

 

Bus construit par alternance de signaux normaux et de signaux retardés

 

Stabilisation des signaux du bus plus rapide

 

Gestion délicate

[Hirose00]

; Q

; Q

; Q

' pFDODJH GH

; QSDUUDSSRUW j VHVYRLVLQV

(36)

71

Nombre variable de cycles

Ceff Transitions Groupe

0 (X , ,X) 1

Cs ( , , ) ( , , ) 2

Cs+Cc ( , , ) ( , , ) ( , , ) ( , , ) 3 Cs+2.Cc ( , , )

( , , )

( , , )

( , , ) ( , , ) ( , , )

4

Cs+3.Cc ( , , ) ( , , ) ( , , ) ( , , ) 5

Cs+4.Cc ( , , ) ( , , ) 6

  Classement des transitions selon 6 catégories en fonction de la capacité exhibée

[Li04]

Nombre variable de cycles

  Classement des transitions selon 6 catégories : X-analyzer

  Adaptation du nombre de cycles requis pour la transmission

 

Groupe 1-3

 

1 cycle

 

Groupes 4, 5, 6

 

2, 3, 4 cycles

 

Gain jusqu’à 30%

Latch Previous data X-Analyzer

Latch

Sender Interconnect

Ready_in

Data

Generator

clk

Ready_out

(37)

73

Codage pour diminuer le crosstalk

 

Codage spatial

 

N bits → N+M bits

 

Enlever les transitions des groupes 4 à 6

 

Augmentation de la surface (60-200%)

 

Optimalité : codage Fibonacci (redondant)

 

Codage temporel

 

Orienté paquets de données

[Duan01] [Victor01]

[Philippe06]

 

Surface ~ constante

 

Bande passante : +12%

à +35%

 

Energie : 0% à -13%

 

Utilisation possible de la redondance

[Mutyam04, Duan08]

74

0.5 1 1.5 2 2.5 3 3.5 4

10-25 10-20 10-15 10-10 10-5 100

Vdd (V) B

E R

0.2 0.3

0.4

(5) Combattre les erreurs

 

Codes correcteurs d’erreurs (ECC)

 

Exemple : Hamming (38,32)

 

Conception simple

 

6 bits redondants

 

Corrige toutes les erreurs sur un seul bit

 

Détecte toutes les erreurs sur deux bits

 

Lien à 100 Mbit/s avec BER=10 -8 (1 err/s)

 

Améliore BER=10

-15

(5 err/an) avec un coût limité

 

Améliore non-détection à 3.10

-17

(1 err/10 ans)

(38)

75

  NoC vu comme un « canal bruité »

 

Théorie de l’information

 

Détection des erreurs : retransmission

 

Codes correcteurs d’erreurs

 

Modulation/démodulation

+

noise

DMOD DEC1 BER

c

receiver

BER

uc

Channel

small P

TX

PA

Canal de communication

[Shanbhag04]

Codes correcteurs d’erreurs

  Bus Amba cache → mémoire

 

Single Parity Bit (PAR)

 

Error Detection (ED)

 

Single Error Correction (SEC) : H(38,32)

 

SEC-Double Error Detection (DED)

 

Gestion des retransmissions (ARQ)

 

Optimiser l’énergie par bit utile

 

Gains jusqu’à 2

 

Détection meilleure que corrections (!)

 

Méthode adaptative

(39)

77

Interconnexion « CDMA »

  Partage du médium par l’utilisation de codes PN ou orthogonaux

[Xu03] [Philippe05b]

 

Tolérance au bruit

 

Réduction de Vdd

 

Redondance

 

Etalement de spectre

 

Utilisateur = code

 

Broadcast

 

Niveaux multiples

78

Conception de liens optimisés

[Shanbhag04]

Délai Puissance

Robustesse Lien d’un

NoC

Longues interconnexions

et crosstalk Capacité effective

(propre+crosstalk)

Bruit des interconnexions Low-swing

Codes contre le crosstalk

Codes de contrôle d’erreur

Codes basse consommation

(40)

79

Schéma de codage unifié

 

CAC: non-linear & linear; LPC: non-linear; ECC: linear

 

Framework: Non-linear outer codes. Linear inner codes.

 

New practical joint codes: LPC-ECC, CAC-ECC, LPC-CAC-ECC

 

Energy Savings: 31%; Speed-up = 1.87X;

Nonlinear

CAC LPC

ECC

k n

m n

Linear CAC Linear

CAC

p pc

mc

[Sridhara04]

D éphas age entre les s ignaux pairs et im pairs

E n co d e u r D é co d e u r

P a rité

Suréchan- tillonnage et com paraison

P a rité D épha-

sage

Codage conjoint crosstalk-error

  Décalage des signaux : crosstalk

  Parités temporelles et spatiales

P é rio d e d e

tra n sm issio n P é rio d e d e

ré ce p tio n

S ig n a u x u tile s (6 4 b its )

B its d e p a rité (2 b its )

P a rité s u r le s b its

P a rité s u r le s b its B its d u

m o t 1 B its d u

m o t 2

(41)

81

( , , ) ( , , )

Codage conjoint : performances

  Vitesse

 

Accélération de 2.3

  Consommation

 

15 fJ/bit pour l’encodeur

 

17.5 fJ/bit pour le décodeur

 

489 fJ/bit pour un fil de 10mm

  Détection d’erreur (mot de 8 bits)

 

Amélioration conséquente de la tolérance au bruit

  Probabilité d’erreur résiduelle

 

écart-type de 0.2V

82

P a rité N o tre s y s tè m e B u s o rig in a l

0.4 0.6 0.8 1 1.2 1.4 1.6

1.1017 1.1016 1.1015 1.1014 1.1013 1.1012 1.1011 1.1010 1.10 9 1.10 8 1.10 7 1.10 6 1.10 5 1.10 4 1.10 3 0.01 0.1 1

PariteBus32b ( )t Paritenormale ( )t Probnormale ( )t

t Probnorm ale ( )1 =0.048611

P ro b a b ilité d ’e rre u r ré s id u e lle s u r

u n m o t

T e n s io n d ’a lim e n ta tio n (V )

Codage conjoint : détection d’erreurs

[Philippe06c]

10

-10

10

-2

10

-4

(42)

83

Conclusions

 

Fil combine plusieurs éléments parasites

 

Capacités : couplage entre fils augmente, fils longs

 

Résistances : temps des fils globaux, distributions des alimentations

 

Inductances : bruit d’alimentation, effet ligne de transmission commence à jouer un rôle

 

Interconnexions dans les technologies récentes

 

Dominent performances et énergie

 

Apparition d’erreurs sur les liens liées au bruit et à la réduction de Vdd

Conclusions

  Plus d’informations sur un fil

  Codage pour réduction de l’activité

  Codage pour combattre le couplage

  Réduction de la tension

  Interconnexions vues comme un « canal de communication bruité »

 

Techniques issues de la théorie de l’information

 

Canal peu connu en pratique

  Vers un codage « unifié »

(43)

85

Challenges

 

NoC : approche par modèle de réseau en couche

 

Gestion performances / énergie / robustesse

 

Challenges algorithmiques et architecturaux

 

Caractérisation du canal, modèles bruit et erreur

 

Codages adaptés, tolérances aux erreurs

 

Architectures tolérantes aux bruits et aux erreurs

 

Challenges circuits et physiques

 

Modèles physiques adaptés aux technologies récentes

 

Techniques de circuits tolérantes aux bruits/erreurs

 

Conception d’interconnexions efficaces (couche physique)

 

Modulation, égalisation, RF, optique ?

86

Bibliographie

NOC

  [Coppola04] M. Coppola, R. Locatelli, G. Maruccia, L. Pieralisi, A. Scandurra , Spidergon: a novel on-chip communication network, International Symposium on System-on-Chip, 2004, 16-18 november 2004, pp 15.

  [Benini02] L. Benini, G. De Micheli, Networks on Chips: A new SoC Paradigm, IEEE Computer, Volume 35, Issue 1 (January 2002) pp. 70 - 78.

  [Goossens02] K. Goossens, J. Van Meerbergen, A. Peeters, R. Wielage, Networks on silicon: combining best effort and guaranteed services, IEEE/ACM Design, Automation and Test in Europe Conference and Exhibition, DATE 2002, 4-8 March 2002, pp. 423.

  [Millbekg04] M. Millberg, E. Nilsson, R. Thid, A. Jantsch, Guaranteed bandwidth using looped containers in temporally disjoint networks within the Nostrum network on chip, IEEE/ACM Design, Automation and Test in Europe Conference and Exhibition, DATE 2004, 16-20 February 2004, pp 20890.

Modèles

  [ITRS2003] International Technology Roadmap for Semiconductors, 2003, http://public.itrs.net/Files/

2003ITRS/Home2003.htm

  [PTM] Predictive Technology Model, UC Berkeley, http://www.eas.asu.edu/~ptm/

  [Dally98] W. J. Dally, J. W. Poulton, Digital Systems Engineering, Cambridge University Press (June 28, 1998).

(44)

87 Modèles

  [Hedge00] R. Hegde, N. R. Shanbhag, Toward achieving energy efficiency in presence of deep submicron noise, IEEE Transactions on VLSI Systems, Volume 8, Issue 4, pp. 379 - 391, 2000.

  [Meindl03] James D. Meindl, Interconnect Opportunities for Gigascale Integration, IEEE Micro 23(3): 28-35 (2003).

  [Theis00] T.N. Theis, The future of interconnect technology, IBM J. Res. Develop., vol. 44, No 3, May 2003. http://www.research.ibm.com/journal/rd/443/theis.pdf

  [Horowitz99] M. Horowitz and R. Ho and K. Mai, The Future of Wires, In Invited Workshop Paper for SRC Conference. Available at http://velox.stanford.edu/, May 1999.

  [Ho01] R. Ho, K. Mai and M. Horowitz, The Future of Wires, Proc. of the IEEE, 89(4), 490-504, 2001.

  [Lahiri04] K. Lahiri and A. Raghunathan, Power analysis of system-level on-chip communication architectures, IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pages 236-241, 2004.

Erreurs

  [Shanbhag04] Naresh R. Shanbhag, Reliable and Efficient System-on-Chip Design, IEEE Computer, March 2004 (Vol. 37, No. 3), pp. 42-50.

  [Bertozzi02] D. Bertozzi, L. Benini, G. De Micheli, Low power error resilient encoding for on-chip data buses, IEEE/ACM Design, Automation and Test in Europe Conference and Exhibition, DATE 2002, 4-8 March 2002, pp. 102 -109.

  [Li03] L. Li, N. Vijaykrishnan, M. Kandemir, M. J. Irwin. Adaptive Error Protection for Energy Efficiency, Proceedings of the IEEE/ACM International Conference on Computer Aided Design (ICCAD-2003), San Jose, CA, November 2003, pp. 2-7.

  [Sridhara04] S. R. Sridhara and N. R. Shanbhag, Coding for system-on-chip networks: a unified framework, IEEE/ACM Design Automation Conference, DAC 2004, June 2004, pp 103-106.

Bibliographie

Bibliographie

Codage

  [Su94] C.L. Su, C. Y. Tsu and A. M. Despain, Saving power in the control path of embedded processors, IEEE Design & Test of Computers,11, 24-31, 1994.

  [Stan95] M.R. Stan and W. P. Burleson, Bus-Invert Coding for Low-Power I/O, IEEE Trans. on Very Large Scale Integration (VLSI) Systems, 3(1), 49-58, 1995.

  [Kretzschmar04] Kretzschmar, C., Nieuwland, A. K., and Müller, D. 2004. Why Transition Coding for Power Minimization of On-Chip Buses Does Not Work. In Proceedings of the Conference on Design, Automation and Test in Europe - Volume 1, February 16 - 20, 2004.

Low-Swing

  [Zhang00] H. Zhang, V. George and J. M. Rabaey, Low-Swing On-Chip Signaling Techniques:

Effectiveness and Robustness, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 8(3), 264-272, 2000.

  [Shang03] Li Shang, Li-Shiuan Peh and N.K. Jha, Dynamic voltage scaling with links for power optimization of interconnection networks, International Symposium on High-Performance Computer Architecture, Page(s):91-102, 8-12 Feb. 2003.

(45)

89

Bibliographie

Crosstalk

  [Khatri00] S. P. Khatri, R. K. Brayton, and A. L. Sangiovanni-Vincentelli, Cross-Talk Noise Immune VLSI Design using Regular Layout Fabrics. Kluwer Academic Publishers, 2001.

  [Hirose00] K. Hirose and H. Yasuura, A Bus Delay Reduction Technique Considering Crosstalk, in DATE’00: Proceedings of the conference on Design, automation and test in Europe. IEEE Computer Society, 2000, p. 441.

  [Victor01] B. Victor and K. Keutzer, Bus Encoding to Prevent Crosstalk Delay, in ICCAD’01: Proceedings of the International Conference on Computer-Aided Design (ICCAD ’01). IEEE Computer Society, 2001, p.

57.

  [Duan01] C. Duan and A. Tirumala, Analysis and Avoidance of Cross-Talk in On-Chip Buses, in HOTI ’01:

Proceedings of the The Ninth Symposium on High Performance Interconnects. IEEE Computer Society, 2001, p. 133.

  [Li04] L. Li, N. Vijaykrishnan, M. Kandemir, and M. J. Irwin, A Crosstalk Aware Interconnect with Variable Cycle Transmission, in DATE ’04: Proceedings of the conference on Design, automation and test in Europe. IEEE Computer Society, 2004

  [Philippe06b] J.M. Philippe, S. Pillement, O. Sentieys, Area Efficient Temporal Coding Schemes for Reducing Crosstalk Effects, IEEE International Symposium on Quality Electronic Design, ISQED 2006, San Jose, USA, March 2006.

Autre

  [Xu03] Z. Xu et al., A 2.7 Gb/s CDMA-Interconnect Transceiver Chip Set with Multi-Level Signal Data Recovery for Re-configurable VLSI Systems, IEEE ISSCC 2003.

  [Philippe05] JM. Philippe, S. Pillement, O. Sentieys, A Low-Power and High-speed Quaternary Interconnection link using Efficient Converters, IEEE ISCAS, Kyoto, Japan, May 2005.

  [Philippe06a] J.M. Philippe, E. Kinvi-Boh, S. Pillement, O. Sentieys, An Energy-Efficient Ternary Interconnection Link for Asynchronous Systems, IEEE ISCAS, Khos Island, Greec, May 2006.

  [Felicijan03] T. Felicijan and S. B. Furber, An Asynchronous Ternary Signaling System, IEEE Transactions On Very Large Scale Integration (VLSI) Systems, Volume 11, Issue 6 (December 2003), pp 1114-1119.

90

Bibliographie

 

Digital Systems Engineering by William J. Dally, John W. Poulton, Cambridge University Press (June 28, 1998)

 

Digital Integrated Circuits (2nd Edition) by Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nikolic, Prentice Hall, 2nd edition (December 24, 2002)

 

Principles and Practices of Interconnection Networks by William James

Dally, Brian Patrick Towles, Morgan Kaufmann (December 18, 2003)

Références