|
| Résumé de Guy ALIMI |
ARCHITECTURE PIPE LINE Principe Technique consistant à segmenter des opérations complexes en une séquence d'actions élémentaires. Chaque action élémentaire est effectuée au moyen d'un dispositif matériel spécifique. En suivant ce principe plusieurs instructions peuvent être traitées simultanément, mais à des niveaux de traitement différents, tout comme cela se passe pour le travail à la chaîne dans l'industrie. Exemple : On considère l'opérateur "processeur" que 1' on décompose des cinq segments suivants: S1. LI : lecture de l'instruction. S2. DI : décodage de l'instruction I lecture des registres. S3. EX : exécution I calcul de l'adresse effective. S4. MEM : accès mémoire. S5. ER : écriture du résultat. ![]() D'une façon générale, si l'opérateur est divisé en n segment, alors l'accélération attendue est égale à n. Accélération = débit d'instructions exécutée par l'UC sans pipeline / débit d'instructions exécuté par l'UC avec pipe line. Autre facteur d'efficacité: dans l'idéal, les différents étages du pipeline devront réclamer le même délai pour être traversés afin de rendre le flux des instructions le plus fluide possible. En effet, il est facile de comprendre que le "débit" d'un pipeline est directement lié à son segment le plus "lent". Par application de ce principe nous avons augmenté la capacité en MOPS (Millions d'OPérations par Seconde) du processeur. Afin de mettre en oeuvre ce principe nous devons pouvoir accéder simultanément à la mémoire en écriture et en lecture. Pour pouvoir effectuer ces deux opérations, la plupart des machines pipeline vont utiliser des mémoires caches pour les instructions et les données séparées : - LI à accès pour lire une instruction - ER à accès pour écrire une donnée (le résultat) Les problèmes liés à l'architecture pipe line -1. Pb liés au contrôle et à l'aiguillage du flot d'info. Le contrôle du flot d'informations est effectué en attachant à chaque information transférée d'une unité fonctionnelle à l'autre, un indicateur précisant l'opération à effectuer et la destination ultérieure du résultat. -2. Pb liés à la détection et au règlement des conflits de parallélisme. a)Conflit d'accès à une même unité. -Accès à une unité non pipe line déjà occupée à attente de l'unité amont que l'unité aval se libère. Mise en place d'une file d'attente entre les 2 unités. -Demande d'accès simultanés à Mise en place de file d'attente et de système de gestion de priorité. b)Conflits de Dépendance. -Dépendance de contrôle ou de procédures. Liés à la structure logique des programmes dont les instructions sont conçues pour s'enchaîner séquentiellement et non pour s'exécuter simultanément voire dans un ordre différent. = Branchement conditionnel . Les instructions postérieures à l'ordre de Branchement mais introduites dans le pipeline doivent être purgées puis charger le pipeline avec les instructions situées à l'@ du branchement à Le pipeline censé faire gagner du temps en fait perdre ce contretemps est d'autant plus important que le pipeline est profond. = référence à une même info avec modification de celle ci. |