1

ns d'ExtGraph, j'ai pensé, pour les fonctions masquées, à, plutôt que de faire : and.l [masque],(a0) or.l [sprite],(a0)En essayant d'améliorer la vitesse des fonctio
.l dn,(a0)
faire ça :  move.l (a0),dn
  and.l  [masque],dn
  or.l   [sprite],dn
  move
(masque et sprite sont dans des registres de données)
En supposant que ça irait peut-être plus vite, ce qui s'est confirmé lors des benchs. Le code est en effet légèrement plus rapide. À peine.
Puis, j'ai voulu compter les cycles quand même pour savoir combien de cycles je gagnais à faire cette méthode.
J'ai donc par ligne pour la première version : 20 + 20 = 40 cycles.
Et pour la deuxième version : 12 + 8 + 8 + 12 = 40 cycles.
Or, la deuxième version est plus rapide (très légèrement, 2-3cheeky

Savez vous m'expliquer pourquoi ?

2

a0 est un pointeur dans la mémoire. Le processeur doit effectuer des micro-instructions supplémentaire pour lire les données voulus dans la mémoire. Dans ton exemple 1 tu fait ça 2 fois.

Par contre dans l'exemple 2 tu met ça dans un registre et donc tu effecture l'opération 1 fois et ensuite pour lire le contenu de d0 ça ce fait en vitesse éclaire car le processeur n'a pas besoin d'effectuer des opérations supplémentaire.

Au final juste pour dire que de lire et écrire dans un regsitre et bien plus rapide que d'écrire directement en mémoire.


Kevin pourras mieux t'exliquer que moi, j'ai encore énormément de choses à apprendre dans ce domaine.. smile

[EDIT]C'est d'ailleurs pourquoi on ma conseillé de mettre mes variables dans un registre, faire mes opérations et remettre le registre dans la variable
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

3

geogeo> je sais bien tout ce que tu m'as dit...
Je dis juste que par rapport à la doc je ne devrais avoir gagné aucun cycle donc pas de vitesse en plus.

4

C'est vrai que c'est bizarre:
1er exemple: 4 (an) et 0 dn
2eme exemple: 4 (an) et 4 dn

Peut-etre que le micro-processeur est plus long pour executer une instruction avec 2 (an) que 2 instructions avec chacune 1 (an).
What kind of technology is this?

5

geogeo> je sais bien tout ce que tu m'as dit...


Je me disais bien que je t'apprenderais rien. smile
Je dis juste que par rapport à la doc je ne devrais avoir gagné aucun cycle donc pas de vitesse en plus.


Dans la doc ils précisent qu'il y a un calcul à faire car les résultats provienne t d'un Atari ST...

Je ne vois pas mais c'est vraiment une question très interessante. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

MOVE Instructions:
                                               d(an
.b.w/.l    dn   an     (an)  (an)+ -(an) d(an) ,dn)  abs.s abs.l

dn         4/4   4/4    8/12  8/12  8/14 12/16 14/18 12/16 16/20
an         4/4   4/4    8/12  8/12  8/14 12/16 14/18 12/16 16/20
(an)       8/12  8/12  12/20 12/20 12/20 16/24 18/26 16/24 20/28
(an)+      8/12  8/12  12/20 12/20 12/20 16/24 18/26 16/24 20/28
-(an)     10/14  10/14 14/22 14/22 14/22 18/26 20/28 18/26 22/30
d(an)     12/16  12/16 16/24 16/24 16/24 20/28 22/30 20/28 24/32
d(an,dn)  14/18  14/18 18/26 18/26 18/26 22/30 24/32 22/30 26/34
abs.s     12/16  12/16 16/24 16/24 16/24 20/28 22/30 20/28 24/32
abs.l     16/20  16/20 20/28 20/28 20/28 24/32 26/34 24/32 28/36
d(pc)     12/16  12/16 16/24 16/24 16/24 20/28 22/30 20/28 24/32
d(pc,dn)  14/18  14/18 18/26 18/26 18/26 22/30 24/32 22/30 26/34
Immediate  8/12   8/12 12/20 12/20 12/20 16/24 18/26 16/24 20/28l

What kind of technology is this?

7

Pourtant:
move.l (an),(an) 20 clocks
move.l (an),dn 12 clocks
move.l dn,(an) 12 clocks
move.l dn,dn 4 clocks

C'est peut-etre pas pareil pour les and ....
What kind of technology is this?

8

Bas pourtant dans la doc pour or et and ça fait 8 clocks.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

geogeo
: Dans la doc ils précisent qu'il y a un calcul à faire car les résultats provienne t d'un Atari ST...
Je pense que nous n'avons pas la même doc.
J'ai la doc de motorola.

10

C'est plutôt mal parti pour moi. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

11

C'est parce que les chiffres sont sur un Motorola 68000 standard et que les TI-89/92/92+/V200 utilisent la version à basse consommation. Il doit y avoir de légères différences.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

La deuxiemme methode est de loin plus rapide tongue

13

Pas de loin d'après mes benchs

14

ca aurait pas un rapport avec ce magnifique pipeline de prechargement des instructions qu'on avait essaye de decortiquer y a quelques temps? triso
enfin, je dis ca je dis rien hein... cheeky
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

15

oué c un truc du style sans doute.
lisez donc le chapitre du black book qui traite des *mangeurs de cycle* (c peut etre pas le nom exact !)
c TRES interessant smile

16

17

oui, je confirme, et heu le titre c'est pas "black book", mais "graphics programming black book" trigni
et y a une version plus recente qui est blanche...
et aussi zen of graphics programming, dont quasiment tous les chapitres ont ete repris dans le black book, mais pas tous tongue
et zen of code optimisation (y me semble qu'il y est integralement dans le bb cuila par contre)
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

18

>et y a une version plus recente qui est blanche...
c vrai ?
le nom est le meme ?
à la fnac y'a pas longtemps (cette année) g failli l'acheter en version noire...

19

j'ai pas fait gaffe au nom... en tt cas c'est le meme boukin, je l'avais vu a eyrolles a cote de l'ancien y me semble... a moins que ca soit a la fnac... chais plus
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

20

> La deuxième methode est de loin plus rapide
Les benchs ont l'air de montrer que ça n'est pas le cas - 2 à 3%, ça n'est pas très significatif.
Par contre, la deuxième méthode est plus grosse. Surtout si on ne peut pas faire sans détruire (et donc sauver/restaurer) un registre supplémentaire, et qu'on sauve/restaure moins de 3 registres (+8 octets au total - ça fait minimum +10%, la plupart des routines de sprite font moins de 80 octets)...

Sur les "petites" routines (8/16/32), ça n'est pas forcément la peine; ça l'est peut-être sur les X8.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

21

les benchs que j'avais fait pour xlib m'avaient dit el contraire...
enfin Xlib est basé sur la 2eme methode il me semble.
pour vraiment bien bencher il faut dev la boucle ,sinon tu veras moins la diff (meme si c'est de maniere temp)

22

ha j'avais bencher pour les fonctions maskée (+ d'op) donc il se peut en effet que pour les fonction de gris clair ce soit l'inverse, je ferait des benc sous peu.

23

Tout ça pour dire que la doc est périmée, à mon avis beaucoup son dans ce cas.
C'est un peu normal car comme la dis Kevin le processeur des TI 'ai pas identique à 100% au anciens motorola car il doitminimiser la consommation d'énergie.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

24

Reflechissez un peu. 2% de 40 cycles, ca fait: 0.8 cycles. A votre avis c'est possible cela? tongue

Le truc qui doit changer (Mon opinion) est qu'une interruption (Logicielle / Hardware / Peut etre l'ecran) interrompt ou ralentit une instruction longue (and.l dn,(an) necessite 2 lecture de word, un calcul et 2 ecritures de word).
Bref ca fait parti des mysteres des Ti et ca avait ete longuement explique dans les archives du forum il y a 3 ans...

25

bref ce sont des mangeurs de cycles quoi grin

26

Ya le fait aussi que un cycle d'accée mémoire n'est pas forcement défini sa dépend de la vitesse de la mémoire, meme si le CPU prend x cycles

Pour ceux qui connaissent le 68000 au niveau electrique, je parle du /DTACK
Donc suivant comment les TI gere cela sa peut etre plus lent sachant que la premiere version fait plus de lecture en mémoire que la seconde
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

27

En tout cas, pour ExtGraph, je suis contre cette "optimisation": ça rajoute 4 octets et ça consomme un registre de plus, donc ce n'est pas une optimisation.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

28

Tu es membre de la tict? Tu es impliqué dans ce projet?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

29

Je suis impliqué parce que je suis membre de l'équipe de TIGCC et que c'est une future contribution à TIGCCLIB.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

30

"En tout cas, pour ExtGraph, je suis contre cette "optimisation": ça rajoute 4 octets et ça consomme un registre de plus, donc ce n'est pas une optimisation."

bah moi je suis pour... c bete hein? trisotrisotriso
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina