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
[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
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é
[Meindl, ISPD04]
7Interconnexions : 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
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]
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
13
Eléments parasites des interconnexions
Résistance
Capacités
[ Ho 99]
14
Eléments parasites des interconnexions
Technologie 130nm
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
2Capacitance 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
217
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
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
cC L.W/tox s 1 s
cR L/(W.H) 1/s 1/s
2s
c/s
2R.C L
2/(H.tox) 1 1/s
2s
c2/s
2S : 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
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]
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
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]
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
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]
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
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
ddV
N2
σ
NModè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)
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
-710
-2Baisse de la tension d’alimentation
1.2V
0.7V 0.5V
High-Performance
Low-Power
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
39
Prise en compte des interconnexions
Modèle de puissance ou d’énergie
avec Nbit le nombre de bit du bus considéré, α
il’activité du bit i, C
swila capacité du fil i, V
ddla tension d’alimentation, V
swingla tension d’excursion, F
clkla 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
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]
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)
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
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
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
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]
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
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
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+2CcCode Book Cs+4Cc
Code 0 Code 1 Code 2
Cs+2Cc Cs+2Cc Cs+2Cc
x2
Shielding GND
Cs+2Cc x2Shielding AND
Cs+2Cc x2Duplication
Cs+2Cc x2Bus 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]
Spatial Switching
Cycle A1 A0
Switcht-1
0 1 0
t
1 0
1Cycle A1 A0
Switcht-1
1 0 0
t
0 1
1A1(t-1) XOR A1(t)
AND
A1(t-1) différent A1(t)
et
A0(t-1) différent A0(t) etA0(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
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
1X
nX
1X
nn fils m fils
(m<n)
n fils
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
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]
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
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
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
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)
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
creceiver
BER
ucChannel
small P
TXPA
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
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
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
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
-1010
-210
-483
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é »
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).
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.
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)