Licence Informatique – IFIPS3 C. Germain, D. Etiemble Architecture - Système 1

Licence Informatique – IFIPS3 C. Germain, D. Etiemble Architecture - Système 1 TD 7 : Aléas des pipelines Exercice 1 On considère une architecture RISC possédant 4 types d’instructions : - A = arithmétiques et logiques : registre- registre - C = chargement : lecture mémoire - R = rangement : écriture mémoire - B = branchement. Les branchements conditionnels se font sur code condition Cette architecture a deux implantations, l’une avec le pipeline P1 dont les phases sont décrites table I et l’autre avec le pipeline P2 qui est décrit table II. Dans les deux cas, la mémoire d’instructions et la mémoire de données sont séparées. LI Lecture de l’instruction DI Pour toutes les instructions, décodage de l’instruction et lecture des opérandes registre. Pour les types C et R, calcul de l’adresse mémoire Pour le type B, calcul de l’adresse de branchement EX Pour le type A, opération UAL. Pour le type R, lecture du 3ème opérande. Pour les types C et R, accès mémoire RR Rangement du résultat arithmétique (A) ou de la lecture (C) dans le banc de registres. Table I: le pipeline P1 LI1 Début lecture de l’instruction LI2 Fin lecture de l’instruction DI Décodage de l’instruction et lecture des opérandes registre EX Pour le type A, opération UAL. Pour le type R, lecture du 3ème opérande. Pour les types C et R, calcul de l’adresse mémoire. Pour le type B, calcul de l’adresse de branchement M1 Pour les types C et R, début accès mémoire M2 Pour les types C et R, fin accès mémoire RR Rangement du résultat arithmétique (A) ou de la lecture (C) dans le banc de registres. Table II : le pipeline P2 1) On suppose qu’il n’existe pas de mécanisme d’anticipation (by-pass). Pour chacun des deux pipelines, indiquer le nombre de suspensions nécessaires entre deux instructions successives suivant leur type (sauf B). On ne considérera pas les problèmes de propagation de cette suspension aux instructions suivantes. 2) Même question en supposant que tous les mécanismes d’anticipation possibles ont été implémentés. 3) Quelle est la durée du délai de branchement pour P1 et pour P2 ? 4) Quelles ont les ressources matérielles nécessaires aux deux pipelines ? Exercice 2 On considère une architecture à cache commun instructions et données, dont le jeu d’instructions est : Licence Informatique – IFIPS3 C. Germain, D. Etiemble Architecture - Système 2 Mnémonique codop action ADD 0000 Rd ← Ra + Rb SUB 0001 Rd ← Ra - Rb ADI 0100 Rd ← Ra + ES(imm) SUBI 0101 Rd ← Ra - ES(imm) LD 0010 Rd ← Mem (Ra + Rb) LDI 0110 Rd ← Mem (Ra + ES(imm)) ST 0011 Rd → Mem (Ra + Rb) STI 0111 Rd →Mem (Ra + ES(imm)) BA 1000 CP ← CP + ES(imm) 1) Un pipeline à cinq étages (LI, DI, EX, MEM, RR) est-il utile ? 2) Proposer un pipeline d’exécution, qui permette la lecture du registre Rd pendant la phase EX des instructions de rangement, en supposant que le banc de registre n’admet que 2 accès simultanés en lecture. 3) Donner la liste des aléas de données de ce pipeline, sans anticipation et avec anticipation. Exercice 3 On ajoute le support pour les opérations UAL registre-mémoire au pipeline RISC classique à cinq étages. Pour compenser cette augmentation en complexité, l’adressage mémoire est limité au mode indirect par registre (i.e., toutes les adresses sont simplement la valeur contenue dans un registre: Aucun déplacement ne peut être ajouté à la valeur du registre). Par exemple, l’instruction registre-mémoire ADD R4, R5, (R1) signifie ajouter le contenu du registre R5 au contenu de la case mémoire dont l’adresse est égale à la valeur dans le registre R1 et ranger la somme dans le registre R4. Les opérations UAL registre-registre. sont inchangées Répondre aux questions suivantes pour le pipeline RISC entier. 1) Donner un ordre réarrangé des cinq étages traditionnels du pipeline RISC qui pourrait supporter les opérations registre- mémoire implémentées en utilisant exclusivement l’adressage indirect par registre. 2) Indiquer le nombre de suspensions nécessaires entre deux instructions successives suivant leur type en supposant que tous les mécanismes d’anticipation nécessaires ont été implantés sur ce pipeline réarrangé. . 3) Lister toutes les cas pour lesquelles le pipeline RISC avec les opérations UAL registre-mémoire peut avoir un nombre d’instructions différent pour un programme donné de celui du pipeline RISC originel. Donner deux séquences spécifiques d’instructions, une pour le pipeline originel et une pour le pipeline réarrangé, pour illustrer chaque cas uploads/Litterature/ td-7-aleas-des-pipelines-exercice-1-table-i-le-pipeline-p1.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager