Quest-ce quun pipeline dinstructions ?

Toute instruction de processeur comporte plusieurs étapes dans son fonctionnement. Chacune de ces étapes prend un seul cycle CPU pour se terminer. Ces étapes sont la récupération d'instructions, le décodage d'instructions, l'exécution, l'accès à la mémoire et l'écriture différée. Respectivement, ceux-ci obtiennent l'instruction qui doit être complétée, séparent l'opération des valeurs en cours d'exécution, exécutent le processus, ouvrent le registre sur lequel le résultat sera écrit et écrivent le résultat dans le registre ouvert.

Historique des processeurs de commandes

Dans les premiers ordinateurs, le processeur n'utilisait pas de pipeline d'instructions. Dans ces processeurs, chaque opération à cycle unique devait se produire pour chaque instruction. Cela signifiait qu'il fallait cinq cycles d'horloge pour que l'instruction moyenne soit entièrement traitée avant que la suivante puisse être lancée. Certaines opérations peuvent ne pas avoir besoin d'écrire de résultat dans un registre, ce qui signifie que les étapes d'accès à la mémoire et de réécriture peuvent être ignorées.

Qu'est-ce qu'un pipeline d'instructions ?

Dans un processeur sous-scalaire sans pipeline, chaque partie de chaque instruction est exécutée dans l'ordre.

Il y a un problème, cependant, lors de l'exécution d'une instruction complète dans l'ordre avant de pouvoir passer à l'instruction suivante. Le problème est le manque de cache. La CPU stocke les données qu'elle traite activement dans le registre. Celui-ci est accessible avec une latence d'un cycle. Le problème est que le registre est minuscule car il est intégré au cœur du processeur. Le processeur doit accéder au cache L1 plus grand mais plus lent si les données n'ont pas déjà été chargées. S'il n'y est pas, il doit retourner dans le cache L2 plus grand et plus lent. La prochaine étape est le cache L3 ; la dernière option est la RAM système. Chacune de ces options nécessite de plus en plus de cycles CPU pour être vérifiée.

Maintenant, cette latence supplémentaire supplémentaire peut être un gros problème dans un système qui doit terminer chaque instruction dans l'ordre dans son intégralité avant de commencer l'instruction suivante. Ce qui était un processeur à 5 cycles par instruction peut soudainement être bloqué sur une instruction pendant des dizaines ou des centaines de cycles d'horloge. Pendant tout ce temps, rien d'autre ne peut se produire sur l'ordinateur. Techniquement, cela peut être quelque peu atténué en ayant deux cœurs indépendants. Rien, cependant, ne les empêche tous les deux de faire la même chose, potentiellement simultanément. Donc, emprunter la route multicœur ne résout pas ce problème.

Le pipeline RISC classique

RISC signifie ordinateur à jeu d'instructions réduit . C'est un style de conception de processeur qui optimise les performances en facilitant le décodage de chaque instruction. Ceci est en comparaison avec CISC ou Complex Instruction Set Computer, qui conçoit des ensembles d'instructions plus complexes permettant à moins d'instructions d'être nécessaires pour effectuer les mêmes tâches.

La conception RISC classique comprend un pipeline d'instructions. Au lieu d'exécuter l'une des cinq étapes d'instruction dans un cycle donné, le pipeline permet d'exécuter les cinq étapes. Bien sûr, vous ne pouvez pas exécuter les cinq étapes d'une instruction dans un cycle. Mais vous pouvez mettre en file d'attente cinq instructions consécutives avec un décalage d'une étape chacune. De cette façon, une nouvelle instruction peut être complétée à chaque cycle d'horloge. Offrant une augmentation potentielle des performances par 5 pour une augmentation relativement faible de la complexité du cœur.

Qu'est-ce qu'un pipeline d'instructions ?

Dans un processeur pipeliné scalaire, chaque étape d'une exécution d'instructions peut être effectuée une fois par cycle d'horloge. Cela permet un débit maximum d'une instruction terminée par cycle.

Les processeurs qui n'ont pas de pipeline ne peuvent être que sous-scalaires, car ils ne peuvent pas exécuter une instruction complète par cycle. Avec ce pipeline principal à cinq étapes, vous pouvez créer un processeur scalaire capable de terminer une instruction pour chaque processus. En créant des pipelines encore plus étendus, vous pouvez créer des processeurs superscalaires capables d'exécuter plusieurs instructions par cycle d'horloge. Bien sûr, il y a encore des problèmes potentiels.

