9 novembre 2004
4.2. ORGANISATION FONCTIONNELLE
des instructions arithm´etiques et logiques ADD, SUB, DIV, MUL, AND, OR, XOR, CMP qui peuvent
avoir trois d´eclinaisons
ADD A,data additionner la valeur data `a A
ADD A,[adr] additionner le contenu de l’adresse [adr] `a A
ADD A,B additionner B `a A
des instructions de d´eplacement conditionnelles et d’appel de coroutines:
JE adr saut `a l’adresse adr si
JNE adr saut `a l’adresse adr si
JG adr saut `a l’adresse adr si
JGE adr saut `a l’adresse adr si
JL adr saut `a l’adresse adr si
JLE adr saut `a l’adresse adr si
CALL adr saut `a l’adresse adr
RET retour d’appel
Pour les 6 premi`eres instructions un appel pr´ealable `a l’instruction CMP doit ˆetre effectu´e. Pour l’ins-
truction CALL, l’adresse de la prochaine instruction `a ex´ecuter est plac´ee sur la pile. L’instruction
RET permet de revenir `a cette instruction.
des instructions de manipulation de la pile
PUSH A empiler le contenu de A
PUSH B empiler le contenu de B
POP A d´epiler et mettre le sommet de pile dans A
POP B d´epiler et mettre le sommet de pile dans B
4.2.4.2 Influence de la longeur des adresses
Lors de la conception d’un microprocesseur, le codage des instructions revˆet un aspect important. Il
s’agit pour le concepteur de d´efinir un format d’instruction qui permette de coder l’instruction `a r´ealiser
mais ´egalement les donn´ees ou adresses sur lesquelles on doit travailler.
En effet, plus les instructions sont courtes plus elles sont efficaces: si une machine poss`ede une m´emoire
ayant un d´ebit de bits/s et que la longueur moyenne de ses instructions est de bits, alors cette m´emoire
peut d´elivrer instructions par seconde.
Il faut ´egalement prendre en compte la largeur en bits d’une instruction et s’arranger pour que les
instructions aient une taille multiple de la largeur des donn´ees manipul´ees par le processeur afin d’´eviter le
gaspillage de la m´emoire.
La largeur des adresses influe ´egalement sur les performances. Consid´erons par exemple une m´emoire
de 64 Ko. Celle-ci peut ˆetre organis´ee sous deux formats diff´erents:
–cas n 1: une m´emoire de octets
–cas n 2: une m´emoire de mots de 4 octets
Si on d´esire comparer 1 octet avec un autre octet, dans le cas 2 cela entraˆıne un surcoˆut car il faut
charger 2 fois 4 octets depuis la m´emoire et extraire les octets correspondants. Cependant, plus une adresse
est courte, plus l’instruction correspondante est courte. Il y a donc un compromis `a trouver.
4.2.4.3 Code op´
eration expansif
Consid´erons une machine codant des instructions sur bits, soit bits pour le code op´eration
et bits pour l’adresse. Cette codification permet de repr´esenter instructions et adresses. On peut
d´esirer modifier ce codage des instructions de la mani`ere suivante:
–bits pour le codeop´eration et bits pour l’adresse, soit 2 fois plus d’instructionsmais 2 fois
moins d’adresses
65