Pipeline 1 Amélioration des performances par la technique du pipeline.

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes d’exploitation
Advertisements

Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Fonctionnement de l'unité centrale (rappels ? de 1ère Année)
Analyse des performances et réordonnancement. Énoncé 1.Donner le code assembleur de C=A+B 2.Évaluer le temps sur une archi monocycle 3.Donner le schéma.
Concepts d’architectures avancées
Plan du cours : 2ème Partie
Chapitre2 La technique du Pipeline
Objectif de l’exposé.
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
Aléas 1 Les aléas de données Jusquà présent toutes les instructions étaient indépendantes ; aucune dentre elles nutilisaient les résultats calculés par.
Performances 1 Objectifs : Comment mesurer, décrire et résumer les performances et décrire les principaux facteurs qui déterminent les performances dun.
Hiérarchie mémoire Contrôle Entrées Mémoire Chemin de données Sorties.
Parallélisme d’instructions
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
People want to do X, but computers can only do Y. This leads to a problem. My job is to explain how this problem can be solved.
Les aléas de données Jusqu’à présent toutes les instructions étaient indépendantes ; aucune d’entre elles n’utilisaient les résultats calculés par une.
Un programme Hello World du début des années #T OXXXXXX0 HELLO WORLD Ce programme ( en langage machine ) consiste en 3 lignes, totalisant 27.
Les éléments de mémorisation
Introduction Par définition, dans un modèle à cycle unique, le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge.
Ctlpipeline1 Le contrôle pipeline Pour spécifier le contrôle nous avons quà positionner les valeurs de contrôle à chacun des étages. Pour positionner le.
Le processeur Introduction Construction d ’un chemin de données
Le Concept du programme enregistré
Mémoire d'instructions adresse à lire Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr. Don.à lire Ins 31-0 Ins Ins Ins Ins
Architecture Systèmes
Auto Apprentissage Le DSP
Exécution en ordre partiel Une fois les instructions renommées, les seules dépendances qui subsistent entre instructions registre-registre sont les dépendances.
Architecture de machines Le microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
Mémoire cache ou antémémoire
Athapascan-1 Interface C++ de programmation parallèle
En quoi consiste la PROGRAMMATION ?
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Structure de la famille de DSP Motorola 56300
Architecture des Ordinateurs
LES SYSTEMES AUTOMATISES
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.
Systèmes Superscalaires et VLIW
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Parallélisme des instructions
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
J.-M. ADAM – D. BARDOU Fonctionnement de l'unité centrale.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
3-Présentation d’un µP simple
Les Machines RAM.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Étude de cas Maintenant qu’on a vu les pipelines, le superscalaire, le VLIW, la gestion des.
Traitement d’obsolescence TVM 430 Emulation logicielle de 3 XPC
MJ / EME 2006Architecture matérielle des systèmes microprogrammés Exemple de système microprogrammé Exemple de système microprogrammé Bus Bus de données.
Architecture et technologie des ordinateurs II
Exécution d ’un programme en 6809: Présentation du programme
Mémoire d'instructions adresse à lire Registres Reg.lect.1 R.D.1 R.D.2 Reg.lect.2 Reg.Ecr Ins 31-0 Ins Ins Ins Ins
Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties.
Patricia Renault UPMC 2005/2006
Pipeline 1 Amélioration des performances par la technique du pipeline.
Visualisation des flots optiques en 3D
Calcul mental.
Tour rapide d’un premier programme SPARC v9
Architecture des ordinateurs
M1Info-ASE 1 Pipeline logiciel. M1Info-ASE 2 Pipeline logiciel Le déroulage de boucle a ses limites Approcher des perf optimales  facteurs de déroulage.
Les bascules et registres
Processeur RISK R3000. PLAN - Processeur RISK R3000 Structure du processeur Structure du processeur Logique de contrôle Logique de contrôle Détection.
Formations Système Embarqué & Informatique Industrielle
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Département Informatique L’optimisation Laurent JEANPIERRE IUT de CAEN – Campus 3.
Systèmes à microprocesseur Les mémoires
La rédaction du mémoire Projet de Fin de Cycle 2016/2017.
Transcription de la présentation:

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