Microprogramme

Sommaire du document

Exemple d'architecture pour un microprogrammeregistres A à DMPCMIRMDRMAR

Voir le schéma en action.

Les éléments de formes circulaires représentent des signaux de contrôle CS [“Control Signals”[1]] , qui peuvent êtres injectés dans une porte AND, ce qui permet l'envoi de l'information injectée en deuxième entrée de cette porte logique.

Les signaux de contrôle portent un numéro.
Ce numéro est le numéro de bit en partant de la gauche (Attention, il s'agit du n° d'ordre, et non de la valeur du bit).
Un microprogramme est donc une suite de bits dont la mise à 1 commande le passage d'une information par la porte AND qui dépend de ce bit.
Nous avons 22 signaux de contrôle numérotés, ce qui signifie que les instructions programmées dans la “Micro Memory” (en français, « micro mémoire ») comporteront chacune 22 bits.
Dans notre exemple d'architecture, tous les registres (en rouge) travaillent avec des mots de 16 bits, sauf le MIR [“Micro Instruction Register”[4]] qui traite des mots de 22 bits car il doit pouvoir transmettre soit les actions à entreprendre sur les 22 portes commandées par les micro instructions, soit l'adresse de l'instruction (sur les 10 bits les plus significatifs).

Un commutateur cyclique divise en quatre phases les différentes actions possibles.
Les couleurs correspondent à la phase durant laquelle il est possible d'agir sur ces signaux :

  • Phase 1 : en bleu.
  • Phase 2 : en orange.
  • Phase 3 : en jaune.
  • Phase 4 : en vert.
  • Phase 5 : violet.

A remarquer : Les signaux de contrôle de la phase 5 ne portent pas de numéros. Ces informations seront envoyées en phase 5 sans intervention du microprogramme.

Liste des registres de notre micro-architecture

Les registres sont représentés dans ce shéma par des rectangles en rouge. Comme nous venons de le voir, dans ce type d'architecture (16 bits) les registres peuvent mémoriser 16 éléments binaires (sauf le MIR).

  • A->D : Les registres A, B, C, et D permettent de mémoriser une donnée, ou une instruction du langage machine avant de la traiter.
    La lecture de ces registres se fait pendant la phase 1.
    L'écriture dans ces registres se fait dans la phase 2.
    • Registre A : accumulateur.
    • Registre B : PCR [“Program Counter Register”[6]] peut contenir l'adresse de l'instruction langage machine suivante.
  • MPC [“Micro Program Counter”[8]] : Ce registre contient l'adresse mémoire de l'instruction actuelle (cette instruction se situe dans la “Micro Memory”[3], qui possède une capacité de 1024 cellules adressées de 0 à 1023 ).
  • MIR [“Micro Instruction Register”[4]] : deux cas sont possibles :
    • Si le bit du CS 18 est activé, les 10 bits les plus significatifs contiennent l'adresse de la micro instruction suivante.
      Ce cas se présente lors d'une sortie de boucle (testée sur la valeur stockée dans le registre A), qui ne nous permet donc plus de suivre la séquence des micro instructions.
    • Dans les autres cas, les 22 bits contiennent les actions à effectuer sur les 22 portes logiques : nous avons là notre micro instruction.
  • MDR [“Memory Data Register”[10]] : Contient soit la donnée qui vient d'être lue dans la “Main Memory” (en français, « mémoire principale ») et qui va être envoyée dans un registre entre A et D, soit une donnée qui vient d'être traitée et qui va être écrite dans la “Main Memory”[12].
  • MAR [“Memory Address Register”[13]] : Contient l'adresse mémoire dans la “Main Memory”[12] de la donnée à lire ou écrire.

Remarques

Il faut différencier deux types d'instructions :

  • Les microinstructions, qui sont codées en PROM dans la “Micro Memory”[3], déterminent les états des différents CS.
  • Les instructions langage machine, que nous retrouverons dans la “Main Memory”[12] (RAM), et qui permettent de grouper des suites de micro instructions.

