IUT Rouen - R´
eseaux & T´
el´
ecoms 1 2013-2014
Si on assemble deux bascules synchronis´
ees par la
mˆ
eme horloge, on dispose d’une m´
emoire 2 bits. Par
g´
en´
eralisation, un registre ’n’ bits est un assemblage
de ’n’ bascules D, synchronis´
ees par un signal com-
mun.
Les registres sont utilis´
es dans le CPU pour m´
emoriser des donn´
ees temporaires,
notamment pour les op´
erandes et les r´
esultats de calculs faits par l’ALU. On dis-
tingue
— les accumulateurs, utilis´
es pour les calculs,
— les registres d’index, pour g´
erer des pointeurs (dont la valeur num´
erique conte-
nue repr´
esente une adresse),
— les registres syst`
eme :
— PC Program Counter : contient l’adresse de l’instruction en cours
d’ex´
ecution,
— Pointeur de Pile (SP : Stack Pointer),
— d’autres registres syst`
eme.
Le nombre des registres d´
epend du CPU consid´
er´
e, typiquement, on dispose de 2 `
a
16 registres utilisateurs sur un CPU 16 bits, plus sur des CPU 32 ou 64 bits.
2.3.4 Ex´ecution d’une instruction
L’ex´
ecution d’une instruction se fait en plusieurs cycles d’horloge : le s´equenceur
pilote son d´
eroulement. La dur´
ee d’ex´
ecution est fonction de la complexit´
e de
l’op´
eration, et peut-ˆ
etre variable. Elle s’exprime en cycles-d’horloge (3, 4, 5, 6 ...
cycles d’horloge, voire plus).
Ces diff´
erentes ´
etapes sont :
1. lecture en m´
emoire `
a l’adresse indiqu´
ee par PC du code op´
eratoire de l’instruc-
tion,
2. d´
ecodage et configuration des interconnexions internes,
3. ex´
ecution,
4. incr´
ementation compteur ordinal (PC), pour passer `
a l’ex´
ecution de l’instruc-
tion suivante.
Ceci peut ˆ
etre repr´
esent´
e par les connexions suivantes, montrant le cheminement
des donn´
ees sur les bus :
2.4 Jeu d’instructions
Il est d´
efini par le constructeur, et propre `
a la famille du processeur. Il y a quatre
cat´
egories d’instructions :
— Transfert de donn´
ees (m´
emoire↔registre, registre ↔registre, m´
emoire ↔
m´
emoire).
— Op´
erations arithm´
etiques et logiques (ALU).
— Contrˆ
ole de s´
equence : branchements / sauts (d´
eroutement de l’ex´
ecution).
— Instructions syst`
eme diverses.
Attention Le processeur ne reconnaˆ
ıt que le code op´eratoire : valeur binaire
unique qui correspond au code de cette instruction. Pour rendre la lecture d’un
programme ´
ecrit en assembleur plus lisible, on d´
esigne les instructions par un mot
court, qu’on appelle un mn´emonique.
Exemple : Load Accumulator A, not´
eldaa : charge le registre-accumulateur A avec
une valeur.
2.4.1 Implantation d’une instruction en m´emoire
Sur les architectures CISC, le nombre d’octets occup´
e par une instruction peut ˆ
etre
variable. Certaines instructions ont besoin d’une op´erande (donn´
ee sur laquelle
travailler), qui peut ˆ
etre fournie de diff´
erentes fac¸ons.
Par exemple, une instruction d’incr´
ementation d’un registre n’a pas besoin
d’op´
erande. A contrario, une instruction de chargement d’un registre avec une va-
leur ou le contenu d’une adresse m´
emoire doit connaˆ
ıtre la valeur ou l’adresse `
a
consid´
erer. Cette valeur doit donc ˆ
etre int´egr´ee dans l’instruction elle mˆ
eme, ce qui
occupe donc des octets suppl´
ementaires.
Sur architecture RISC, chaque instruction est en g´
en´
eral cod´
ee par le mˆ
eme nombre
d’octets.
M1103 5 S. Kramm