Pipeline 1 Amélioration des performances par la technique du pipeline
Pipeline 2 Amélioration des performances par la technique du pipeline temps
Pipeline 3 Amélioration des performances par la technique du pipeline temps
Pipeline 4 Amélioration des performances par la technique du pipeline temps
Pipeline 5 Amélioration des performances par la technique du pipeline temps
Pipeline 6 Amélioration des performances par la technique du pipeline temps
Pipeline 7 Amélioration des performances par la technique du pipeline temps
Pipeline 8 Le pipline
Pipeline 9 Amélioration des performances par la technique du pipeline
Pipeline 10 Les performances en terme de CPI CPI = 1 tps cycle = faible CPI = 1 tps cycle = faible
Pipeline 11 Amélioration des performances par la technique du pipeline CPI = 1 tps cycle = faible CPI = 1 tps cycle = faible
Pipeline 12 Plan Introduction Un chemin de données pipeliné Le contrôle pipeliné Les aléas de données Le contrôle pour les aléas de données : les suspensions Illusions et piège
Pipeline 13 Introduction La technique du pipeline est une technique de mise en oeuvre qui permet à plusieurs instructions de se chevaucher pendant l'exécution. Une instruction est découpée dans un pipeline en petits morceaux appelés étage de pipeline. La technique du pipeline améliore le débit des instructions plutôt que le temps d'exécution de chaque instruction. La technique du pipeline exploite le parallélisme entre instructions d’un flot séquentiel d’instructions. Elle présente l’avantage de pouvoir, contrairement à d'autres techniques d'accélération, être rendue invisible du programmeur.
Pipeline 14 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 15 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 16 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 17 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 18 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 19 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS
Pipeline 20 Introduction temps Ordre d'exécution des instructions lw $1,100($0) lw $2,200($0) lw $3,300($0) Extrac Inst RUAL Extrac Donnée R 40 NS Extrac Inst RUAL Extrac Donnée R 40 NS Extrac Inst Extrac Inst RUAL Extrac Donnée R 10 NS R Extrac Donnée lw $1,100($0) lw $2,200($0) lw $3,300($0) Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée
Pipeline 21 Le pipeline : parallélisme Extrac Inst RUAL Extrac Donnée R 10 NS R Extrac Donnée lw $1,100($0) lw $2,200($0) lw $3,300($0) Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée La technique du pipeline exploite le parallélisme entre instructions d’un flot séquentiel d’instructions.
Pipeline 22 Le pipeline : Séquentiel Extrac Inst RUAL Extrac Donnée R 10 NS R Extrac Donnée lw $1,100($0) lw $2,200($0) lw $3,300($0) Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée La technique du pipeline exploite le parallélisme entre instructions d’un flot séquentiel d’instructions.
Pipeline 23 Le débit + tôt que le tps Extrac Inst RUAL Extrac Donnée R 10 NS R lw $1,100($0) sub $2,$1,$1 add $3,$1,$0 Extrac Inst RUAL Extrac Donnée R 10ns R Extrac Donnée Extrac Inst RUAL Extrac Donnée R 10ns R
Pipeline 24 Un chemin de données pipeline La décomposition en cinq étages d’une instruction conduit à un pipeline à cinq étages, ce qui signifie que cinq instructions seront en cours d'exécution à chaque cycle d’horloge. Le chemin de données est divisé en cinq étages –EI : Extraction d’instruction –DI : Décodage d’instruction et extraction de registre –EX : Exécution et calcul d’adresse effective –MEM :Accès mémoire –ER : Écriture du résultat Chaque étage est séparé par des registres pipeline. Ils stockent toutes les données qui traversent les étages.
Pipeline 25 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Le pipeline Extraction Instruction Décodage Ins/ Extraction registre Exécution/ calcul adr Accès Mémoire Ecriture Résultat
Pipeline 26 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Le pipeline
Pipeline 27 Une vue simplifiée Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Extraction Instruction Décodage Ins/ Extraction registre Exécution/ calcul adr Accès Mémoire Ecriture Résultat MI RegReg MD UALUAL RegReg
Pipeline 28 une vue simplifiée du pipeline MI R eg MD UALUAL R eg Ordre d'exécution des instructions lw $1,100($0) lw $2,200($0) lw $3,300($0) MI R eg MD UALUAL R eg MI R eg MD UALUAL R eg temps en cycle d’horloge cc1 cc2 cc3 cc4 cc5 cc6 cc7
Pipeline 29 une vue simplifiée du pipeline MI R eg MD UALUAL R eg lw $1,100($0) lw $2,200($0) lw $3,300($0) MI R eg MD UALUAL R eg MI R eg MD UALUAL R eg MI R eg MD UALUAL R eg MI R eg MD UALUAL R eg
Pipeline 30 Exemple lw $10,9($1) sub $11,$2,$3
Pipeline 31 Exemple Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Extraction InstructionDécodage Ins Exécution MémoireEcriture Résultat
Pipeline 32 Exemple CC1 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Extraction Instruction lw $10,9($1)
Pipeline 33 Exemple CC2 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Extraction InstructionDécodage Ins sub $11,$2,$3lw $10,9($1)
Pipeline 34 Exemple CC3 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Décodage Ins Exécution sub $11,$2,$3lw $10,9($1)
Pipeline 35 Exemple CC4 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Exécution Mémoire sub $11,$2,$3lw $10,9($1)
Pipeline 36 Exemple CC5 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER MémoireEcriture Résultat sub $11,$2,$3lw $10,9($1)
Pipeline 37 Exemple CC6 Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Ecriture Résultat sub $11,$2,$3
Pipeline 38 FIN Registre lecture1 Registre lecture2 Registre écriture Donnée à écrire 0M10M1 0M10M1 ESES 0M10M1 CPCP R.Adr Mémoire I Donnée lue 1 Donnée lue 2 Adresse Lecture Adresse écrire Donnée à écrire Donnée lue 1M01M0 EI/DI DI/EX EX/MEM MEM/ER Extraction InstructionDécodage Ins Exécution MémoireEcriture Résultat
Pipeline 39 Des simulateurs