Nous pouvons différencier les registres qui contiennent des données de ceux qui contiennent des adresses ou des instructions langage machine.

Données :

  • A
  • B
  • C
  • D
  • MDR

Adresses :

  • B : dans le cas d'une instruction en langage machine.
  • MPC : adresse de l'instruction en cours dans la “Micro Memory”[3].
  • MIR [“Micro Instruction Register”[4]] : dans le cas où le bit 18 est activé : adresse de la micro instruction suivante à exécuter.
  • MAR [“Memory Address Register”[13]](adresse de l'emplacement mémoire de la “Main Memory”[12], qui contient la donnée à lire, ou dans laquelle une donnée sera écrite.

Cas particulier :

  • MIR: dans la plupart des cas, le MIR contient l'instruction du microprogramme à exécuter, mais il peut aussi contenir l'adresse de la micro-instruction suivante quand le CS 18 est activé.

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Notes

  1. a,b,c,d,e Control Signals : correspond à « signaux de contrôle” en français

  2. a,b,c,d CS : “Control Signals” (en français, « signaux de contrôle »)

  3. a,b,c,d Micro Memory : correspond à « micro mémoire” en français

  4. a,b,c,d,e,f,g,h,i Micro Instruction Register : correspond à « registre d'instruction” en français

  5. a,b,c,d,e,f MIR : “Micro Instruction Register” (en français, « registre d'instruction ») Plus d'informations sur la page dédiée aux registres MIR.

  6. a,b Program Counter Register : correspond à « registre compteur du programme” en français

  7.  PCR : “Program Counter Register” (en français, « registre compteur du programme »)

  8. a,b,c Micro Program Counter : correspond à « registre compteur ordinal” en français

  9. a,b MPC : “Micro Program Counter” (en français, « registre compteur ordinal ») Plus d'informations sur la page dédiée aux registres MPC.

  10. a,b,c Memory Data Register : correspond à « registre de mots” en français

  11. a,b MDR : “Memory Data Register” (en français, « registre de mots »)

  12. a,b,c,d,e Main Memory : correspond à « mémoire principale” en français

  13. a,b,c,d Memory Address Register : correspond à « registre d'adresse de la mémoire” en français

  14. a,b MAR : “Memory Address Register” (en français, « registre d'adresse de la mémoire ») Plus d'informations sur la page dédiée aux registres MAR.

  15.  Programmable Read-Only Memory : correspond à « mémoire en lecture seule, programmable” en français

  16.  PROM : “Programmable Read-Only Memory” (en français, « mémoire en lecture seule, programmable ») Plus d'informations sur la page dédiée aux mémoires PROM.

  17.  Random-Access Memory : correspond à « mémoire à accès non séquentiel” en français

  18.  RAM : “Random-Access Memory” (en français, « mémoire à accès non séquentiel ») Plus d'informations sur la page dédiée aux mémoires RAM.

 

Références

  1. livre Langue du document: uk Computers ad Machine Languages : ECIS, Microprogrammed Computers (2004)

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Historique et modifications de la page

  • Samedi 16 Janvier 2010, 08:31 : Prise en charge automatique des acronymes, mots étrangers, et recherche de table de matières.

Liste des images

  1. Exemple d'architecture pour un microprogramme (Référence : infobrol)
    Eléments de l'image :
    1. registres A à D
    2. MPC
    3. MIR
    4. MDR
    5. MAR

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-336
Document créé le 06/02/04 00:17, dernière modification le Mercredi 28 Juin 2017, 15:26
Source du document imprimé : http:///www.gaudry.be/microprogramme.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,07 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Pourquoi une femme qui a plein d'hommes est une salope ? Et pourquoi un homme qui a plein de femmes c'est pas moi ?

Patrick Timsit
 
l'infobrol
Nous sommes le Mardi 26 Septembre 2017, 22:02, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)