- Microcode
-
Microcode
Le microcode est un programme composés de micro-instructions dont l'exécution au sein du processeur ou microprocesseur définit le jeu d'instructions de celui-ci.
Le microcode est au centre des architectures microprogrammées. Sur celles-ci, le code machine -- les (macro)-instructions -- sont interprétées par le microcode qui contrôle à son tour les éléments internes au processeur, comme par exemple l'Unité arithmétique et logique (ALU), etc. Il faut donc exécuter un grand nombre de micro-instructions pour une (macro)-instruction.
Il y a deux techniques d'implémentation du microcode :
- Le microcode horizontal, qui va utiliser un nombre très large de bits pour contrôler tous les éléments du processeur. Sur l'IBM 360 modèle 30 par exemple, une micro-instruction fait 60 bits.
- Le microcode vertical, qui occupera beaucoup moins de bits car il contiendra une partie spécifiant l'unité à contrôler, et une autre qui sera la commande envoyée à cette unité.
Dans le cas de microprocesseurs microcodés le microcode sera stocké dans une ROM interne au circuit intégré, alors que dans le cas d'un processeur il sera simplement mis dans une ROM, parfois associée à une RAM.
Les architectures basées sur des microprocesseurs en tranches sont microcodées, il est implanté aux cotés du micro-séquenceur, responsable de son déroulement.
Sommaire
Avantages et inconvénients des machines microcodées
- Les avantages sont (entre autres) :
- évolutivité du jeux d'instructions
- simplicité du design
- correction possible des erreurs de conception matériel par modification du microcode
- Les inconvénients sont (entre autres) :
- possibilités de bugs dans le microcode
- lenteur de la machine
Exemple d'ordinateurs microcodés
- DEC PDP-10, VAX (16 Kmots de 42 bits), ...
- IBM 360 et 370
- Motorola 68000
- Intel 8080, 8086, ...
- Zilog Z80
- System i (AS/400)
- ...
Voir aussi
- Le terme micrologiciel, qui désigne plus généralement un logiciel intégré dans un composant électronique.
Liens externes
- A Brief History of Microprogramming (en anglais).
- Wang 2200 Microarchitecture Description (en anglais).
Catégories : Microprocesseur | Programmation informatique | Micrologiciel | Processeur
Wikimedia Foundation. 2010.