[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