Bonjour,

juste pour info : un PIV pour augmenter sa fréquence a dû aussi augmenter la longeur des pipelines.... or il faut savoir qu'un cpu actuel pour ne pas perdre trop de temps lors d'un branchement
ie une structure d'un prgramme

if (condition)
   {
       branche 1....
   }
else
   {
     branche2...
   }

utilisé dans tous les programmes, va engender un prédiction de branchement, cad que le cpu va commencer à exécuter les commandes de la branche la plus probable (par exemple la branche1) il va donc commencer à mettre des instructions dans le pipeline..... hors si par malheur la prédiction fut fausse, le pipeline rempli doit être flushé..... hors ce méchanisme est extrêmement gourmand en temps.....

sur un programme sans branche (il faut bien rêver) un PIV serait beaucoup plus rapide qu'un AMD ou un centrino (qui au passage est un jeu de puces et non pas un proc, le PIV M est un proc [qui d'ailleur dérive de l'architecture PIII et non pas PIV] mais je m'égare....) mais il s'avère que tout cpu ne sait pas lire le marc de café..... donc un PIV va passer son temps à flusher ses pipelines..... question ménage c'est bien.....

Intéressante, cette discussion.

Au passage, c'est souvent le programmeur le mieux placé pour aider le processeur à deviner ce qui est le plus probable. Par exemple, le noyau linux fournit des macros "likely" ou "unlikely" (voir http://lxr.linux.no/ident?i=likely) que les programmeurs peuvent utiliser.

Est-ce que certain(e)s d'entre vous sauraient faire ca dans un programme utilisateur C ou C++? C'est à dire indiquer au compilateur quelle est la branche la plus probable?

   :-)

   Michael.

--
Michael Opdenacker, Free Electrons
Free Embedded Linux Training Materials
on http://free-electrons.com/training


Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à