Fetch ou recherche d’instruction (et chargement dans le registre d’instruction)
Exécution proprement dite
Pour l’écriture, l’adresse est dans le buffer d’adresse, les données sont dans le buffer ES et il faut valider la
bascule d’écriture.
Pour la lecture, l’adresse est dans le buffer d’adresses, il faut valider la bascule de lecture et le résultat se trouve
dans le buffer ES.
Note : Un buffer est un registre lié à un bus (voir schéma global du processeur).
1.3 PRINCIPE GENERAUX DE CONCEPTION D’UNE UNITE CENTRALE
CLASSIQUE
1.3.1 Classification générale des instructions
On distingue 4 classes :
Mouvement de données entre registres et mémoire centrale.
Instructions arithmétiques et logiques : +, *, /, -, in(dé)crémentation, et, ou, comparaisons, décalage,
rotation, complémentation.
Instructions de contrôles ou branchements conditionnels, inconditionnels.
Instructions de gestion de l’environnement, mise à jour, opérations d’ES, positionnement, lecture des
masques de bits, interruptions et indicateurs.
1.3.2 Les opérandes
En plus du code opération, c’est ce dont à besoin l’unité centrale pour pouvoir exécuter l’instruction. Par
exemple, pour effectuer une addition, on a besoin de deux opérandes au moins (opérateurs binaires) et il faut
aussi prévoir ou mettre le résultat.
Le nombre des opérandes peut être variable :
Htl (halt) est une instruction sans opérande
Jmp adr est une instruction à un opérande (adr)
Mov reg1 reg2 est une instruction à deux opérandes (reg1 et reg2)
1.3.3 Modes d’adressages de base
Il existe différents types d’adressage. Exemples avec lda :
Lda M : accu[M] : adressage direct
Lda #n : accun : adressage immédiat
Lda[M] : accu contenu de l’adresse contenue à l’adresse M
Lda[M][SI] : accu contenu (de l’adresse contenue à l’adresse M + compteur SI)
1.3.4 Réalisation d’une instruction
Le concepteur d’une unité centrale à deux possibilité pour implémenter les instructions interprétée par l’unité
centrale :
Câblage : on câble directement l’instruction (par un circuit). La technologie est alors dite « adaptée ».
Cela a l’avantage d’être rapide à l’exécution mais cela peut être complexe, donc cher.
Microprogrammation : une instruction est considérée comme une fonction ou une procédure constituée
de micro-instructions câblées. L’instruction est enregistrée en mémoire morte. Avantage : le circuit du
microprocesseur est plus simple et le jeu d’instruction est modifiable, mais la vitesse d’exécution est
assez peu élevée.
Lorsque le jeu d’instruction est limité, on peut procéder de la manière suivante :
Emulation : ou simulation logicielle (instruction=fonction assembleur ou langage C) ; inconvénient :
lent !
Ajout d’un co-processeur câblé ou mono-programmé (processeur spécialisé qui exécute des instructions
spécifiques) ; l’unité centrale sous traite. Par exemple, le co-processeur arithmétique 80xx7 associé au
80xx6 réalise les opérations en virgule flottante et les fonctions mathématiques.