Club Informatique VINCI

Le C.I.V représente un groupement d'étudiants constituant le club informatique de la Grande École Marocaine de l'Informatique et des Réseaux du Télécom VINCI -Rabat-. (L'utilisation de Internet explorer 6/7 n'est pas recommandée, on vous propose Firefox)

Les forums du C.I.V attend vos propositions en ce qui concerne le graphique, les catégories, et les sections.

Connexion

Récupérer mon mot de passe

Sondage

Quel est votre antivirus préféré ?
16% 16% [ 4 ]
32% 32% [ 8 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
36% 36% [ 9 ]
0% 0% [ 0 ]
0% 0% [ 0 ]
8% 8% [ 2 ]
8% 8% [ 2 ]

Total des votes : 25

Qui est en ligne ?

Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun


[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 23 le Mer 17 Oct - 12:31

Statistiques

Nos membres ont posté un total de 1292 messages dans 373 sujets

Nous avons 437 membres enregistrés

L'utilisateur enregistré le plus récent est intellection


    Architecture pipeline

    Partagez
    avatar
    ELBADRI.Zakaria
    Administrateur
    Administrateur

    Messages : 141
    Points : 3559
    Réputation : -1
    Date d'inscription : 01/05/2009
    Age : 28

    Architecture pipeline

    Message par ELBADRI.Zakaria le Dim 9 Aoû - 8:41

    Principe
    L’exécution d’une instruction est décomposée en une succession d’étapes et chaque étape correspond à l’utilisation d’une des fonctions du microprocesseur. Lorsqu’une instruction se trouvedans l’une des étapes, les composants associés aux autres étapes ne sont pas utilisés. Le fonctionnement d’un microprocesseur simple n’est donc pas efficace.
    L’architecture pipeline permet d’améliorer l’efficacité du microprocesseur. En effet, lorsque lapremière étape de l’exécution d’une instruction est achevée, l’instruction entre dans la seconde étape de son exécution et la première phase de l’exécution de l’instruction suivante débute. Il peut donc y avoir une instruction en cours d’exécution dans chacune des étapes et chacun des composants du microprocesseur peut être utilisé à chaque cycle d’horloge. L’efficacité est maximale. Le temps d’exécution d’une instruction n’est pas réduit mais le débit d’exécution des instructions est considérablement augmenté. Une machine pipeline se caractérise par le nombre d’étapes utilisées pour l’exécution d’une instruction, on appelle aussi ce nombre d’étapes le nombre d’étages du pipeline.

    Exemple de l’exécution en 4 phases d’une instruction :


    Modèle classique :


    Modèle pipeliné :


    Gain de performance
    Dans cette structure, la machine débute l’exécution d’une instruction à chaque cycle et lepipeline est pleinement occupé à partir du quatrième cycle. Le gain obtenu dépend donc du nombred’étages du pipeline. En effet, pour exécuter n instructions, en supposant que chaque instructions’exécute en k cycles d’horloge, il faut :
    - n.k cycles d’horloge pour une exécution séquentielle.
    - k cycles d’horloge pour exécuter la première instruction puis n-1 cycles pour les n-1
    instructions suivantes si on utilise un pipeline de k étages
    Le gain obtenu est donc de :



    Donc lorsque le nombre n d’instructions à exécuter est grand par rapport à k, on peut admettre qu’on divise le temps d’exécution par k.
    Remarques :
    Le temps de traitement dans chaque unité doit être à peu près égal sinon les unités rapides doivent attendre les unités lentes.
    Exemples :
    L’Athlon d’AMD comprend un pipeline de 11 étages.
    Les Pentium 2, 3 et 4 d’Intel comprennent respectivement un pipeline de 12, 10 et 20 étages.

    Problèmes
    La mise en place d’un pipeline pose plusieurs problèmes. En fait, plus le pipeline est long, plus le nombre de cas où il n’est pas possible d’atteindre la performance maximale est élevé. Il existe 3 principaux cas où la performance d’un processeur pipeliné peut être dégradé ; ces cas de dégradations de performances sont appelés des aléas :
    - aléa structurel qui correspond au cas où deux instructions ont besoin d’utiliser la
    même ressource du processeur (conflit de dépendance),
    - aléa de données qui intervient lorsqu’une instruction produit un résultat et que
    l’instruction suivante utilise ce résultat avant qu’il n’ait pu être écrit dans un registre,
    - aléa de contrôle qui se produit chaque fois qu’une instruction de branchement
    est exécutée. Lorsqu’une instruction de branchement est chargée, il faut normalement attendre de connaître l’adresse de destination du branchement pour
    pouvoir charger l’instruction suivante. Les instructions qui suivent le saut et qui
    sont en train d’être traitées dans les étages inférieurs le sont en général pour rien,
    il faudra alors vider le pipeline. Pour atténuer l’effet des branchements, on peut
    spécifier après le branchement des instructions qui seront toujours exécutées. On
    fait aussi appel à la prédiction de branchement qui a pour but de recenser lors
    de branchements le comportement le plus probable. Les mécanismes de prédiction de branchement permettent d'atteindre une fiabilité de prédiction de l'ordre de 90 à 95 %.



    Lorsqu’un aléa se produit, cela signifie qu’une instruction ne peut continuer à progresse dans le pipeline. Pendant un ou plusieurs cycles, l’instruction va rester bloquée dans un étage du pipeline, mais les instructions situées plus en avant pourront continuer à s’exécuter jusqu’à ce que l’aléa ait disparu. Plus le pipeline possède d’étages, plus la pénalité est grande. Les compilateurs s’efforcent d’engendrer des séquences d’instructions permettant de maximiser le remplissage du pipeline. Les étages vacants du pipeline sont appelés des « bulles » de pipeline, en pratique une bulle correspond en fait à une instruction NOP (No OPeration) émise à la place de l’instruction bloquée.

      La date/heure actuelle est Mer 22 Nov - 6:03