38Fermer40
ThibautLe 02/10/2012 à 11:07
vince : Ah oui en effet smile J'ai cru qu'il voulait montrer la version suggérée par GoldenCrystal. Pas mal du tout cette coloration. C'est généré à chaque affichage ou mis en cache ?

Folco : Pour compléter la réponse de Brunni avec mon peu de connaissances, le pipeline c'est le système qui consiste, sur les processeurs modernes, à paralléliser les 4 étapes successives qui sont nécessaires pour exécuter une instruction (de mémoire : lecture, décodage, exécution, écriture). Chaque instruction passe successivement dans ces 4 modules, donc nécessite au moins 4 cycles pour s'exécuter comme sur 68k, mais, pendant qu'une instruction est traitée par un module, le module précédent traite l'instruction suivante. Il y a donc une instruction qui rentre dans le pipeline et une instruction qui se termine à chaque cycle, ainsi le temps d'exécution moyenné d'une instruction n'est plus que de 1 cycle. Le problème de ce système intelligent, c'est qu'un saut conditionnel introduit un doute sur les instructions qui suivront, donc sur les instructions à charger dans le pipeline. En cas de mauvaise prédiction, il faut annuler le travail des 3 premiers modules et leur donner successivement les nouvelles instructions, donc aucun résultat ne sort du processeur durant les 4 cycles suivants.

Dans un code qui comporte beaucoup d'alternatives, mal prédire peut tendre à diviser par 4 la vitesse d'exécution. Il doit probablement exister des tels cas d'école, mais je crois que les programmes réels sont plutôt bien prédits.