Instruction machine
En informatique, une instruction machine est une opération élémentaire qu'un programme demande à un processeur d'effectuer.
Recherche sur Google Images :
Source image : mines.inpl-nancy.fr Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur. |
Page(s) en rapport avec ce sujet :
- Le programme composé d'instructions machine et de données a été..... Exécution d'une instruction machine : les micro-commandes du processeur... (source : deptmedia.cnam)
- Read safety instructions and operating instructions for your machine.... des limites de l'outil, de même que des dangers spécifiques qui lui sont propres.... (source : pdfqueen)
- instruction machine. 1 ressource a été trouvée. | > >|. 5, 10, 15, 20, 25, 30, 35, 40, 45, 50. documents par page... (source : unit)
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 nommé «code opération» ou «opcode» sert à désigner 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 apporté par le langage assembleur pour ce processeur.
Taille des instructions
La taille d'une instruction dépend de l'architecture de la plateforme, mais elle est habituellement comprise entre 4 et 64 bits. Voici un exemple d'une instruction x86 dans la notation symbolique d'un langage assembleur :
- SHL AX, 01
On nomme 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équentes
On peut classer les instructions qu'un microcontrôleur est capable d'effectuer en quelques groupes.
Instructions de transfert
Un processeur passe une grande partie de son temps à transférer des octets d'un lieu à l'autre du dispositif : d'un périphérique vers un registre interne ou vice-versa, d'un registre interne vers la mémoire RAM ou vice-versa. Quelquefois, 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étiques
Les processeurs les plus simples ne permettent que d'effectuer des additions et des soustractions, ou alors des multiplications et des divisions sur des nombres entiers de la taille d'un mot. C'est surtout le cas des microcontrôleurs. Cependant, les processeurs modernes disposent le plus souvent 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 le plus souvent réalisées en logiciel avec opérations mathématiques de base.
Instructions logiques
Les 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 reconnue 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 veut dire 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/sorties
Ces instructions permettent de s'interfacer avec des systèmes extérieurs, via des ports d'entrée/sortie. Dans certaines architectures, les ports sont reconnus 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 branchement
Il s'agit d'instructions qui altèrent le déroulement normal du programme. On peut distinguer les sauts et les sous-routines :
- les sauts provoquent un branchement du programme vers une adresse mémoire qui n'est pas contiguë à l'endroit où on se trouve ;
- une sous-routine ou un sous-programme est une partie de programme dont on a besoin à plusieurs lieux dans l'exécution du programme principal. Plutôt que de répéter ce sous-programme à l'ensemble des lieux où on en a besoin, on le place en un lieu donné (par exemple à la fin du programme principal) et on opère un branchement du programme principal vers le sous-programme chaque fois que indispensable. La grande différence comparé au saut, c'est qu'au moment du branchement il faut mémoriser l'adresse d'où on vient, pour pouvoir y revenir une fois le sous-programme terminé. Ceci est effectué en mémorisant l'adresse de départ dans un registre ad hoc (la pile) du microcontrôleur.
Tant les sauts que les sous-routines peuvent être :
- inconditionnels ;
- conditionnels, c'est-à-dire que le branchement n'a lieu que si une certaine condition est remplie ; le plus souvent, la condition testée est le contenu d'un des indicateurs d'état ; ceux-ci indiquent par exemple si le contenu de l'accumulateur est nul, positif, négatif, de parité paire ou impaire.
Instructions diverses
On trouve dans ce groupe :
- des instructions de gestion de la pile (zone de mémoire RAM donnant la possibilité le stockage de données pendant l'exécution du programme) ;
- des instructions de contrôle du processeur : par exemple passage en mode basse consommation, contrôle des périphériques embarqués (c'est-à-dire localisés sur la même puce que le processeur) ;
- des instructions servant à positionner des indicateurs internes du processeur.
Voir aussi
Recherche sur Amazone (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.