inf3500 : conception et implémentation de systèmes numériques pierre langlois la technique du...

12
INF3500 : Conception et implémentation de systèmes numériques http://creativecommons.org/licenses/by-nc-sa/2.5/ca/ Pierre Langlois La technique du pipeline

Upload: renaud-magnier

Post on 05-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

http://creativecommons.org/licenses/by-nc-sa/2.5/ca/

Pierre Langlois

La technique du pipeline

Page 2: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

La technique du pipelineSujets de ce thème

• Rappel• Architecture à pipeline pour un circuit numérique• Considérations pratiques• Stratégie pour pipeliner un circuit• Exemples

2

Page 3: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

La cafétéria pipelinée

Pipeline ajusté:1 client par stationpériode d’horloge 30 slatence 3 cycles = 90 sdébit 120 clients par heure

cabarets5 s

boissons10 s

plat principal

30 s

bar à salade

15 s

caisse15 s

Original:période d’horloge 75 slatence 1 cycle = 75 sdébit 48 clients par heure

cabarets5 s

boissons10 s

plat principal

30 s

bar à salade

15 s

caisse15 s

cabarets5 s

boissons10 s

plat principal

30 s

bar à salade

15 s

caisse15 s

Attente25 s

Attente20 s

Attente15 s

Attente15 s

Attente15 s

Pipeline naïf:1 client par stationpériode d’horloge 30 slatence 5 cycles = 150 sdébit 120 clients par heure

3

Page 4: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Architecture à pipeline pour circuit numérique

• Le pipeline est une technique puissante pour augmenter la fréquence d’horloge d’un système et son débit.

• La période minimale de l’horloge est donnée par :

• Pour diminuer Tmin, il faut réduire la somme des termes.– td, tsu (délai de propagation et de préparation des

bascules):Ces valeurs sont en général fixes.

– tcomb (délai de propagation de la logique combinatoire):Une architecture à pipeline s’attaque aux délais de la logique combinatoire en décomposant le chemin critique.

– tprop (délai de propagation des interconnexions):Il faut réduire la longueur des interconnexions en disposant judicieusement les composantes du sur le chemin critique.

4

supropcombd ttttT min

A

D

CLK

Q

F

D

CLK

QB

D

CLK

Q

C

D

CLK

Q

Page 5: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Architecture à pipeline pour circuit numérique

5

Supposons (td, tsu, tprop) = (2 ns, 1 ns, 0 ns)

Tmin = 2 + 8 + 0 + 1 = 11 nsTmin1 = 2 + 4 + 0 + 1 = 7 nsTmin2 = 2 + 4 + 0 + 1 = 7 ns

Tmin = 7 ns

Le pipeline vient avec une pénalité.On ne peut pas réduire Tmin de 50%. On ne peut pas réfuire ni td ni tsu.

A

D

CLK

Q

F

D

CLK

Q

3 ns

4 ns

4 ns

B

D

CLK

Q

C

D

CLK

Q

2 ns G

D

CLK

Q

A

D

CLK

Q

F

D

CLK

Q

3 ns

4 ns

4 ns

B

D

CLK

Q

C

D

CLK

Q

2 ns G

D

CLK

Q

P1

D

CLK

Q

P2

D

CLK

Q

P3

D

CLK

Q

supropcombd ttttT min

Page 6: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Le pipeline en pratique

• Le désavantage principal d’une architecture avec pipeline est son coût élevé en matériel.

• Quand on introduit un étage de pipeline il faut synchroniser tous les signaux de cet étage, même s’ils ne sont pas dans le chemin critique (p. ex., dans le circuit présent, de la bascule C à la porte NON-OU).

• Pour les FPGA, la présence d’une très grande quantité de bascules prédéfinies à l’intérieur des blocs de logique programmable rend possible et efficace l’utilisation d’architectures à pipeline.

• On ne peut réduire le délai td ni le temps de préparation tsu des étages de pipeline.

