|
Article on other languages:
|
En informatique, une instruction machine est une opération élémentaire qu'un programme demande à un processeur d'effectuer. C'est l'ordre le plus basique que peut comprendre un ordinateur. La collection d'instructions machine qui peuvent être données à un processeur est son jeu d'instructions. Les instructions machine sont codées en binaire. Un champ de l'instruction appelé « code opération » ou « opcode » désigne l'opération à effectuer. Puisque sa valeur numérique n'a pas de sens pour les humains, le programmeur utilise une abréviation désignant le code opération fourni par le langage assembleur pour ce processeur.
Taille des instructionsLa taille d'une instruction dépend de l'architecture de la plateforme, mais elle est usuellement comprise entre 4 et 64 bits. Voici un exemple d'une instruction x86 dans la notation symbolique d'un langage assembleur :
On appelle SHL un opérateur, et AX, 01 des opérandes. AX est le nom du registre, 01 est une constante. Dans cet exemple, SHL est une abréviation mnémonique pour "shift left" (décalage vers la gauche). L'instruction provoque le décalage vers la gauche d'un bit du registre AX. Instructions les plus fréquentesOn peut classer les instructions qu'un microcontrôleur est capable d'effectuer en quelques groupes. Instructions de transfertUn processeur passe une grande partie de son temps à transférer des octets d'un endroit à l'autre du système : d'un périphérique vers un registre interne ou vice-versa, d'un registre interne vers la mémoire RAM ou vice-versa. Parfois, on ne peut pas effectuer de transfert direct d'une case mémoire vers une autre ou vers un périphérique, ou une écriture en mémoire ROM : il faut dans ce cas faire transiter les informations par l'un des registres internes. Remarquons que, sauf exception, il s'agit plutôt d'une copie que d'un transfert puisque la case mémoire d'origine garde son information (tant qu'on n'a pas écrit autre chose à la place). Instructions arithmétiquesLes processeurs les plus simples ne permettent que d'effectuer des additions et des soustractions, voire des multiplications et des divisions sur des nombres entiers de la taille d'un mot. C'est notamment le cas des microcontrôleurs. Cependant, les processeurs modernes disposent généralement d'une unité de calcul en virgule flottante capable d'effectuer des calculs sur les nombres à virgule. En l'absence d'une telle unité, les nombres à virgulent doivent être traitées en logiciel. De même, certains anciens processeurs étaient capable d'effectuer des opérations mathématiques complexes telles que le traitement des grands nombres, des nombres fractionnaires, des puissances, des racines carrées, des fonctions trigonométriques, logarithmiques et exponentielles. Sur les processeurs modernes, ces opérations sont généralement réalisées en logiciel à l'aide des opérations mathématiques de base. Instructions logiquesLes processeurs sont capables d'effectuer des opérations logiques : ET, OU, XOU (XOR), NON (inverseur), rotations, décalages. Les opérations sont opérées simultanément sur les bits correspondant des deux registres. La comparaison des octets A et B, qui est considérée comme une opération logique, est réalisée comme une soustraction dont on néglige le résultat ; on s'intéresse simplement au fait de savoir s'il est nul (ce qui signifie que A = B), positif (A > B) ou négatif (A < B). Ces indications sont inscrites dans des indicateurs d'états (petites mémoires d'un bit situées dans le processeur). Instructions d'entrées/sortiesCes instructions permettent de s'interfacer avec des dispositifs extérieurs, via des ports d'entrée/sortie. Dans certaines architectures, les ports sont considérés simplement comme des cases de mémoire et ils sont gérés par les instructions de transfert (entrées/sorties intégrées mémoire). D'autres architectures disposent d'instructions spécifiques pour les entrées/sorties (entrées/sorties indépendantes). Instructions de branchementIl s'agit d'instructions qui altèrent le déroulement normal du programme. On distingue les sauts et les sous-routines :
Tant les sauts que les sous-routines peuvent être :
Instructions diversesOn trouve dans ce groupe :
Voir aussi |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net