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é.
Gestion de FICHIERS.
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
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 ?
Architecture de base d’un ordinateur
Gestion des Périphériques
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.
Décomposition et paramétrage des algorithmes
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
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.
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
Gestion des Périphériques
Exécution d ’un programme en 6809: Présentation du programme
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
Visualisation des flots optiques en 3D
Calcul mental.
Pipeline 1 Amélioration des performances par la technique du pipeline.
Tour rapide d’un premier programme SPARC v9
Architecture des ordinateurs
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 Amélioration des performances par la technique du pipeline

Pipeline 9 Amélioration des performances par la technique du pipeline CPI = 1 tps cycle = faible CPI = 1 tps cycle = faible Objectifs :

Pipeline 10 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 11 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 12 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS

Pipeline 13 Introduction temps Ordre d'exécution des instructions lw $1,100($0) Extrac Inst RUAL Extrac Donnée R 40 NS

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) 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

Pipeline 19 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 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 Extrac Inst RUAL Extrac Donnée R 10 NS R Extrac Donnée

Pipeline 20 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 21 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 22 Une vue simplifiée MI RegReg MD UALUAL RegReg

Pipeline 23 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 24 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 25 Exemple lw $10,9($1) sub $11,$2,$3

Pipeline 26 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 27 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 28 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 29 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 30 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 31 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 32 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 33 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