Discussion:Pipeline (architecture des processeurs)

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Problèmes de design[modifier le code]

  • De par la conception matérielle de la division entière sur les architectures habituelles, il n'est pas possible de pipeliner une telle opération. Pour cette raison l'utilisation de ce type d'opération est à minimiser dans les programmes à optimiser. Ceci dit il existe des implantations théoriques d'une division pipelinée.
  • Même si l'utilisation du pipeline permet des gains de performance significatifs, les compilateurs et les algorithmes de réordonnancement ont du mal à l'exploiter efficacement, et introduisent souvent des bulles (un NOP) afin de conserver la cohérence du calcul.
  • Avoir des pipelines très longs (par exemple avec l'Intel Prescott) est problématique du point de vue de la prédiction de branchement, car si le prédicteur se trompe, il faut vider entièrement le pipeline afin de réorienter le calcul, et donc la latence introduite en nombre de cycles est égale à la profondeur du pipeline (notons qu'il existe de nombreuses techniques pour pallier ce biais, mais elles ne sont pas toujours efficaces).

--- Après avoir discuté avec lui, cf. sa page de discusion, les choses sont bien moins claires. Par exemple, la FPU est pipeliné et fonctionne en // avec le CPU, tandis que à l'intérieur de la FPU la division est elle aussi pipelinée... GL que je connais bien ne m'en voudra pas d'avoir déplacé sa prose ici, hein ? si ? Mon vectounet ? ;-) Stéphane

Pas de soucis, j'ai probablement écrit des passages un peu trop vite (si seulement je pouvais être aussi prolixe pour ma thèse...). Gehel 8 décembre 2005 à 00:56 (CET)[répondre]

architectures vectorielle et VLIW[modifier le code]

Je ne suis pas sûr qu'il soit pertinent de traiter ces architectures dans cet article. Mais surtout, les infos sont douteuses. Pour l'architecture vectorielle j'ai corrigé le texte et ôté l'image. Pour l'architecture VLIW, il faudrait que l'image montre un ou deux MEM, et les WB. En effet, dans une architecture VLIW, chaque unité de calcul a sa spécialité (ALU, LOAD/STORE, BRANCH, FPU...). Le dessin VLIW actuel irait assez bien pour l'architecture vectorielle... Marc Mongenet 18 août 2006 à 15:40 (CEST)[répondre]

Séparation électronique/informatique[modifier le code]

Je propose la création d'une deuxième page, pipeline (électronique) traitant l'implémentation électronique des pipelines (les circuits de type FIFO), à séparer du pipeline de traitement des instructions dans un processeur. Le principe est le même, et le traitement des instructions est implémenté en partie comme un circuit de type pipeline, mais ce n'est pas le même domaine. Ca permettrait d'écrire sur les implémentations de pipelines sans avoir peur d'alourdir l'article destiné aux pipelines des processeurs. Topeil (d) 22 janvier 2012 à 14:32 (CET)[répondre]

Write Back[modifier le code]

Tout d'abord merci pour le travail de rédaction de cet article.

Je rencontre une difficulté de compréhension que vous pourrez peut-être m'aider à résoudre :

On trouve dans l'exemple relatif au pipeline à 5 étage une phrase qui devrait éclaircir l'acronyme WB (Write Back) :

  1. WB (Write Back) stocke le résultat dans un registre. La source peut être la mémoire ou bien un registre.

Cette expression ne me semble pas permettre de comprendre le fonctionnement de cette étape "WB". C'est d'autant plus confus qu'elle semble avoir un sens un peu comparable avec l'étape MEM qui la précède.

Quelles sont les différences entre ces deux étapes ? Est-il possible de clarifier cette distinction ?

Dans la même veine :

"Stocke le résultat dans un registre" ---- "vers la mémoire ou bien un registre"... Ca semble un peu contradictoire  :

  • Dans un registre et vers la mémoire ?
  • Dans un registre et vers un autre registre ?
  • Dans un registre et/ou mémoire et registre ?

Pourrait-on simplifier la phrase ou en compléter le sens afin d'éviter toute ambiguïté ?

Je n'ai peut-être juste pas bien compris.

Dans une autre partie de l'article, je lis :

Mem : accès mémoire en lecture ou écriture ;
Writeback : écriture du résultat d'une lecture ou d'un calcul dans les registres.

Ne faudrait-il pas revoir l'article dans son ensemble pour en assurer la cohérence globale ?

Merci pour votre travail de rédaction si vous vous êtes impliqué sur ce sujet, merci pour vos commentaires et vos éventuelles propositions d'amélioration.

Jibe.dodemont (discuter) 8 mai 2018 à 22:25 (CEST)[répondre]

J'ai reformulé la description de l'étape WB, histoire de résoudre cette petite ambiguïté. Mewtow (discuter) 11 mai 2018 à 13:29 (CEST)[répondre]