Parce que le langage machine est un ensemble d'instructions machine représentées par un code binaire qu'un ordinateur peut directement reconnaître et exécuter ; cet ensemble d'instructions est appelé code machine, qui est des données que le processeur de l'ordinateur peut directement interpréter et que les concepteurs informatiques utilisent. à La structure matérielle d'un ordinateur confère à l'ordinateur ses fonctions de fonctionnement.
L'environnement d'exploitation de ce tutoriel : système Windows 10, ordinateur DELL G3.
Un langage qu'un ordinateur peut directement reconnaître et exécuter est un langage machine. Le langage machine est un ensemble d’instructions machine exprimées en code binaire qu’un ordinateur peut directement reconnaître et exécuter. Ce jeu d'instructions, appelé code machine, est constitué de données qui peuvent être directement interprétées par le processeur de l'ordinateur.
Le langage machine est la fonction d'exploitation donnée à l'ordinateur par le concepteur de l'ordinateur à travers la structure matérielle de l'ordinateur. Le langage machine présente les caractéristiques de flexibilité, d’exécution directe et de vitesse élevée. Les langages machine des différents types d'ordinateurs sont incompatibles. Un programme compilé selon les instructions machine d'un type d'ordinateur ne peut pas être exécuté sur un autre type d'ordinateur.
Lors de l'écriture de programmes en langage machine, les programmeurs doivent d'abord mémoriser tous les codes d'instructions de l'ordinateur utilisé et la signification des codes. Lors de la programmation, les programmeurs doivent gérer eux-mêmes l'allocation de stockage ainsi que les entrées et sorties de chaque instruction et donnée, et ils doivent également se souvenir de l'état de l'unité de travail utilisée à chaque étape du processus de programmation.
C'est un travail très fastidieux, et le temps nécessaire pour écrire un programme est souvent des dizaines ou des centaines de fois plus long que le temps d'exécution réel. De plus, les programmes compilés sont tous des codes d’instructions de 0 et de 1, qui ne sont pas intuitifs et sujets aux erreurs. Désormais, à l’exception des professionnels des constructeurs informatiques, la grande majorité des programmeurs n’apprennent plus le langage machine.
Une instruction est une instruction en langage machine, qui est un ensemble de codes binaires significatifs. Les ordinateurs conçus et produits par diverses sociétés informatiques comportent des instructions différentes en termes de nombre et de fonction, de format d'instruction, de mode d'adressage et de format de données. Le processus de développement des ordinateurs montre qu'en raison du développement rapide du matériel de base qui constitue les ordinateurs et du remplacement rapide des ordinateurs, il existe un problème de savoir comment les logiciels peuvent suivre le rythme du matériel.
Lorsqu'une nouvelle machine est lancée et livrée pour utilisation, seule une petite quantité de logiciels système (tels que le système d'exploitation, etc.) peut être soumise aux utilisateurs. Une grande quantité de logiciels est constamment enrichie, notamment les applications, une quantité considérable. dont une partie est générée en continu par les utilisateurs lors de l’utilisation de la machine. Afin d'atténuer le problème selon lequel les applications originales ne peuvent pas continuer à être utilisées en raison de l'introduction de nouvelles machines, lorsque la même série d'ordinateurs produits par diverses sociétés informatiques, bien que les méthodes de mise en œuvre du matériel puissent être différentes, le système d'instructions, le format des données, Le système d'E/S, etc. reste le même, le logiciel est donc entièrement compatible.
Connaissances approfondies : Format d'instruction en langage machine
L'instruction en langage machine est un code binaire composé de deux parties : l'opcode et l'opérande. L'opcode spécifie le fonctionnement de l'instruction. Il s'agit d'un mot-clé dans l'instruction et ne peut pas être défini par défaut. L'opérande représente l'opérande de l'instruction. Le format des instructions de l'ordinateur est étroitement lié à la longueur des mots, à la capacité de mémoire et à la fonction des instructions de la machine. Du point de vue de faciliter la conception des programmes, d'augmenter le parallélisme des opérations de base et d'améliorer la fonctionnalité des instructions, les instructions doivent contenir une variété d'informations. Cependant, dans certaines instructions, du fait qu'une partie des informations peut être inutile, cela gaspillera l'espace de stockage occupé par l'instruction et augmentera le nombre d'accès à la mémoire, ce qui peut effectivement affecter la vitesse. Par conséquent, comment concevoir le format d'instruction de manière raisonnable et scientifique afin que l'instruction puisse non seulement donner suffisamment d'informations, mais également faire en sorte que sa longueur corresponde autant que possible à la longueur des mots de la machine, afin d'économiser de l'espace de stockage, de raccourcir le temps de valeur , et améliorer les performances de la machine. Il s’agit d’un problème important dans la conception du format d’instruction.
Les ordinateurs traitent diverses données en exécutant des instructions. Afin d'indiquer la source des données, la destination des résultats de l'opération et l'opération effectuée, une instruction doit contenir les informations suivantes :
(1) Code de l'opération. Il précise la nature et la fonction de l'opération. Un ordinateur peut avoir des dizaines, voire des centaines d'instructions, chaque instruction possède un code d'opération correspondant et l'ordinateur effectue différentes opérations en reconnaissant le code d'opération.
(2) L'adresse de l'opérande. La CPU peut obtenir les opérandes requis via cette adresse.
(3) Adresse de stockage du résultat de l'opération. Le résultat du traitement de l'opérande est enregistré à cette adresse pour être réutilisé.
(4) L'adresse de la prochaine instruction. Lors de l'exécution d'un programme, la plupart des instructions sont extraites de la mémoire principale dans l'ordre et exécutées. Ce n'est que lorsqu'une instruction de transfert est rencontrée que l'ordre d'exécution du programme change. Afin de compresser la longueur de l'instruction, un compteur de programme (ProgramCounter, PC) peut être utilisé pour stocker l'adresse de l'instruction. Chaque fois qu'une instruction est exécutée, l'adresse d'instruction du PC est automatiquement +1 (en supposant que l'instruction n'occupe qu'une unité de mémoire principale), indiquant l'adresse de la prochaine instruction à exécuter. Lorsqu'une instruction de transfert est rencontrée, l'adresse de transfert est utilisée pour modifier le contenu du PC. Du fait de l'utilisation d'un PC, l'adresse de la prochaine instruction à exécuter n'a pas besoin d'être explicitement indiquée dans l'instruction.
Une instruction comprend en fait deux types d'informations, à savoir le code d'opération et le code d'adresse. Le code d'opération (OperationCode, OP) est utilisé pour représenter l'opération à effectuer par l'instruction (telle que l'addition, la soustraction, la multiplication, la division, le transfert de données, etc.). Sa longueur dépend du nombre d'instructions dans le système d'instructions. . Le code d'adresse est utilisé pour décrire l'opérande de l'instruction. Il donne soit directement l'opérande, soit indique l'adresse mémoire ou l'adresse de registre de l'opérande (c'est-à-dire le nom du registre).
L'instruction comprend deux parties : le champ opcode et le champ d'adresse. Selon le nombre d'adresses impliquées dans le champ d'adresse, les formats d'instructions courants sont les suivants.
Instruction à trois adresses : A1 et A2 dans le champ d'adresse générale déterminent respectivement les premières et deuxièmes adresses d'opérandes, et A3 détermine l'adresse de résultat. L'adresse de l'instruction suivante est généralement donnée séquentiellement par le compteur du programme.
Instruction à deux adresses : A1 dans le champ d'adresse détermine la première adresse d'opérande, et A2 détermine la deuxième adresse d'opérande et l'adresse de résultat en même temps.
Instruction d'adresse unique : A dans le champ d'adresse détermine l'adresse du premier opérande. Correction de l'utilisation d'un certain registre pour stocker le deuxième opérande et le résultat de l'opération. Leurs adresses sont donc implicites dans les instructions.
Instruction d'adresse zéro : dans un ordinateur à pile, les opérandes sont généralement stockés dans les deux unités en haut de la pile déroulante, et les résultats sont placés en haut de la pile, donc les adresses sont implicites. la plupart des instructions n'ont que des opcodes mais pas de domaine d'adresse.
Instructions relatives au numéro d'adresse variable : Le nombre d'adresses impliquées dans le champ d'adresse change avec la définition de l'opération. Par exemple, le nombre d’adresses dans les instructions de certains ordinateurs peut aller de 0 à 6.
Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!