Allocation pour FPU - Divers - Programmation
Marsh Posté le 01-09-2004 à 17:07:05
bon, d'accord, j'ai compris, jvais chercher une tof de famapoil pour egayer le topic, bougez pas
Marsh Posté le 01-09-2004 à 17:07:52
bienvenue au club des gens qui font des tomics qui n'interressent personne
Marsh Posté le 01-09-2004 à 17:10:15
dommage que le CPU soit pas programmé en php, la j'aurais ptet eu des réponses
Marsh Posté le 01-09-2004 à 17:11:11
j'ai pensé pareil pour mes tomics IA, ImageMagick, bibliolinks imagerie, ordonnancement etc. etc.
nous sommes des incompris
Marsh Posté le 01-09-2004 à 17:12:16
Nan, juste des Elitz au milieu d'un tas de No0bZ0R de l'info
Marsh Posté le 01-09-2004 à 17:12:52
vous êtes l'31337 du forome, personne vous comprend...
Marsh Posté le 01-09-2004 à 17:13:53
c'est ta faute aussi, plus la question est pointue moins ya de gens qui répondent
c'est comme quand Taz pose une question, déjà faut se remettre de vous voir ne pas savoir un truc (non, c'est même pas du lèche bottisme) et après on réalise qu'on a tout juste compris la question
Alors pour y répondre
(tout ca pour dire que tu trouverais plus facilement ton bonheur sur les newsgroups avec ta question)
Marsh Posté le 01-09-2004 à 17:25:23
sinon je dirais, fais comme ton cpu, continue à jouer avec la pile en faisant "comme si"
Marsh Posté le 01-09-2004 à 17:28:58
moktar1er a écrit : sinon je dirais, fais comme ton cpu, continue à jouer avec la pile en faisant "comme si" |
Comment cela ?
Moi, je veux bien faire comme si, mais apres je risque d'avoir des trucs genre :
Code :
|
Qui sont assez incorrect dans le genre, et qui devront etre remplacé par
Code :
|
et a la fin on a du spaghetti (surtout avec les synchros au niveau du joint) Sans compter qu'une pile c'est pas comme des regs, si on fait ca mal on se bouffe du stack overflow
Enfin bon si intel fait comme ca, hein ? vais méditer quand meme un peu la dessus
Marsh Posté le 01-09-2004 à 17:31:00
pour la synchro tu combles de nop à la va comme je te pousse
(et aussi accessoirement)
Marsh Posté le 01-09-2004 à 17:38:21
Si vous la voulez en anglais, lui il explique aussi tres bien mon probleme
http://groups.google.fr/groups?q=F [...] ers&rnum=2
Marsh Posté le 01-09-2004 à 17:57:55
bon en fait j'y connait pas grand chose, mais a ce que j'avait lu, a partir des proc p6, le fxchg est totalement gratuit en cycles cpu car il est pris en charge par le renommeur de registres, la fpu n'étant plus réellement à pile. donc je vois pas le probleme d'en truffer le code.
Marsh Posté le 01-09-2004 à 17:58:14
chrisbk a écrit : Si vous la voulez en anglais, lui il explique aussi tres bien mon probleme |
Citation : |
Marsh Posté le 01-09-2004 à 18:00:09
gligli a écrit : bon en fait j'y connait pas grand chose, mais a ce que j'avait lu, a partir des proc p6, le fxchg est totalement gratuit en cycles cpu car il est pris en charge par le renommeur de registres, la fpu n'étant plus réellement à pile. donc je vois pas le probleme d'en truffer le code. |
ca me fend le coeur Mais bon, va falloir s'y faire je crois, pis j'ai besoin du support float prestemment
uriel > oué j'ai vu, et vu que le thread date de 98 je pense que ca sert a rien de le surveiller
Marsh Posté le 01-09-2004 à 18:03:00
moktar1er a écrit : et dans les sources de gcc? |
Bah, j'ai aussi celle de rotor, mais bon, pour s'y retrouver, bonjour.
GCC j'avais regardé un coup, pour la grammaire, j'avais l'impression d'etre devant de l'hébreux
enfin bon, jvais voir a faire du fxch, pis vala. La synchro me fait un brin peur
Marsh Posté le 01-09-2004 à 18:04:55
moktar1er a écrit : tu nous raconteras hein |
chui devin, je peux te le faire des maintenant :
|
Marsh Posté le 01-09-2004 à 18:10:05
D'un ot coté, sans algo spécialisé FPU je peux pas utiliser les f*p, f*pp, ce qui est un peu balot ? (ou on demande au peephole de faire ca pour nous apres ?
Marsh Posté le 01-09-2004 à 20:59:30
heu, tu peux bouger, mais garde un oeuil ....
Marsh Posté le 01-09-2004 à 21:05:06
ouf, je commencais a pu pouvoir me retenir...
Marsh Posté le 01-09-2004 à 21:07:43
ReplyMarsh Posté le 01-09-2004 à 21:09:49
Code :
|
je vais chercher les bouts qui manquent (surtout ce qu'il s'est passé avant qu'on en arrive là) ...
Marsh Posté le 01-09-2004 à 21:12:22
ben surtout commen tu geres les joint-node avec ceci
(pis niveau qualité de code emis ? paske la tu fais un peu au coup par coup non ?)
Marsh Posté le 01-09-2004 à 21:19:29
nraynaud a écrit : |
Marrant, j'ai eu la même idée (mais j'ai la flemme...).
Marsh Posté le 01-09-2004 à 21:31:05
chris> en fait, j'ai l'impression qu'il se prend pas la tête.
comme c'est un compilo où les floats sont boxés, il mise tout sur le unboxing plutôt que sur le code émis.
Je vais chercher une autre piste ...
Marsh Posté le 01-09-2004 à 22:04:09
ça me fait penser qu'il faudra que je regarde des docs sur la conception de compilateur, je me coucherai moins bête
Marsh Posté le 01-09-2004 à 22:07:09
bjone a écrit : ça me fait penser qu'il faudra que je regarde des docs sur la conception de compilateur, je me coucherai moins bête |
par contre tu vas perdre tout tes amis, les filles te cracheront dessus dans la rue, ton poisson rouge se cachera au fond du bocal et les gamins te jetterons des pierres
mais c'est toi qui voit
Marsh Posté le 01-09-2004 à 22:13:56
crisse >
Code :
|
donne :
Code :
|
ça te parraît optimisé ? sinon, pas la peine de se prendre la tête.
Marsh Posté le 01-09-2004 à 22:15:27
# fsub f6, f7, f8
# fadd f4, f5, f6
ca a surtout une drole de gueule, cela dit je cherche pas le code parfait (j'en suis loin), je voudrais surtout dans un premier tps du truc fonctionnel
Marsh Posté le 01-09-2004 à 22:25:36
chrisbk a écrit : # fsub f6, f7, f8 |
MOAHAHAHAHHAHAHA LE BOOLAY TOTAL !!!!!
/o\ je suis sur le mac, d'où le code à 3 adresses /o\
désolé. pas pensé, exploration d'un générateur de code natif tout en lisant une thèse sur un Gc hybride, fatigue, tout ça /o\
Marsh Posté le 01-09-2004 à 22:30:07
Ben paske avec 3 adresses (voir meme 2), hein, un bon graph coloring et voila. Par contre une pile de mairde ..
Marsh Posté le 01-09-2004 à 22:57:54
Tu peux aussi regarder le classique Aho/Sethi/Ullman dont le gen. de code suppose une organisation "en pile" des reg. Exactement comme les st() de x86.
Marsh Posté le 01-09-2004 à 23:01:21
j'imagine qu'il n'y a pas de version en ligne de l'article nous interessant ici ?
Marsh Posté le 01-09-2004 à 23:19:41
Ben, l'algo est vieux (~75) et p-e chez citeseer.
Sinon, http://www.cs.umd.edu/class/spring [...] c14.2p.pdf
semble vaguement du meme tonneau.
Marsh Posté le 01-09-2004 à 16:10:58
Pour aller vite : j'ecris un compilo, et la partie compilation entiere est finie et a l'air de marcher, sauf pour div, parce que div ca pue, mais c'est pas le probleme. Le probleme, c'est les flottants. J'aurais un CPU un peu futé ca sera pas un pb, mais voila, j'ai comme bcp de monde un Intel, et la au lieu d'avoir des registres on a cette stupide pile a la con.
Question, donc : comment faire une allocation 'de registre' pour la FPU, en exploitant ses capacités et en sachant prendre en compte ses "defauts" (genre l'utilisation implicite de st(0)) ? Mon muchnick m'apprends que le compilo Intel fait comme si de rien n'etait (genre c'est des registres) et synchronise la pile au niveau des joint node. Perso j'ai du mal a voir comment faire ca proprement et comment cela peut generer un code pas trop momoche, sans fxch a tout va. (oui il se 'pair', mais quand meme)
Le pire la dedans, c'est que je pensais trouver de la doc en veux tu en voila sur le net, et en fait, que dalle. Quelqu'un a une idée ?