Next: Les aléas
Up: Pipeline de base
Previous: Pipeline à 3 étages
Appliquons ce principe à la machine RISC décrite plus haut.
Les 5 phases doivent être rendues
indépendantes. Toute information issue d'un étage et devant être
utilisée par l'étage suivant doit être
mémorisée dans un registre servant d'interface entre les étages.
On obtient ainsi le fonctionnement décrit par le tableau suivant :
cycle d'horloge |
1 |
2 |
3 |
4 |
5 |
6 |
étage LI |
inst 1 |
inst 2 |
inst 3 |
inst 4 |
inst 5 |
inst 6 |
étage DI |
|
inst 1 |
inst 2 |
inst 3 |
inst 4 |
inst 5 |
étage EX |
|
|
inst 1 |
inst 2 |
inst 3 |
inst 4 |
étage MEM |
|
|
|
inst 1 |
inst 2 |
inst 3 |
étage ER |
|
|
|
|
inst 1 |
inst 2 |
Quelques remarques :
- 1.
- l'emploi de deux caches spécialisés se révèle judicieux :
chaque mémoire est sollicitée à chaque cycle. Cela n'aurait pas
été possible si un seul cache contenant données et instructions
avait été utilisé ;
- 2.
- le bloc registres doit permettre deux lectures (registres sources
pour l'étage DI) et une écriture (résultat pour l'étage ER)
dans le même cycle. Un problème survient si l'écriture
concerne un registre accédé en lecture ;
- 3.
- le multiplexeur de sélection du registre CP
a été déplacé de l'étage MEM vers l'étage LI. L'exécution
à l'étage LI peut dépendre de la présence dans l'étage MEM
d'une instruction de branchement compliquant le fonctionnement
du pipeline.
Next: Les aléas
Up: Pipeline de base
Previous: Pipeline à 3 étages
Patrick Marcel
2001-01-24