TD 3 – Architecture des Ordinateurs
Manipulation d’un banc de registres Licence Informatique 3
`emeAnn´ee – UPPA
Les registres sont des mots m´emoires plac´es au cœur du CPU. Ils sont en petit nombre mais tr`es rapides et sont utilis´es soit pour g´erer le fonctionnement du processeur, soit comme stockage temporaire (registres g´en´eraux). Dans ce TD nous allons ´etudier un banc de re- gistres, c’est-`a-dire un ensemble de registres. Nous allons voir comment il est possible de r´ealiser des op´erations pour manipuler ces registres1.
Exercice : sp´ ecification d’un banc de registre
Sp´ ecification d’un registre
Les registres que nous allons utiliser sont des registres 8 bits. Un registre contient les entr´ees et sorties suivantes :
– 8 entr´ees iX pour le mot `a ´ecrire
– 1 entr´ee R/W pour pr´eciser si l’on fait une op´eration de lecture (R/W = 0) ou d’´ecriture (R/W = 1)
– 1 entr´ee E pr´ecisant si le registre est actif, c’est-`a-dire si l’op´eration de lecture ou d’´ecriture sera effectu´ee. Le registre est actif siE = 1.
– 8 sorties oX positionn´ees lorsque l’on fait une op´eration de lecture Ce type de registre est repr´esent´e sur la figure ci-dessous.
R/W E o0
o7 i7
i0
Le banc de registre
Le banc que nous allons d´efinir contient 8 registres 8 bits. Pour des raisons de simplicit´e, nous allons y ajouter un registre tampon interne qui ne sera pas accessible de l’ext´erieur du banc.
1Le but de ce TD n’est pas de voir comment sont g´er´es r´eellement les registres dans un CPU. Le fonc- tionnement que nous d´etaillerons n’est donc pas li´e `a une architecture particuli`ere de processeur et est fictif.
1
Les op´erations r´ealisables par ce banc sont les suivantes : – ´Ecrire le contenu d’un registre
– Lire le contenu d’un registre
– Copier le contenu d’un registre dans un autre
– Faire un d´ecalage logique vers la droite du contenu d’un registre (et conserver le r´esultat dans ce registre)
– Faire un d´ecalage logique vers la gauche du contenu d’un registre (et conserver le r´esultat dans ce registre)
Le banc de registre est synchronis´e sur une horloge. Une op´eration de lecture ou d’´ecriture dans un registre prend un peu moins d’une p´eriode d’horloge.
Questions :
1. D´eterminer les entr´ees et sorties globales de ce banc de registre.
2. D´efinir le sch´ema g´en´eral d’interconnexion des ´el´ements internes au banc.
3. Pour chacune des op´erations r´ealisables par le banc, d´eterminer la valeur des signaux internes permettant d’ex´ecuter une op´eration en fonction des entr´ees du banc po- sitionn´ees. Pr´eciser pour chaque op´eration le nombre de cycles d’horloge minimaux requis.
4. Sp´ecifier et d´etailler le fonctionnement du sous-circuit du banc permettant de r´ealiser ces op´erations.
2