Qu’est-ce que le pipelining en informatique ?


Le terme a quelques utilisations différentes, mais elles ont surtout en commun l'idée d'effectuer une séquence d'étapes de manière superposée. Quelques exemples :

  • Pipelinement des instructions : Un microprocesseur doit effectuer plusieurs étapes pour traiter une instruction : récupération, décodage, exécution, accès à la mémoire, écriture dans un registre. Avec le pipelining, après que la première instruction ait terminé l'étape de recherche, elle passe au décodage, et la deuxième instruction commence la recherche. Au fur et à mesure que ces deux instructions avancent, la troisième commence la recherche. À tout moment, il peut y avoir cinq instructions, chacune à un stade différent du pipeline. (Certains événements, tels qu'un manque de mémoire cache, peuvent " bloquer " le pipeline, parce qu'un étage prend trop de temps à se terminer pour une certaine instruction.)
  • Pipelinement de requête : Dans un processeur de requête de base de données, il existe un arbre d'opérateurs, tels que le filtre, la jointure et l'union. Dans certains cas, un opérateur peut commencer à sortir des résultats vers son parent avant d'avoir consommé toute son entrée. Par exemple, les lignes filtrées d'une table peuvent être transmises à un opérateur de jointure au fur et à mesure de leur examen. Ainsi, l'opérateur de jointure peut commencer son exécution avant que l'opérateur de filtrage ne soit terminé.