cadencement processeur Z80
4 participants
Page 1 sur 1
cadencement processeur Z80
Bonjour
les Z80 sont cadencés à 6Mhz environ. comment est fait le générateur de cycles ? piloté par un quartz ? n'a t on pas la possibilité de récupérer les info pour faire un chrono par exemple ?
merci
les Z80 sont cadencés à 6Mhz environ. comment est fait le générateur de cycles ? piloté par un quartz ? n'a t on pas la possibilité de récupérer les info pour faire un chrono par exemple ?
merci
jovasco- Argent 4
- Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :- - TI-Basic Z80
- - TI-80
- - TI-82 Stats.fr
- - TI-86
- - TI-89
Re: cadencement processeur Z80
Même sans interuption, il faudrait compter en assembleur et comparer le nombre de cycles du programme d'après la notice au temps chronométré.
La fréquence est avant tout une caractéristique donnée par le fabricant...
On va jusqu'à 15MHz avec les 84plus toute variantes réunies et la 83plusSE.
La fréquence est avant tout une caractéristique donnée par le fabricant...
On va jusqu'à 15MHz avec les 84plus toute variantes réunies et la 83plusSE.
Dernière édition par linkakro le Jeu 18 Avr - 21:17, édité 1 fois
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: cadencement processeur Z80
donc ça reste du domaine du possible si on sait pour chaque instruction combien il faut de cycles machines ?
jovasco- Argent 4
- Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :- - TI-Basic Z80
- - TI-80
- - TI-82 Stats.fr
- - TI-86
- - TI-89
Re: cadencement processeur Z80
Oui. Le language assembleur Z80 est documenté sur le nombre de cycles de chaque instruction. Si on fait fonctionner un certain nombre de cycles et qu'on chronomètre, la fraction donne la période et la fréquence.
freq=cycles/temps et période=temps/cycle
J'ai maintenant un doûte sur la fréquence des 84plus car elle peut être ajustée, mais je ne sais plus comment ni quelle est la vitesse de croisière.
freq=cycles/temps et période=temps/cycle
J'ai maintenant un doûte sur la fréquence des 84plus car elle peut être ajustée, mais je ne sais plus comment ni quelle est la vitesse de croisière.
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
jovasco- Argent 4
- Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :- - TI-Basic Z80
- - TI-80
- - TI-82 Stats.fr
- - TI-86
- - TI-89
Re: cadencement processeur Z80
Le truc c'est que sans manipulation hardware (précision quand même), la 83+ basique (BE) a une seule vitesse : 6 MHz, parce que le processeur 15 MHz est bridé matériellement. Ça se manifeste par le fait que le port hardware qui gère la vitesse CPU sur toutes les autres caltos est un shadow du link port pour la 83+, c'est à dire que si on écrit sur le port $20 sur une 83+ ça sera redirigé sur le port 0.
Par contre, les 83+ SE et toutes 84 ont 4 vitesses : la première est la même que la seule vitesse de la 83+ BE et les 3 autres se battent autour de 15 MHz à 200 Hz près.
Après, on peut manipuler l'ASIC comme l'a fait KermM pour overclocker encore plus et atteindre comme 4 vitesses 6, 15, 21 et 23 MHz (et par la même occasion poutrer un grand coup le matos qui n'est pas fait pour ça).
Par contre, les 83+ SE et toutes 84 ont 4 vitesses : la première est la même que la seule vitesse de la 83+ BE et les 3 autres se battent autour de 15 MHz à 200 Hz près.
Après, on peut manipuler l'ASIC comme l'a fait KermM pour overclocker encore plus et atteindre comme 4 vitesses 6, 15, 21 et 23 MHz (et par la même occasion poutrer un grand coup le matos qui n'est pas fait pour ça).
matrefeytontias- Platinum 1
- Sexe :
Age : 26
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - Lua Nspire
- - Ndless Nspire
- - TI-83+.fr
- - TI-Nspire CAS
Re: cadencement processeur Z80
pour le fun en basic
j'ai fait tourné 3 heures sur TI82 stat_fr (une vraie) et mon chrono a pris moins de 1,5 seconde d'avance
ce qui fait un écart de 0,5 seconde par heure. pas trop mal quand même
est-ce que c'est pareil sur une autre machine ? l'état des piles intervient-il ?
sur l'émulateur pas le même résultat. il faut sans doute régler la variable d'ajustement W car ça va plus vite..
- Code:
327->W
36000->T
EffEcr
For(I,1,T)
FoR(X,1,W):End
Output(1,1,I)
End
j'ai fait tourné 3 heures sur TI82 stat_fr (une vraie) et mon chrono a pris moins de 1,5 seconde d'avance
ce qui fait un écart de 0,5 seconde par heure. pas trop mal quand même
est-ce que c'est pareil sur une autre machine ? l'état des piles intervient-il ?
sur l'émulateur pas le même résultat. il faut sans doute régler la variable d'ajustement W car ça va plus vite..
jovasco- Argent 4
- Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :- - TI-Basic Z80
- - TI-80
- - TI-82 Stats.fr
- - TI-86
- - TI-89
Re: cadencement processeur Z80
Le Basic n'est pas très fiable pour chronométrer à propos de l'horloge, mais mesurer un retard par rapport à sa propre extrapolation est futé.
Sur tout82 nous sommes plusieurs à dire que la RAM "libre" et les piles influencent la cadence du basic, cela doit venir de l'assembleur et du processeur.
*Pour la RAM j'ai deux explications :
- des variables déjà déclarées peuvent être modifiées plus vite que des variables non-déclarées (j'ai testé sur une liste de 999 termes et la différence était de quelques secondes au total) (cela s'explique par la recherche d'espace libre et une possible défragmentation)
- plus il y a de variables, plus la table est grande, et plus la recherche de variables prend de temps.
*Pour les piles :
si des générateurs de rampes, créneaux et comparateurs (le tout analogique) sont à la base du fonctionnement, une variation de tension/courant de seuils peut influencer les temps de cycles.
J'ai envisagé d'émuler l'execution d'assembleur pour appliquer mes dires, mais non-seulement la théorie a mené à un temps minuscule mais en plus j'ai fait une boulette d'hexadécimal.
A refaire.
Matrefeytontias :
J'aimerai bien savoir comment débrider la 84plus à son 15MHz environ, cela pourrait expliquer pourquoi je n'arrive pas à la cheville de Xeda au concours Ti-Planet.
Je vais déjà chercher moi-même mais je ne sais pas où.
EDIT :
J'ai trouvé des sources pour modifier la cadence, mais cela ne change rien à mes tests : soit le basic annule automatiquement, soit je suis déjà à 15MHz.
[Vous devez être inscrit et connecté pour voir ce lien]
Sur tout82 nous sommes plusieurs à dire que la RAM "libre" et les piles influencent la cadence du basic, cela doit venir de l'assembleur et du processeur.
*Pour la RAM j'ai deux explications :
- des variables déjà déclarées peuvent être modifiées plus vite que des variables non-déclarées (j'ai testé sur une liste de 999 termes et la différence était de quelques secondes au total) (cela s'explique par la recherche d'espace libre et une possible défragmentation)
- plus il y a de variables, plus la table est grande, et plus la recherche de variables prend de temps.
*Pour les piles :
si des générateurs de rampes, créneaux et comparateurs (le tout analogique) sont à la base du fonctionnement, une variation de tension/courant de seuils peut influencer les temps de cycles.
J'ai envisagé d'émuler l'execution d'assembleur pour appliquer mes dires, mais non-seulement la théorie a mené à un temps minuscule mais en plus j'ai fait une boulette d'hexadécimal.
A refaire.
Matrefeytontias :
J'aimerai bien savoir comment débrider la 84plus à son 15MHz environ, cela pourrait expliquer pourquoi je n'arrive pas à la cheville de Xeda au concours Ti-Planet.
Je vais déjà chercher moi-même mais je ne sais pas où.
EDIT :
J'ai trouvé des sources pour modifier la cadence, mais cela ne change rien à mes tests : soit le basic annule automatiquement, soit je suis déjà à 15MHz.
[Vous devez être inscrit et connecté pour voir ce lien]
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: cadencement processeur Z80
Tes théories sur la RAM sont juste, effectivement. Précision cependant, les variables non déclarées comme tu les appelles sont en fait non créées. Et les créer, ça prend du temps.
Et tu peux overclocker à 15MHz les 83+ SE et 84+ avec ça :
En hexa, ça fait DB021730063E 03/00 D320.
Et tu peux overclocker à 15MHz les 83+ SE et 84+ avec ça :
- Code:
in a,(2)
rla
jr nc,$+6 ; si 83+ normale, on saute
ld a,3
out ($20),a ; vitesse 3 ~ 14.990 MHz
En hexa, ça fait DB021730063E 03/00 D320.
matrefeytontias- Platinum 1
- Sexe :
Age : 26
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - Lua Nspire
- - Ndless Nspire
- - TI-83+.fr
- - TI-Nspire CAS
Re: cadencement processeur Z80
La partie réellement importante c'est bien 3E03D320 ?
ld a,3 out ($20),a
Que je teste sur émulateur ou sur ma 84pocketfr, rien ne se passe !
J'ai essayé de ralentir ou accélérer (3 ou 0) mais la boucle For de 1 à 9999 se termine toujours en 13 secondes.
Cela veut dire quoi ? Que la 84pocket est fixée à 15MHz ? Que cela s'annule en quittant un programme ?
Si la fréquence est toujours la même en Basic, j'ai du soucis à me faire face à Xeda pour le concours TI-Planet, puisque ça veut dire que son programme est 2,5 fois plus rapide.
ld a,3 out ($20),a
Que je teste sur émulateur ou sur ma 84pocketfr, rien ne se passe !
J'ai essayé de ralentir ou accélérer (3 ou 0) mais la boucle For de 1 à 9999 se termine toujours en 13 secondes.
Cela veut dire quoi ? Que la 84pocket est fixée à 15MHz ? Que cela s'annule en quittant un programme ?
Si la fréquence est toujours la même en Basic, j'ai du soucis à me faire face à Xeda pour le concours TI-Planet, puisque ça veut dire que son programme est 2,5 fois plus rapide.
linkakro- Or 4
- Sexe :
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :- - TI-Basic Z80
- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - TI-82 Stats.fr
- - TI-84 Pocket.fr
Re: cadencement processeur Z80
Je ne suis pas sûr, mais il me semble qu'un interrupt système remet le processeur à 6MHz tous les 1/517 de seconde. Donc Xeda va effectivement beaucoup plus vite :P à moins qu'elle ne désactive les interrupts, ce qui est possible aussi.
matrefeytontias- Platinum 1
- Sexe :
Age : 26
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - Lua Nspire
- - Ndless Nspire
- - TI-83+.fr
- - TI-Nspire CAS
Re: cadencement processeur Z80
Oui mais au concours il est interdit de debrider sa calculatrice ou sinon c'est de l'assembleur et pas du basic.
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|