Livre_silo 30 août 2013 16:32 Page 9
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
9
1 – Machine, système d’exploitation et environnement de développement
Le processeur dispose d’une toute petite mémoire, typiquement de l’ordre de quelques
mots à une centaine de mots, qu’on appelle des registres.
Grâce à son unité arithmétique et logique, il peut calculer la somme, la différence, le produit ou le rapport de nombres codés dans deux de ses registres et le stocker dans un troisième. Il peut également effectuer des opérations logiques (disjonction, conjonction, négation) sur des valeurs de vérité codées dans des registres.
Il peut enfin accéder à la mémoire, via le bus : pour tout couple de registres (R 1 , R 2 ), il
peut aller chercher dans la mémoire vive le contenu de la case mémoire dont l’adresse est
stockée dans le registre R 1 et stocker le résultat dans R 2 ou inversement stocker le contenu
de R 2 dans la case mémoire dont l’adresse est contenue dans R 1 .
C’est l’unité de contrôle du processeur qui effectue ces actions. Cependant, cette unité ne
contient pas le programme à exécuter : les instructions sont codées sous la forme d’une suite
de bits stockée en mémoire. Plus précisément, l’unité de contrôle du processeur dispose
d’un registre particulier, généralement appelé P C (pour Program Counter) et exécute en
boucle la séquence d’actions suivante, résumée figure 1.3 :
1 Lire instruction. Aller lire le mot stocké à l’adresse mémoire donnée par le registre P C
et le stocker dans un registre spécial appelé IR (instruction register ou registre d’instruction).
2 Incrémenter PC. Incrémenter le contenu du registre P C (c’est-à-dire ajouter 1 à la
valeur et la stocker de nouveau dans le registre P C).
3 Décoder instruction. Décoder l’instruction contenue dans IR, c’est-à-dire interpréter
la suite de bits contenue dans IR en une instruction que le processeur sait exécuter :
opération arithmétique et logique, accès à la mémoire vive ou branchement (voir cidessous).
4 Exécuter instruction. Exécuter l’instruction décodée : opération arithmétique et logique, accès à la mémoire vive ou branchement.
On peut remarquer que si le registre P C contient initialement un entier n, son contenu
après la séquence d’actions vaut n + 1. Lorsque le processeur effectue de nouveau cette
séquence, il lit une nouvelle instruction en mémoire vive. Il exécute donc séquentiellement
les instructions contenues dans des mots mémoires successifs.
Il existe cependant une exception d’importance : certaines instructions, appelées instructions de branchement ou instructions de saut peuvent modifier le registre P C. Elles stipulent
que si une condition est réalisée (par exemple tel registre contient zéro/une valeur non
nulle/une valeur positive/une valeur négative), alors le registre P C doit prendre une certaine valeur. Dans ce cas, lorsqu’il effectue de nouveau la séquence, le processeur continue
donc son exécution en un autre point de la mémoire. Ces instructions de branchement
sont utilisées d’une part pour réaliser des actions de façon conditionnelle (« si telle condition est réalisée, alors effectuer telle séquence d’actions stockée à telle adresse ») et, d’autre part,
Précédent

- 22/402

Suivant