[gull] x86_64
Daniel Cordey
dc at mjt.ch
Fri Jun 2 09:07:13 CEST 2006
On Thursday 01 June 2006 22:35, Marc Mongenet wrote:
> Cela dit, Intel n'a malgré tout pas utilisé la dénomination "x86_64",
> mais "ia32e" (note : "ia64", c'est l'architecture des Itanium).
Non, IA64 n'est pas une architecture mais un jeu d'instruction ! L'objectif
d'Intel etait de leurer les gens en leur disant que, soudainement, leurs bon
vieux *86 tournaient un jeu d'instruction 32 bits appele IA32... Le passage
naturel devait donc aller en direction de IA64 avec son mode d'emulation du
IA32. Contrairement a l'evolution 64 bits introduite pas AMD, IA64 est a des
annees lumieres de la maniere d'utiliser et de programmer un IA32.
L'emulation etant trop lente, le resultat ne convaint personne...
Il ne faut non plus pas confondre architecture et jeu d'instruction. Un
processeur peut tres bein etre une evolution d'un modele precedent, mais avec
plus de registres; sans changer les modes d'adressage ni le heu
d'instruction. Un code compile pour un tel processeur (utilisant efficacement
tous les registres) ne peut donc pas tourner sur l'ancienne generattion. Il
s'agit donc d'une modifiaction architecturale. Mais toutes les modofications
architecturales ne rendent pas un CPU incompatible avec la generation
precedente. Par exemple, on peut ajouter une cache CPU a un ou plusisurs
niveaux, reorganiser les brachements, etc. sans pour autant "exposer" ces
changements de maniere externe.
> Intel s'est attiré de sévères critiques de Linus pour n'avoir
> pas clairement dit avoir cloné l'architecture x86_64 d'AMD.
> http://kerneltrap.org/node/2466
Je dirais qu'Intel a encore ajouter a la confusion en introduisant un petit
detail... "IA32e"... c'est le 'e' qui pose probleme. La remarque de Linus
porte sur le fait qu'Intel aurait du clairement mentionner la compatibilite
avec AMD64 (tiens... on en parle tout a coup...)
Il est donc normal de parler de code binaire compile pour de l'AMD64...
puisque cela semble etre la reference, comme explicitement mentionne dans les
commantaires de Linus.
> Enfin, notons que techniquement et marketingement parlant,
> il était très important pour AMD d'indiquer que leur processeur
> 64 bits est compatible x86.
Quel difference entre un HP-PA 7200 et un HP-PA 8000 ? L'un est un processeurs
32 bits alors que l'aurtre est 64 bits. Comme les HP-PA 7* fonctionnaient
deja avec un mode d'adressage virtuel en 48 bits, le ocde compile sur cette
generation fonctionne sans autre sur un 8000 utilisant aussi ces 48 bits. La
seule difference residant dans la veritable largeurr du bus memoire.
> Il ne faut pas oublier que
> pendant ce temps, Intel soutenait mordicus que jamais
> il ne ferait un x86 64 bits et que l'Itanium était la seule voie
> vers le futur.
Vu le peut d'energie et de ressources conscres a une bonne emulation, l'echec
n'est pas surprenant. Ce qui l'est c'est d'avoir cru que de bricoler quelque
chose sous Itanium, tout en ayant la ferme intention de ne rien faire en 64
bits sur x86 ferait que les gens finairaient par etre convaincu. Intel a
dormi pendant 10 ans...
dc
More information about the gull
mailing list