1

yop!
Y a t'il moyen de connaître précisement combien de cycles prennent les instructions du Xeon EM64T (une table quoi) ?
Si quelqu'un a une telle table je veux bien un lien smile
merci d'avance
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

2

C'est bien plus compliqué qu'une table, il y a comme dans tous les processeurs modernes des tas de dépendances entre instructions ^^ Regarde sur le site d'intel : http://www.intel.com/design/pentium4/manuals/248966.htm (pas téléchargé, donc p-ê que c'est pas ce que tu veux)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

je ne sais pas, mais
LionelA :
précisement combien de cycles

de toutes façons ces tables ne sont qu'une indication, ça peut varier d'un code à l'autre (voir le chapitre sur les mangeurs de cycles dans le black book de M. Abrash)

4

je l'avais déjà le guide d'optimisation IA32 mais merci smile
en fait ce que je voudrais savoir c'est si par exemple certaines instructions sont meilleures que d'autres genre :

shl %eax
setc %cl
add %cl, %bx

est plus rapide que :

shl %eax
adc $0, %bx


?

et tout un tas de truc dans le meme genre
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

5

cf l'appendice C, y a tout ce qui t'intéresse ^^

en l'occurrence la première solution a l'air d'avoir une latence plus faible, mais étant donné que ça prend une instruction en plus peut-être que ça peut avoir d'autres inconvénients en fonction du reste du code... tu peux aussi voir si "bx += (machin>>(32-truc))&1" ne serait pas plus rapide ^^ (setc et adc ont une grosse latence, alors que shr et and sont hyper rapides)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

6

ok merci bcp smile
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

7

LionelA :
yop!
Y a t'il moyen de connaître précisement combien de cycles prennent les instructions du Xeon EM64T (une table quoi) ?
Si quelqu'un a une telle table je veux bien un lien smile
merci d'avance


C'est la première fois que je viens ici, je suis programmeur asm 68000 (Atari ST, Falcon, Jaguar).

Vu la puissance de ces machines le calcul des cycles pris est un sport national, mais cela est faisable car le 68000 ne possède pas de cache, et le prefetch est tellement court qu'il change pas beaucoup les chiffres.

Mais sur un PC ou sur des procs avec des caches, cela changes tout et comme l'a écrit Pollux plus haut, certaines instructions l'une derrière l'autre vont tout changer, du fait de leur longueur et donc du prefetch, donc bonne chance pour le calcul, mais des règles de base sont toujours applicable, comme privilégiez les registres, ce genre de chose, je pourrais pas m'élargir car je connais pas du tout l'asm PC, j'ai déja fait du code sur du 68030, 68060, Dsp 56000, des custom Risc, mais je vous avoues qu'il a l'air bien lourd le code PC wink Donc bonne chance et bonne continuation


GT Turbo octopus
avatar
Accrochez vous ca va être Cerebral !!