Théoriquement, les instructions d'une application peuvent être divisées en ensembles d'instructions utilisées pour demander des services spécifiques au système d'exploitation et à l'unité centrale de traitement (CPU). Le flux de traitement des instructions de fonctionnement du processeur est grossièrement divisé en plusieurs étapes : récupération des instructions, décodage, exécution, accès à la mémoire, réécriture, etc. ; chaque instruction nécessite 1 à 6 octets, selon les champs requis.
L'environnement d'exploitation de cet article : système Windows 10, ordinateur thinkpad t480.
Théoriquement, les instructions de l'application peuvent être divisées en deux catégories : le jeu d'instructions de l'unité centrale (CPU) et celui utilisé pour demander des services spécifiques au système d'exploitation.
L'unité centrale de traitement (CPU, Central Processing Unit) est un circuit intégré à très grande échelle, qui est le cœur de calcul (Core) et le cœur de contrôle (Control Unit) d'un ordinateur. Sa fonction est principalement d'interpréter les instructions informatiques et de traiter les données dans les logiciels informatiques.
L'unité centrale de traitement comprend principalement l'unité arithmétique (unité arithmétique et logique, ALU, Arithmetic Logic Unit) et la mémoire cache (Cache), ainsi que le bus (Data), le contrôle et l'état qui réalise la connexion entre eux. ). Celui-ci, ainsi que la mémoire interne (Mémoire) et les dispositifs d'entrée/sortie (E/S), sont collectivement connus comme les trois composants principaux des ordinateurs électroniques.
Le flux de traitement des instructions de fonctionnement du CPU est grossièrement divisé en plusieurs étapes : récupération des instructions, décodage, exécution, accès à la mémoire, réécriture, etc. Chaque instruction nécessite entre 1 et 6 octets, selon les champs requis. Le premier octet de chaque instruction indique le type d'instruction : les 4 bits de poids fort sont la partie code (par exemple : 6 est une instruction d'opération sur nombre entier), et les 4 bits de poids faible sont la partie fonction (par exemple : 1 est une instruction de soustraction). dans la classe entière) 61 Ensemble, ils constituent la sous-commande.
Flux d'instructions de traitement
Une propriété importante du jeu d'instructions est que le codage d'octets doit avoir une interprétation unique. Toute séquence d'octets code une séquence d'instructions unique ou n'est pas une séquence d'octets valide. Étant donné que le premier octet de chaque instruction possède une combinaison unique de code et de fonction, étant donné cet octet, nous pouvons déterminer la longueur et la signification de tous les autres octets supplémentaires.
Chaque instruction nécessite entre 1 et 6 octets, selon les champs requis. Le premier octet de chaque instruction indique le type d'instruction : les 4 bits de poids fort sont la partie code (par exemple : 6 est une instruction d'opération sur nombre entier), et les 4 bits de poids faible sont la partie fonction (par exemple : 1 est une instruction de soustraction). dans la classe entière) 61 Ensemble, ils constituent la sous-commande.
Voici l'organigramme de traitement de chaque instruction :
récupérer
obtenir la valeur L'étape lit les octets d'instructions de la mémoire et les place dans la mémoire d'instructions (dans la CPU), et l'adresse est la valeur du compteur de programme (PC). Il calcule l'adresse de l'instruction suivante suivant l'instruction en cours de manière séquentielle (c'est-à-dire la valeur du PC plus la longueur de l'instruction récupérée).
Décoder (décoder)
L'ALU lit jusqu'à deux opérandes du fichier de registre (une collection de registres à usage général). (C'est-à-dire que le contenu de deux registres peut être lu au maximum en même temps)
Exécuter (exécuter)
Pendant la phase d'exécution, l'unité arithmétique/logique (ALU) sont utilisés à des fins différentes. Pour les autres instructions, il agira comme un additionneur pour calculer l'incrémentation ou la décrémentation du pointeur de pile, ou calculer l'adresse effective, ou simplement ajouter 0, en passant une entrée à la sortie.
Le registre de codes de condition (CC) comporte trois bits de condition. L'ALU se charge de calculer la nouvelle valeur du code de condition. Lorsqu'une instruction de saut est exécutée, le signal de branchement cnd est calculé sur la base du code de condition et du type de saut.
Mémoire
Dans la phase d'accès à la mémoire, la mémoire de données (dans le CPU) lit ou écrit un mot mémoire. La mémoire d'instructions et de données accède aux mêmes emplacements de mémoire, mais à des fins différentes.
Réécriture
La phase de réécriture peut écrire jusqu'à deux résultats dans le fichier de registre. Le fichier de registre possède deux ports d'écriture. Le port E est utilisé pour écrire la valeur calculée par l'ALU, tandis que le port M est utilisé pour écrire la valeur lue dans la mémoire de données.
Mettre à jour le PC (mise à jour du PC)
Selon le code d'instruction et le drapeau de branche, sélectionnez la valeur PC suivante parmi les valeurs de signal obtenues dans les étapes précédentes.
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!