Next: Instructions Up: Jeu d'instructions Previous: Modes d'adressage

Formats des instructions

Les jeux d'instructions du MIPS R10000 et de l'UltraSPARC sont dits RISC. Pour ces deux microprocesseurs, le nombre de formats d'instructions est donc limité. Ceci permet un décodage plus facile des instructions. D'autre part, comme la taille des instructions est fixe (32 bits), leur rangement en mémoire est simplifié et sans surprise : toute frontière de mot est le début d'une instruction.

Au contraire, le PentiumPro a un jeu d'instructions CISC intégrant des instructions complexes et variées, d'où un format d'instructions très complexe. Toutes les instructions n'ont pas la même taille, ce qui accroît la complexité de la logique de décodage du microprocesseur. Par contre, les instructions sont assez proches des primitives employées par les langages de programmation, ce qui permet d'avoir des codes assembleurs relativement proches des codes sources initiaux. Il est à noter que le jeu d'instructions du PentiumPro est destructeur : c'est-à-dire que le résultat d'une opération à deux opérandes est toujours sauvé dans l'un de ses opérandes. Ceci réduit la taille des instructions, mais limite les possibilités d'optimisations par le compilateur.

Formats des instructions du MIPS R10000

Le jeu d'instructions du MIPS R10000, défini par la norme MIPS IV, se compose de trois formats principaux d'instructions :

À ces trois types de base, trois formats supplémentaires d'instructions relatifs aux instructions flottantes ont été ajoutés :

Formats des instructions de l'UltraSPARC

Les instructions de l'UltraSPARC sont codées sur 32 bits. On peut différencier trois formats d'instructions dans la norme SPARC V9.

Formats des instructions du PentiumPro

Comme nous l'avons évoqué précédemment, le PentiumPro utilise le même jeu d'instructions que le Pentium.

La figure montre les différents champs pouvant entrer dans la composition des instructions du PentiumPro. Il faut noter que seul le code opération est obligatoirement présent. Six champs principaux servent à composer une instruction dont la taille varie de 1 à 15 octets. La plupart des instructions n'accédant pas d'opérandes, ou accédant toujours au même registre, tiennent sur un octet (ex : DX extension signée de AX, HALT ; FSQRT : racine carrée de la valeur se trouvant en sommet de pile flottante...) tandis qu'une instruction adressant une opérande en mémoire, utilisant tous les préfixes et le mode d'adressage basé indexé, peut occuper 15 octets. Les six champs d'une instruction du Pentium sont décrits suivant l'ordre de leur occurrence dans la liste suivante :



Next: Instructions Up: Jeu d'instructions Previous: Modes d'adressage


flloansi@IRISA.irisa.fr
Tue Jun 4 09:57:56 MET DST 1996