Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Électronique de base du processeur
Architecture de machines Le microprocesseur
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Concepts d’architectures avancées
Les fractions.
Objectif de l’exposé.
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Parallélisme d’instructions
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.
Architecture Systèmes
2.Les différentes architectures (Louis)
8. Les tableaux P. Costamagna – ISEN N1.
Architecture de machines Le microprocesseur
Présentation Unité de codage
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
LES TABLES MN 90.
Parcours de formation SIN-7
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Gestion des branchements
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Découvrons le sens… caché derrière la multiplication
Introduction Objectifs du cours Évaluation Références
Hiérarchie de la mémoire
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline Les systèmes modernes utilisent tous des architectures pipelines – Pourquoi?
Les multiprocesseurs Jusqu’à maintenant, nous avons parlé longuement des microprocesseurs. Nous allons maintenant étudier les multiprocesseurs, comment.
Systèmes Superscalaires et VLIW
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Et maintenant, où allons-nous? Après toutes les techniques vues jusquici: Que peut-on faire.
Prévisions météorologiques, projections climatiques : que peut- on prévoir et avec quelle fiabilité ? Exercice 2: estimation de la prévisibilité dans le.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Parallélisme des instructions
Parallélisme des instructions
Architecture et technologie des ordinateurs II
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.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Synthèse logique: Quelques algorithmes et techniques La synthèse logique consiste en un très.
8INF856 Programmation sur architectures parallèles
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
Programmation linéaire en nombres entiers
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Les Machines RAM.
GF-11: Tri Interne Efficace et Tri Externe
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.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Superscalaires Comment peut-on déterminer de façon dynamique, au niveau du processeur,
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
INFOR 101 Chapitre 5 Marianne Morris.
Architecture et technologie des ordinateurs II
Additions et soustractions (4)
E. Le mécanisme de réaction
Patricia Renault UPMC 2005/2006
Pipeline 1 Amélioration des performances par la technique du pipeline.
Structures de données avancées : Principales structures de fichiers
Cours 5 - Trois algorithmes de tri d'un tableau
Post-optimisation, analyse de sensibilité et paramétrage
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Pipeline 1 Amélioration des performances par la technique du pipeline.
Opérations sur les nombres relatifs
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Files de priorité (Priority Queue)
Opérations sur les nombres relatifs
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
Opérations sur les nombres relatifs Chapitre 1 Classe de 4ème.
Complexité algorithmique
Gei 431 Architecture des ordinateurs II GEI Frédéric Mailhot 1. Introduction 2. Concepts de base du pipeline 3. Utilisation d'unités d'exécution.
Transcription de la présentation:

Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un pipeline simple, avec une seule unité dexécution. Comment peut-on ajouter de multiples unités dexécution, certaines utilisant plus dun coup dhorloge pour faire leurs calculs?

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles DLX plus complet: plus dunités dexécution Pour améliorer le DLX, nous allons maintenant considérer lajout de plusieurs unités dexécution à lALU initial: Unité daddition point flottant Unité de multiplication dentiers Unité de multiplication point flottant Unite de division

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Le DLX avec des unités dexécution multiples

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: Comment utiliser des opérations multicycles? Jusquà maintenant, nous navons considéré que des opérations sur les entiers dans lALU. Quarrive-t-il lorsquon incorpore des opérations à point flottant? Ou bien on allonge le cycle de lhorloge Ou bien on augmente la taille du circuit On bien on permet dintégrer des opérations multi- cycles dans le pipeline

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Le DLX avec des unité dexécution point flottant

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: intégration des opérations multicycles But: permettre à un opérateur point flottant dutiliser plus dun cycle dhorloge pour effectuer son travail Nous supposerons que lunité point flottant peut utiliser un nombre arbitraire de cycles (le nombre exact dépend du type dopération). Nous supposerons de plus quil peut y avoir plusieurs unités point flottant en parallèle

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: intégration des opérations multicycles (2) Nous définissons 2 termes: la latence et lintervalle démission Latence: durée de lopération totale par rapport à la durée dune opération ALU sur des entiers Intervalle démission (initiation interval): délai entre lémission de deux opérations du même type

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: unités multicycles Soient les 5 opérations suivantes: ALU entier, accès à la mémoire, addition FP, multiplication FP/entier, division FP, avec les paramètres suivants: Quelles sont les implications de ce tableau? LatenceIntervalle démission ALU entier01 Accès mémoire11 Addition FP31 Multiplication FP61 Division FP24

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: implications multicycles Toutes les opérations peuvent commencer une instruction par coup dhorloge, excepté la division. Celle-ci peut donc causer des problèmes structuraux (structural hazards). Dans ce cas, la seule solution est de faire des « stalls » Puisque les opérations sont de durée variable, il se peut que deux opérations atteignent létage décriture en même temps Il peut y avoir des problèmes de dépendance de données de type WAW Les instructions peuvent être complétées dans un ordre différent que lordre démission Puisque la latence est plus longue, il y aura plus de problèmes de type RAW

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline multicycle: solution à lécriture multiple Il est possible que deux instructions ou plus se terminent en même temps, et tentent décrire leurs résultats simultanément. Quoi faire? On pourrait ajouter des registres à plusieurs ports dentrée. On ajouterait beaucoup de matériel pour un cas relativement peu fréquent. Et il faudrait de toutes façons gérer lécriture simultanée au même registre Une meilleure solution est de détecter lutilisation simultanée (on peut le faire dès létage ID), et réserver lutilisation de létage décriture. Comment? En utilisant un registre à décalage pour réserver létage MEM. De cette façon, on peut faire un « stall » de lopération problématique au niveau du ID.

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline multicycles: sommaire du contrôle 1. Vérification de problèmes de structure (seulement avec le diviseur) 2. Vérification de problèmes de type RAW 3. Vérification de problèmes de type WAW

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Pipeline: quoi dautre? Que peut-on faire pour augmenter lefficacité des méthodes de pipeline? Dans le MIPS 4000, on a utilisé plus détages de pipeline (8 au lieu de 5). En répartissant les opérations sur plus détages, il est possible daugmenter la vitesse de lhorloge. Dans le R4000, on a ajouté des étages pour laccès à la mémoire. On appelle parfois cette technique le « superpipelining »

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Le MIPS R4000 Dans le MIPS R4000, les étages sont les suivants: IF / IS / RF / EX / DF / DS / TC / WB IF: première partie du « instruction fetch » (sélection du PC, début daccès) ID: deuxième partie du « instruction fetch » (lecture) RF: instruction decode, register fetch, cache hit? EX: unité dexécution DF: data fetch DS: deuxième partie de laccès à la mémoire (lecture) TC: cache hit? WB: write back

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles Le MIPS R4000 (2)

© 2001 Frédéric MailhotUniversité de Sherbrooke Systèmes pipelines multicycles La suite chez SGI