cours pipeline

30
La technique du pipeline Génie Électrique 2 ème année ENIT 2008 – 2009 Bourguiba Riadh [email protected]

Upload: monta-sniper

Post on 03-Jul-2015

210 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cours Pipeline

La techniquedu pipeline

Génie Électrique 2ème annéeENIT 2008 – 2009Bourguiba Riadh

[email protected]

Page 2: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

2La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 3: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

31. Chemin critique ettemps de calcul

Considérons un circuit logique purement combinatoire

Lorsqu'on applique une donnée en entrée, un certain temps TA est

nécessaire avant de voir apparaître le résultat à la sortie.

Page 4: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

41. Chemin critique ettemps de calcul

Ce retard est dû à des phénomènes purement physiques :

Temps de commutation des transistors

Temps de propagation le long des lignes électriques

Il est imposé par le chemin critique du circuit, c'est à dire le chemin le plus lent qui existe entre les bits d'entrée et les bits de sortie.

En définitive, il constitue le temps de calcul, soit le temps nécessaire au circuit A pour calculer un résultat à partir d'une donnée présentée à l'entrée.

Page 5: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

5La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 6: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

62. Rendement théorique

Il est bien sûr possible de traiter un flot de données.

Les données sont alors présentées en séquence à l'entrée.

Page 7: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

72. Rendement théorique

Généralement, ont encadre le circuit combinatoire pour lui imposer une cadence de travail définie par une horloge clk.

Les données sont présentées à l'entrée avec la période T de clk.

Page 8: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

82. Rendement théorique

Le rendement du circuit A peut s'exprimer comme le temps de calcul rapporté à la période de l'horloge :

=T AT

Page 9: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

92. Rendement théorique

Il apparaît alors clairement qu'en réduisant T jusqu'à TA, le

rendement tend vers son maximum théorique, à savoir 1.

Dans ces conditions, le circuit travaille sans temps morts, donc 100% du temps.

Page 10: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

10La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 11: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

113. Influence des timingsd'une bascule D

Toutefois, ce rendement théorique ne peut être atteint, car il faut tenir compte des timings des bascules qui composent les registres

TSU

(set-up time) : délai minimum entre l'arrivée de la donnée à l'entrée et le front acif.

TH (hold time)     : délai minimum entre le front actif et la disparition de la donnée à l'entrée.

TCO

(clock to output time) : délai maximum entre le front actif et la stabilisation de la donnée en sortie.

Page 12: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

123. Influence des timingsd'une bascule D

Au temps de calcul (TA), il faut donc ajouter :

Le temps de stabilisation (TCO1

) de la donnée à l'entrée du circuit A, dû aux bascules du premier registre.

Le temps de pré-positionnement (TSU2

) du résultat à la sortie du circuit A, dû aux bascules du second registre.

Page 13: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

133. Influence des timingsd'une bascule D

Le rendement maximum du circuit s'écrit alors, en supposant que les bascules des deux registres ont les mêmes timings :

Ce rendement maximum est bien entendu inférieur au rendement maximum théorique qui vaut 1.

Toutefois, il peut s'en approcher sensiblement, si la fonction logique réalisée par le circuit A est complexe et demande un long temps de calcul (T

A grand devant T

SU et T

CO).

max=T AT

=T A

T SUT AT CO1

Page 14: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

14La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 15: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

154. Temps de cycle

Généralement, les outils de CAO définissent le temps de cycleminimum de l'horloge du circuit A comme la somme de ces trois temps :

Aussi dans la suite, nous ne raisonnerons plus qu'en termes de temps de cycle.

T CA=T SUT AT CO

Page 16: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

16La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 17: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

175. Pipeline et flot de données

Supposons maintenant qu'en plaçant un registre à l'intérieur du circuit A, il peut être découpé en deux circuits, B et C, présentant des temps de cycle égaux.

On appelle cette structure un pipeline, par analogie avec un pipeline réel. En effet, on peut imaginer que les circuits B et C sont deux conduites, que les registres sont des vannes de commande, et enfin que les données constituent le fluide.

On parle d'ailleurs de flot de données pour évoquer le passage continu de données à travers un circuit logique.

Page 18: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

185. Pipeline et flot de données

Ce pipeline possède deux étages clairement identifiables.

Deux étapes de calcul seront nécessaires.

Page 19: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

195. Pipeline et flot de données

Départ : Le pipeline est vide

Page 20: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

205. Pipeline et flot de données

1er cycle : La donnée d1B traverse B.

Page 21: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

215. Pipeline et flot de données

2ème cycle : La donnée d2B traverse B, la donnée d1

C traverse C.

Page 22: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

225. Pipeline et flot de données

3ème cycle : La donnée d3B traverse B, la donnée d2

C traverse C.

Page 23: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

23La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 24: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

246. Caractéristiques d'un pipeline

Temps de cycle minimum : Période d'horloge la plus courte possible. Elle est fixée par l'étage le plus lent.

Fréquence de travail maximum : Inverse du temps de cycle minimum. Elle est proportionnelle à la performance du circuit.

Latence de calcul : Temps nécessaire pour parcourir tous les étages du pipeline.

L=∑étages

T cycle

T min=Maxétages

T cycle

Fmax=1T min

Page 25: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

25La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 26: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

267. Analyse des performances

Analyse des performances : Exploration de tous les chemins combinatoires d'un circuit, afin d'identifier le chemin critique. Ce dernier permet de calculer le temps de cycle minimum, puis la fréquence de travail maximum et enfin d'en déduire les performances en terme de données traitées par unité de temps.

Nous allons montrer la supériorité du pipeline par rapport à une implémentation classique :

Supposons pour simplifier que le circuit A se découpe en deux circuits B et C présentant les mêmes temps de cycle.

Dans ce cas, les temps de cycles sont liés par la relation :

T CA=T CBT CC=2⋅T CB=2⋅T CC

Page 27: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

277. Analyse des performances

Calculons ces trois grandeurs dans le cas du circuit combinatoire sans et avec pipeline.

Sans pipeline(circuit A)

Avec pipeline(circuits B+C)

Période minimum

Fréquence maximum

Latence

T CA TCB=TCC=T CA2

1T CA

2T CA

T CA 2⋅T CB=2⋅T CC=T CA

Page 28: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

28La technique du pipeline

1. Chemin critique et temps de calcul

2. Rendement théorique

3. Influence des timings d'une bascule D

4. Temps de cycle

5. Pipeline et flot de données

6. Caractéristiques d'un pipeline

7. Analyse des performances

8. Conclusion

Page 29: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

298. Conclusion

Finalement, la version avec deux étages de pipeline est deux fois plus rapide que la version originale.

La latence globale ne varie pas entre les deux versions : il faut toujours autant de temps pour calculer complètement un résultat.

En revanche, la version avec pipeline traite deux données simultanément à chaque cycle dans des étages différents, alors que la version originale ne traite qu'une donnée par cycle.

Par conséquent, la version avec deux étages de pipeline est deux fois plus rapide que la version originale.

Page 30: Cours Pipeline

Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009

308. Conclusion

Ces résultats constituent une limite supérieure théorique :

TCB

et TCC

ne sont jamais parfaitement égaux.

Il existe quelques cycles d'amorçage et de vidange du pipeline au démarrage et à l'arrêt du système, pendant lesquels seulement certains étages du pipeline travaillent.

Si l'on emploie N étages de pipeline, alors on peut théoriquement améliorer la performance d'un même facteur N.

On cherchera donc à exploiter la technique du pipeline à chaque fois que cela sera nécessaire (respect des contraintes de temps réel) et possible (surface disponible et consommation acceptable).