Microprogrammation

La microprogrammation est une technique de réalisation du séquenceur d'un processeur, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire.



Catégories :

Microprocesseur - Programmation informatique - Micrologiciel - Langage machine - Processeur

Recherche sur Google Images :


Source image : tic01.tic.ec-lyon.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • pointeur sur la première micro - instruction du microprogramme. Selon le ... Intrinsèquement un séquenceur microprogrammé est plus lent qu'un... (source : hamoureda)
  • l'automate du séquenceur pour prendre en compte le signal RESET ?... micro- programme del'instructions add. Test (COP = add) et R... (source : enseignement.polytechnique)

La microprogrammation est une technique de réalisation du séquenceur d'un processeur, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire. Ce contenu est nommé microprogramme ou microcode. Il peut être vu comme un programme conçu pour une machine particulièrement simple nommée micro-séquenceur ; le processeur final est alors reconnu comme une machine virtuelle simulée par le micro-séquenceur.

La réalisation microprogrammée des séquenceurs s'oppose à leur réalisation câblée.

Principe

Le séquenceur d'un processeur est un automate fini qui contrôle le fonctionnement du chemin de données : surtout l'unité arithmétique et logique (UAL), les registres, etc.

L'approche naïve consiste à réaliser cet automate avec un circuit logique combinatoire, qui prend en entrée l'état du chemin de données mais aussi des signaux d'horloge, et apporte en sortie les signaux de commande à destination du chemin de données. Ce circuit logique est réalisé avec un ensemble de portes logiques. Cette technique est dite du séquenceur câblé.

On peut cependant remarquer qu'un circuit logique combinatoire peut être réalisé avec une mémoire utilisée en lecture (typiquement une mémoire morte), à laquelle les signaux d'entrée sont apportés comme adresses, et dont les mots apportés en sortie sont interprétés comme des signaux de sortie. Il est par conséquent envisageable de remplacer le circuit combinatoire ci-dessus par une mémoire : c'est l'idée qui se trouve à la base de la microprogrammation. Les cases successives de la mémoire sont vues comme des instructions élémentaires ou micro-instructions ; leur ensemble forme le microprogramme ou microcode.

Il est envisageable de complexifier ce schéma simpliste en ajoutant la possibilité d'effectuer des sauts entre micro-instructions. De plus on introduit généralement un registre contenant l'adresse de la prochaine micro-instruction à traiter : le micro-compteur ordinal. Il existe par conséquent une logique simple — et câblée — chargée de dérouler le microprogramme : on l'appelle le micro-séquenceur.

Le code machine — les instructions, qu'on peut qualifier de macro-instructions pour bien les distinguer des micro-instructions — sont par conséquent interprétées par le micro-séquenceur qui exécute le microcode. Plusieurs micro-instructions sont exécutées pour réaliser une (macro) -instruction.

Il y a deux techniques d'implémentation du microcode :

  1. Le microcode horizontal, qui utilise un nombre particulièrement grand de bits pour contrôler l'ensemble des éléments du processeur. Sur l'IBM 360 modèle 30 par exemple, une micro-instruction fait 60 bits.
  2. Le microcode vertical, qui occupe nettement moins de bits car il contient une partie spécifiant l'unité à contrôler, et une autre qui sera la commande envoyée à cette unité.

Les architectures basées sur des microprocesseurs en tranches sont microcodées.

Avantages et inconvénients des machines microcodées

Exemple d'ordinateurs microcodés

Voir aussi

Liens externes


Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Microprogrammation.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu