Maison >Problème commun >Quelle langue peut être directement reconnue par les ordinateurs ?
Le langage qui peut être directement reconnu par les ordinateurs est le « langage machine ». Le langage machine est un langage directement abrégé par un code d’instruction informatique et exprimé en binaire. C’est le seul langage qu’un ordinateur peut directement reconnaître et exécuter.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
Le langage que les ordinateurs peuvent directement reconnaître et exécuter est le « langage machine ».
Le langage machine est un langage de programmation ou un code d'instruction qui peut être directement reconnu par la machine sans traduction. Chaque code d'opération a un circuit correspondant à l'intérieur de l'ordinateur pour le compléter, ou il peut être complété sans traduction. . Un langage de programmation ou un code instruction directement compris et accepté par la machine. Le langage machine utilise des adresses absolues et des opcodes absolus. Différents ordinateurs ont leurs propres langages machine, c'est-à-dire leurs systèmes d'instructions. Du point de vue de l'utilisation, le langage machine est le langage de niveau le plus bas.
Une instruction est une instruction en langage machine. Il s'agit d'un ensemble de codes binaires significatifs. Le format de base de l'instruction est tel que le champ opcode et le champ code d'adresse spécifie la nature et la fonction de l'opération. de l'instruction , le code adresse donne l'opérande ou l'adresse de l'opérande.
Une instruction en langage machine est un code binaire composé d'un opcode et d'un 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. [2] 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, parce 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 d'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) 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 réalité deux types d'informations, à savoir le code opération et le code 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 (c'est-à-dire le nom du registre) de l'opérande.
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 l'adresse de la première opérande, et A2 détermine l'adresse de la deuxième opérande et l'adresse du 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 déroulante. pile, et les adresses sont implicites. Par conséquent, la plupart des instructions n'ont que des opcodes et aucun champ d'adresse.
⑤Instruction de 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.
Développez vos connaissances :
Pour écrire des programmes en langage machine, les programmeurs doivent d'abord mémoriser tous les codes instructions de l'ordinateur utilisé et la signification des codes. Lors de la programmation manuelle, les programmeurs doivent gérer eux-mêmes l'allocation de stockage ainsi que l'entrée et la sortie 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. Le temps nécessaire pour écrire un programme est souvent des dizaines, voire 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. À l’exception des professionnels des constructeurs informatiques, la grande majorité des programmeurs n’apprennent plus le langage machine.
Recommandations associées : "Introduction à la programmation"
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!