Toujours séquentiel

Rien de tout cela ne résout le problème de l'attente de plusieurs cycles pour une réponse lorsqu'il est nécessaire d'interroger les différents niveaux de cache et de RAM. Il introduit également un nouveau problème. Que se passe-t-il si une instruction repose sur la sortie de l'instruction précédente ? Ces problèmes sont résolus indépendamment avec un répartiteur avancé. Il planifie soigneusement l'ordre d'exécution afin qu'aucune instruction dépendant de la sortie d'une autre ne soit trop rapprochée. Il gère également les échecs de cache en garant une instruction et en la remplaçant dans le pipeline par d'autres instructions prêtes à être exécutées et ne nécessitant pas son résultat, en reprenant l'instruction lorsqu'elle est prête.

Ces solutions peuvent fonctionner sur des processeurs non pipelinés, mais elles sont nécessaires pour un processeur superscalaire qui exécute plus d'une instruction par horloge. Un prédicteur de branche est également très utile car il peut essayer de prédire le résultat d'une instruction avec plus d'un résultat potentiel et continuer à supposer qu'il est correct, sauf preuve du contraire.

Conclusion

Un pipeline permet d'utiliser toutes les capacités distinctes du processeur à chaque cycle. Pour ce faire, il exécute simultanément différentes étapes de différentes instructions. Cela n'ajoute même pas beaucoup de complexité à la conception du processeur. Cela ouvre également la voie pour permettre à plus d'une instruction d'effectuer une seule étape par cycle.



Leave a Comment

Comment cloner un disque dur

Comment cloner un disque dur

À l’ère numérique moderne, où les données constituent un atout précieux, le clonage d’un disque dur sous Windows peut être un processus crucial pour beaucoup. Ce guide complet

Comment réparer le pilote WUDFRd qui n’a pas pu se charger sous Windows 10 ?

Comment réparer le pilote WUDFRd qui n’a pas pu se charger sous Windows 10 ?

Êtes-vous confronté au message d'erreur lors du démarrage de votre ordinateur indiquant que le pilote WUDFRd n'a pas pu se charger sur votre ordinateur ?

Comment réparer le code derreur 0x0003 de NVIDIA GeForce Experience

Comment réparer le code derreur 0x0003 de NVIDIA GeForce Experience

Rencontrez-vous le code d’erreur 0x0003 de l’expérience NVIDIA GeForce sur votre bureau ? Si oui, lisez le blog pour savoir comment corriger cette erreur rapidement et facilement.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Comment supprimer un GPU dun PC Windows en 2023

Comment supprimer un GPU dun PC Windows en 2023

Avez-vous besoin de retirer le GPU de votre PC ? Rejoignez-moi pour expliquer comment supprimer un GPU de votre PC dans ce guide étape par étape.

Comment installer un SSD NVMe sur un ordinateur de bureau et un ordinateur portable

Comment installer un SSD NVMe sur un ordinateur de bureau et un ordinateur portable

Vous avez acheté un nouveau SSD NVMe M.2 mais vous ne savez pas comment l'installer ? Lisez la suite pour savoir comment installer un SSD NVMe sur un ordinateur portable ou un ordinateur de bureau.

Quest-ce quune bombe logique ?

Quest-ce quune bombe logique ?

Une bombe logique est un incident de sécurité où un attaquant met en place une action différée. Continuez à lire pour en savoir plus.

Quest-ce que Stuxnet ?

Quest-ce que Stuxnet ?

Stuxnet était un ver auto-propagé. Il s'agissait de la première utilisation d'une cyber-arme et du premier malware.

Quest-ce quun hacker éthique ?

Quest-ce quun hacker éthique ?

Un hacker éthique est un hacker qui agit dans les limites de la loi. Continuez à lire pour en savoir plus sur le sujet.

Quest-ce que le chiffrement symétrique ?

Quest-ce que le chiffrement symétrique ?

Il existe de nombreuses parties différentes de la cryptographie. Si vous souhaitez chiffrer certaines données, vous pouvez utiliser deux types d'algorithmes : symétrique