La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un."— Transcription de la présentation:

1 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?

2 © 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

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

4 © 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

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

6 © 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

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

8 © 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

9 © 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

10 © 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.

11 © 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

12 © 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 »

13 © 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

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

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


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

Présentations similaires


Annonces Google