Pourquoi une instruction aurait deux opcodes ? Cinq justifications
Bien que peu courant, instructions double-opcode peuvent servir buts architecturaux légitimes :
- Extension jeu instructions — Combiner deux opcodes permet une instruction encoder plusieurs opérations, réduisant nombre instructions et taille code.
- Fonctionnalité enrichie — Permet opérations complexes (ex: sauts conditionnels basés valeurs registres) impossibles avec un opcode.
- Optimisation compilateur — Séquences instructions communes fusionnées en une instruction double-opcode, améliorant efficacité pipeline.
- Compatibilité descendante — Inclure opcodes legacy et nouveaux dans une instruction permet anciens et nouveaux processeurs l'exécuter.
- Efficacité pipeline : Moins instructions récupérées = pipelines plus courts et overhead fetch/decode réduit.
Compromis incluent complexité décodeur accrue et gonflement code potentiel, mais dans beaucoup architectures bénéfices l'emportent sur coûts.
