Vous êtes sur la page 1sur 30

La technique

du pipeline
Génie Électrique 2ème année
ENIT 2008 – 2009
Bourguiba Riadh
riad.bourguiba@enit.rnu.tn
2
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
1. Chemin critique et 3
temps 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.

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


1. Chemin critique et 4
temps 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.
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
5
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
6
2. 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.

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


7
2. 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.

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


8
2. Rendement théorique
Le rendement du circuit A peut s'exprimer comme le temps de calcul
rapporté à la période de l'horloge :

TA
=
T

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


9
2. 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.
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
10
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
3. Influence des timings 11
d'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.

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


3. Influence des timings 12
d'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.

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


3. Influence des timings 13
d'une bascule D
Le rendement maximum du circuit s'écrit alors, en supposant que les
bascules des deux registres ont les mêmes timings :

TA TA
max = = 1
T T SU T AT CO

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 (TA grand devant TSU et TCO).
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
14
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
15
4. Temps de cycle
Généralement, les outils de CAO définissent le temps de cycle
minimum de l'horloge du circuit A comme la somme de ces trois
temps :

T CA =T SU T AT CO

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


temps de cycle.

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


16
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
17
5. 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.

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


18
5. Pipeline et flot de données
Ce pipeline possède deux étages clairement identifiables.

Deux étapes de calcul seront nécessaires.

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


19
5. Pipeline et flot de données
Départ : Le pipeline est vide

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


20
5. Pipeline et flot de données
1er cycle : La donnée d1B traverse B.

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


21
5. Pipeline et flot de données
2ème cycle : La donnée d2B traverse B, la donnée d1C traverse C.

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


22
5. Pipeline et flot de données
3ème cycle : La donnée d3B traverse B, la donnée d2C traverse C.

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


23
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
24
6. 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.

T min =Max T cycle


étages

Fréquence de travail maximum : Inverse du temps de cycle minimum. Elle est


proportionnelle à la performance du circuit.

1
F max =
T min
Latence de calcul : Temps nécessaire pour parcourir tous les étages du pipeline.

L= ∑ T cycle
étages

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


25
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
26
7. 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 CB T CC =2⋅T CB =2⋅T CC
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
27
7. Analyse des performances
Calculons ces trois grandeurs dans le cas du circuit combinatoire
sans et avec pipeline.
Sans pipeline Avec pipeline
(circuit A) (circuits B+C)

Période T CA
minimum T CA T CB =T CC =
2

Fréquence 1 2
maximum
T CA T CA

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

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


28
La 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
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
29
8. 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.
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009
30
8. 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).
Bourguiba Riadh - ENIT - Génie Electrique - 2008/2009