MicroprogrammationLa microprogrammation est une technique de réalisation du séquenceur d'un processeur, utilisé dans la technologie CISC, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire. Ce contenu est appelé microprogramme ou microcode. Il peut être vu comme un programme destiné à une machine très simple appelée micro-séquenceur ; le processeur final est alors considéré comme une machine virtuelle simulée par le micro-séquenceur. Par opposition la technologie RISC ne contient pas de microcode. La réalisation microprogrammée des séquenceurs s'oppose à leur réalisation câblée. A priori plus onéreuse au départ, sa souplesse facilite l'évolution des modèles. PrincipeLe séquenceur d'un processeur est un automate fini qui contrôle le fonctionnement du chemin de données : notamment l'unité arithmétique et logique (UAL), les registres, etc. Une approche consiste à réaliser cet automate à l'aide d'un circuit logique combinatoire, qui prend en entrée l'état du chemin de données ainsi que des signaux d'horloge, et fournit en sortie les signaux de commande à destination du chemin de données. Ce circuit logique est réalisé à l'aide d'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é à l'aide d'une mémoire utilisée en lecture (typiquement une mémoire morte), à laquelle les signaux d'entrée sont fournis en tant qu'adresses, et dont les mots fournis en sortie sont interprétés comme des signaux de sortie. Il est donc possible 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 constitue le microprogramme ou microcode. Il est possible de complexifier ce schéma simpliste en ajoutant la possibilité d'effectuer des sauts entre micro-instructions. De plus, on introduit en général un registre contenant l'adresse de la prochaine micro-instruction à traiter : le micro-compteur ordinal. Il existe donc 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, que l'on peut qualifier de macro-instructions pour bien les distinguer des micro-instructions — sont donc 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 :
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
Référence
Liens externes
|