Maison  >  Article  >  Le processus d'exécution d'une instruction dans le CPU

Le processus d'exécution d'une instruction dans le CPU

hzc
hzcoriginal
2020-06-12 11:54:1912346parcourir

Le processus d'exécution d'une instruction dans le CPULe processus d'exécution d'une instruction dans le CPU :

Le travail de presque tous les CPU d'ordinateur de type von Neumann peut être divisé en 5 parties Étapes : récupérer les instructions, décoder instructions, exécuter des instructions, accéder aux données et réécrire les résultats.

1. Phase de récupération d'instruction

La phase de récupération d'instruction (IF) est le processus de récupération d'une instruction de la mémoire principale vers le registre d'instructions.

La valeur dans le compteur de programme PC est utilisée pour indiquer l'emplacement de l'instruction en cours dans la mémoire principale. Lorsqu'une instruction est récupérée, la valeur dans PC sera automatiquement incrémentée en fonction de la longueur du mot d'instruction : s'il s'agit d'une instruction d'une longueur d'un seul mot, alors (PC)+1 à PC s'il s'agit d'une instruction d'une longueur d'un double mot, alors (PC)+1àPC ; puis (PC)+2àPC, et ainsi de suite.

2. Phase de décodage des instructions

Après avoir récupéré l'instruction, l'ordinateur entre immédiatement dans la phase de décodage des instructions (ID).

Dans l'étape de décodage des instructions, le décodeur d'instructions divise et interprète les instructions récupérées selon le format d'instruction prédéterminé, et identifie et distingue différentes catégories d'instructions et diverses méthodes d'obtention d'opérandes.

Dans les ordinateurs contrôlés par logique combinatoire, le décodeur d'instructions génère différents potentiels de contrôle pour différents opcodes d'instruction afin de former différentes séquences de micro-opérations ; dans les ordinateurs contrôlés par des microprogrammes, le décodeur d'instructions utilise l'opcode d'instruction est utilisé pour trouver l'opcode d'instruction. point d'entrée du microprogramme qui exécute l'instruction, et l'exécution démarre à partir de ce point d'entrée.

3. Phase d'instruction d'exécution

Après les phases de récupération d'instruction et de décodage d'instruction, il entre ensuite dans la phase d'instruction d'exécution (Execute, EX).

La tâche à ce stade est d'effectuer diverses opérations spécifiées par l'instruction et de mettre en œuvre spécifiquement la fonction de l'instruction. A cet effet, différentes parties du CPU sont connectées pour effectuer les opérations requises.

4. Phase d'accès et d'accès

Selon les exigences de l'instruction, il peut être nécessaire d'accéder à la mémoire principale et de lire l'opérande, entrant ainsi dans la phase d'accès et d'accès (Mémoire, MEM).

La tâche de cette étape est d'obtenir l'adresse de l'opérande dans la mémoire principale en fonction du code d'adresse de l'instruction, et de lire l'opérande de la mémoire principale pour l'opération.

5. Étape de réécriture des résultats

Comme dernière étape, l'étape de réécriture des résultats (Write Back, WB) "réécrit" les données de résultat en cours d'exécution de l'étape d'instruction d'exécution dans une forme de stockage :

Les données de résultat sont souvent écrites dans les registres internes du processeur afin qu'elles puissent être rapidement accessibles par les instructions ultérieures

Dans certains cas, les données de résultat peuvent également être écrites relativement lentement, mais moins chères et dans la mémoire principale ; avec une plus grande capacité. De nombreuses instructions modifient également l'état des bits d'indicateur dans le registre des mots d'état du programme. Ces bits d'indicateur identifient les résultats de différentes opérations et peuvent être utilisés pour affecter les actions du programme.

Une fois l'instruction exécutée et les données de résultat réécrites, si aucun événement inattendu (tel qu'un débordement de résultat, etc.) ne se produit, l'ordinateur obtiendra alors l'adresse d'instruction suivante du PC du compteur de programme et démarrera un nouveau cycle. Le cycle d’instruction suivant récupérera l’instruction suivante séquentiellement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn