Ca pourrait tenir si l'on oubliait le copprocesseur arithmétique qui fait ce que tu proposes....
a = b + c : ld [b] ; pile : b
fadd [c] ; pile : b+c(a)
fst [a] ; pile : b+c(a)
z = b + a ld [b] ; pile : a|b
fadd ; pile a+b
fstp[z] ; pile vide
Il est quand même présent depuis longtemps, donc à moins que tu ne codes en 286 tu cherches quand même à te compliquer la vie... ( En plus ça accélère le process puisque le CPU est déchargé pendant ce temps... )
Le vrai problème du x86 c'est de ne pas avoir pu imposer que tous les opérandes ne travaillent qu'avec les accumulateurs, et devoir conserver ce vieil héritage du chargement des données en mémoire. ( et de devoir emuler les instructions pour les rendre compatibles... )
[^] # Re: Le multicoeur va vraiment devenir problématique
Posté par chimrod (site web personnel) . En réponse au journal Le multicoeur va vraiment devenir problématique. Évalué à 1.
a = b + c :
ld [b] ; pile : b
fadd [c] ; pile : b+c(a)
fst [a] ; pile : b+c(a)
z = b + a
ld [b] ; pile : a|b
fadd ; pile a+b
fstp[z] ; pile vide
Il est quand même présent depuis longtemps, donc à moins que tu ne codes en 286 tu cherches quand même à te compliquer la vie... ( En plus ça accélère le process puisque le CPU est déchargé pendant ce temps... )
Le vrai problème du x86 c'est de ne pas avoir pu imposer que tous les opérandes ne travaillent qu'avec les accumulateurs, et devoir conserver ce vieil héritage du chargement des données en mémoire. ( et de devoir emuler les instructions pour les rendre compatibles... )