1

Bonjour

Comment qu'on peut calculer la vitesse du processeur de la TI en utilisant un programme en C ?
En gros comment ça marche les "bench" ?

mici ^^
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

2

bin on fait une opération pendant un temps donné et on regarde combien on a fait d'opérations smile

pour ti je sais qu'il y a un programme tibench tu dois le trouver avec google.

3

oui je l'ai trouvé mais y a une partie en asm et il bug sur ma TI

et sinon faut pas utiliser les interruptions ?
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

4

Parce que les interruptions prennent du temps processeur au détriment de l'exécution du bench lui-même.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5

mais alors c'est quoi comme opération qu'il faut faire ?
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

6

Pour le bench lui-même, il faut faire des additions, soustractions, move, branchements, etc. Toutes les opérations dont on connaît le nombre de cycles processeur.
Pour la calibration du temps (arrêter le bench au bout d'un certain temps), il faut bien utiliser des interruptions, mais le moins possible (typiquement, désactiver l'AUTO_INT_1 qui se lance 256 ou 300+ fois par seconde selon le modèle, sachant que le temps que le processeur prenne en compte l'interruption se compte en dizaines de cycles processeur).
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

7

ok donc on est obligé d'inclure des fonctions ASM
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

8

c'est mieux, mais c'est pas totalement obligatoire : tu prends une fonction qui calcule n'importe quoi pendant un temps suffisant (mais qui n'appelle pas de ROM call, sinon la vitesse dépendra de la version de la ROM), tu regardes combien de fois elle s'exécute par seconde sur une calc dont tu connais la vitesse, puis tu divises par ce chiffre et tu multiplies par la vitesse connue smile

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

9

Avec cette manière, le bench se trouve dépendant du compilateur (le code généré varie d'un compilo à un autre, et un compilo donné peut donner des codes différents suivant la version), non ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

10

Pollux>ok mais je cherche justement la vitesse de la calculatrice
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

11

ben il y a plein de programmes qui font déjà ça, non ? ils sont p-ê pas tous compatibles titanium, mais je crois qu'extended en a fait un qui devrait être compatible smile (je sais pas s'il l'a publié par contre)

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

12

oui je sais ^^
mais c'est le principe de ces programmes qui m'intéresse ^^ (comment ça marche)
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

13

ah ok, ben t'écris simplement du code assembleur qui fait n'importe quoi sans planter, tu comptes le nb de cycles qu'il est censé prendre, et ça te permet de déduire la fréquence du processeur à partir du nb de fois où le code s'exécute par seconde ^^

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

14

J'avais remarqué que certaines instructions avaient un temps d'exécution différent sur HW1 et HW2 quand je m'amusais avec genlib. À quoi cela peut-il être du ? (par exemple, je crois que adda.w dn, an était plus rapide que lea.l x(an), an sur HW1 mais c'était linverse sur HW2).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

15

pollux>ok et c'est possible sans utiliser d'instructions Assembleur ? parce que j'ai jamais codé une seule ligne d'assembleur d'après l'un de tes posts précédents il faudrait une fonction qui n'utilise pas de ROM_CALL mais comment compter le nombre de cycle de processeur alors ?
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

16

Ben il faut que tu saches combien de cycles processeur ton programme va demander (pour ensuite regarder combien de temps ça a pris), donc tu es obligé de passer par des instructions ASM...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

17

ok c'est tout ce que je voulais savoir smile
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic