Vous êtes sur la page 1sur 4

Travaux Dirigés N°3

Exercice 1 :
1/ MIPS est une architecture registre-registre, où la source arithmétique et les destinations doivent tous
les deux être des registres. Mais Pensons à inclure une instruction d’addition de mémoire- registre

addm rd, rs, rt RTL : rd = rs + Mem[rt]

En plus, le registre rt contient une adresse mémoire qui est lue pour produire l'opérande de l'ALU. Le
format d'instruction est donné par

Il est possible d'inclure addm dans un processeur multicycle en modifiant le chemin de données et
l'unité de contrôle présentés en classe. Votre implémentation d'addm ne devrait pas nécessiter plus de
cinq étapes pour l'exécution, et vous devriez Veillez à ne modifier aucun registre autre que rd

a/ Le chemin de données multicycle apparaît ci-dessous. Afficher les modifications nécessaires pour
prendre en charge addm. Essayer de garder Votre diagramme propre

b/Complétez ce diagramme de machine à états finis pour l'instruction addm. Les valeurs de contrôle
non représentées dans chaque étape Sont supposés être 0. N'oubliez pas de tenir compte de tous les
signaux de contrôle que vous avez ajoutés ou modifiés dans la question précédente
2/ Considérant l'extension de l'architecture MIPS avec l'instruction ci-dessous, qui charge deux mots
consécutifs de données de la mémoire et les stocke dans deux registres de destination.

ld rt, rd, rs RTL : rt = Mem[rs]; rd = Mem[rs + 4]

Cela utilisera le même format que les instructions de type R, présentées ici à titre de référence (shamt
et func ne sont pas utilisés)

a/ Le chemin de données multicycle apparaît ci-dessous. Montrez quels changements sont nécessaires
pour prendre en charge ld. Vous devriez Modifier les principales unités fonctionnelles elles-mêmes
(mémoire, banc de registre et ALU), mais vous pouvez autres changements ou ajouts nécessaires.
Essayez de garder votre diagramme propre!
b/ Compléter ce diagramme de machine à états finis pour l'instruction ld. Les valeurs de contrôle non
représentées dans chaque étape sont supposées être 0. N'oubliez pas de tenir compte de tous les
signaux de contrôle que vous avez ajoutés ou modifiés dans la question précédente

Vous aimerez peut-être aussi