Beruflich Dokumente
Kultur Dokumente
Etiemble
Architecture - Système
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
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.
Exercice 2
On considère une architecture à cache commun instructions et données, dont le jeu d’instructions est :
1
Licence Informatique – IFIPS3 C. Germain, D. Etiemble
Architecture - Système
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