• Il faut bien balancer les nouveaux chemins. La fréquence maximale d’opération du circuit est limitée par le chemin le plus lent du circuit.

A

D

CLK

Q

F

D

CLK

Q

3 ns

4 ns

4 ns

B

D

CLK

Q

C

D

CLK

Q

2 ns G

D

CLK

Q

P1

D

CLK

Q

P2

D

CLK

Q

P3

D

CLK

Q

6

Page 7: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Le pipeline: stratégie

• Pour ajouter un étage de pipeline, on peut suivre la stratégie suivante:

1. Représenter le circuit avec les signaux qui vont de gauche à droite.

2. Si une boucle de rétroaction est présente, la décomposer en répétant le registre cible à la droite du registre source.

3. Identifier le chemin critique et placer un registre de façon à le couper en formant deux moitiés avec les délais les plus semblables possible.

4. Former une courbe verticale qui traverse le circuit et qui passe à travers du registre de pipeline ajouté.

5. Ajouter un registre de pipeline à chaque intersection de la courbe et d’un signal horizontal.

A

D

CLK

Q

F

D

CLK

Q2 ns

3 ns

2 ns

1 ns

B

D

CLK

Q

C

D

CLK

Q

tsu = 1ns

td = 2 ns

7

Page 8: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Exercice de pipeline #1

• Les bascules et les portes logiques INV, ET, OU et OUX ont des délais de propagation de 2, 1, 2, 2 et 3 ns, respectivement. Les bascules ont un temps de préparation de 1 ns.

• Insérez des registres de pipeline dans le circuit suivant pour atteindre une fréquence d’horloge de 140 MHz.

8

ARRÊTEZ LA VIDÉOET FAITES L’EXERCICE!

A

D

CLK

Q

F

D

CLK

QB

D

CLK

Q

C

D

CLK

Q

Page 9: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Exercice de pipeline #1

• Les bascules et les portes logiques INV, ET, OU et OUX ont des délais de propagation de 2, 1, 2, 2 et 3 ns, respectivement. Les bascules ont un temps de préparation de 1 ns.

• Une fréquence d’horloge de 140 MHz correspond à une période de 7.14 ns.

9

A

D

CLK

Q

F

D

CLK

QB

D

CLK

Q

C

D

CLK

Q

Page 10: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Exercice de pipeline #2

• Insérez des registres de pipeline dans le circuit suivant pour atteindre une fréquence d’horloge de 140 MHz.

10

A

D

CLK

Q

3 ns

4 ns

3 ns

1 nsB

D

CLK

Q

C

D

CLK

Q

4 ns

2 ns2 ns

2 ns3 ns F

D

CLK

Q

td = 2 ns, tsu = 1ns

ARRÊTEZ LA VIDÉOET FAITES L’EXERCICE!

Page 11: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Exercice de pipeline #2

• Une fréquence d’horloge de 140 MHz correspond à une période de 7.14 ns.

11

A

D

CLK

Q

3 ns

4 ns

3 ns

1 nsB

D

CLK

Q

C

D

CLK

Q

4 ns

2 ns2 ns

2 ns3 ns F

D

CLK

Q

td = 2 ns, tsu = 1ns

Page 12: INF3500 : Conception et implémentation de systèmes numériques  Pierre Langlois La technique du pipeline

INF3500 : Conception et implémentation de systèmes numériques

Vous devriez maintenant être capable de …

• Pipeliner un circuit numérique pour en augmenter le débit. Synchroniser correctement le pipeline en tenant compte du principe d’équilibre entre les chemins. Donner la nouvelle latence de calcul, le nouveau débit et les coûts. (B3)

12

Code Niveau (http://fr.wikipedia.org/wiki/Taxonomie_de_Bloom)

B1 Connaissance – mémoriser de l’information.

B2 Compréhension – interpréter l’information.

B3 Application – confronter les connaissances à des cas pratiques simples.

B4 Analyse – décomposer un problème, cas pratiques plus complexes.

B5 Synthèse – expression personnelle, cas pratiques plus complexes.