Rappel : 1. Lecture d’instruction : - Charger le 1er mot d'instruction de la
Rappel : 1. Lecture d’instruction : - Charger le 1er mot d'instruction de la mémoire principale vers le registre d'instruction. Décodage : - Lecture éventuelle des autres mots d'instruction (selon le format). - Ces valeurs sont stockées dans l'unité centrale dans des registres internes (registre d'opérande et de données). Recherche d’opérandes : - Accès aux registres (si mode registre). - Calcul d’adresse et recherche d’opérandes mémoire (si mode mémoire). Exécution : - Calcul dans l’ALU pour les instructions arithmétiques ou logiques. - Calcul de l’adresse de branchement pour les instructions de contrôle. Ecriture résultat : - Modification de l’opérande destination pour les instructions arithmétiques ou logiques. - Modification de PC pour les instructions de contrôle. 2. Technique de pipeline : La figure ci-dessous montre que l’exécution d’une instruction peut être décomposée en plusieurs phases qui s’exécutent indépendamment les unes des. Dans notre exemple l’exécution est ainsi décomposée en 4 phases, chaque phase étant prise en charge par une unité fonctionnelle différente, créant ainsi un pipeline à 4 étages. Dans notre exemple la phase k de l’instruction i s’exécute en même temps que la phase k – 1 de l’instruction i + 1, que la phase k – 2 de l’instruction i + 2, etc. Dans le cas idéal chaque phase est réalisée en un cycle d’horloge et si une instruction peut être décomposée en n phases alors n instructions peuvent être exécutées en parallèle. Ainsi pour notre pipeline à 4 étages si le cycle horloge est de 2 nanosecondes, alors il faut 8 nanosecondes pour exécuter une instruction et cette machine. EX1. Pipelining égal Un processeur non pipeliné possède un temps de cycle de 10 ns. Quels seront les temps de cycle des versions pipelinées du processeur avec un pipeline de 2, 4, 8 et 16 étages, si la logique de chemin de données est répartie de manière égale entre les étages du pipeline (on considère que le temps de stabilisation après le passage dans chaque étage est de 0,5 ns) ? En outre quel est le temps d’exécution d’une instruction complète pour chacune des versions pipelinées ? Correction : En appliquant cette formule, on obtient des temps de cycle de 5,5, 3, 1,75 et 1,125 ns. Pour calculer le temps d’exécution d’une instruction complète, il suffit de multiplier le temps de cycle par le nombre d’étages du pipeline, ce qui donne 11, 12, 14 et 18 ns. EX2. Pipeline et fréquence d’horloge Pour le processeur de l’exercice précédent, combien d’étages de pipeline sont requis pour atteindre un temps de cycle de 2 ns ? Combien en faut-il pour un temps de cycle de 1 ns ? Correction : En manipulant l’équation précédente, il vient : L’application de cette formule nous indique que 6,67 étages de pipeline sont nécessaires pour atteindre un temps de cycle de 2 ns. Ce résultat est arrondi à 7 dans la mesure où un nombre entier d’étages doit être implémenté. La même formule indique que 20 étages sont nécessaires pour atteindre un cycle d’horloge de 1 ns. uploads/Litterature/ ex1-pipeline.pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 19, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.0838MB