5.3 Le séquenceur microprogrammé

Suite de microinstructions stockées dans une mémoire de programmation rapide. Ce microprogramme est capable de générer une suite de signaux de commandes équivalents à celle produites par un séquenceur câblé. Selon le modèle de Wilkes (1951), le code opération de l’instruction à exécuter est utilisé comme étant l’adresse de la première macro-instruction de microprogramme. Il suffit de stocker les microprogrammes (firmware) correspondant aux différents codes opérations dans une mémoire très rapide (ROM ou EEPROM) et d’ajouter un mécanisme pour l’exécution séquentielle des macro-instructions permettant des branchements conditionnels.

Figure 5.2 : structure d’un microséquenceur


L’avantage d’un tel séquenceur réside dans sa souplesse et dans sa simplicité. Le prix à payer : une vitesse légèrement inférieure.

La microprogrammation permet de réaliser le séquencement des commandes électroniques par une technique plus flexible que la logique câblé.


Figure 5.3 : Exemple d’équivalence entre circuits logiques et microprogrammes

Le format des microinstructions varie selon les machines :

Microprogrammation horizontale : Wilkes préconisait des microinstructions longues et détaillées, où chaque bit correspondant à une commande. Peu de microinstructions nécessaires à la réalisation d’une ´ instruction. Les microinstructions peuvent très longues.

Microprogrammation vertical : on trouve des microinstructions très compactes donnant lieu à une seule commande; ce format implique un certain travail de décodage avant de pouvoir générer un signal de commande.

Entre ces deux extrêmes, on a adopté des compromis pratiques : par exemple, le codage par champs, où plusieurs unité fonctionnelles sont contrôlés par une seule microinstructions ou le codage de type instruction, avec son code opération, nécessitant un décodage complexe et introduisant ainsi un niveau de programmation encore plus détaillé et que l’on appelle nanoprogrammation (séquenceur nanoprogrammé).

Le niveau microprogrammation n’est pas nécessairement accessible à l’utikisateur. Si l’on peur accéder a ce niveau de codage, la machine est dite alors microprogrammable.

Modifié le: mercredi 13 décembre 2023, 20:33