[gull] x86_64
Daniel Cordey
dc at mjt.ch
Mon Jun 5 09:33:38 CEST 2006
On Saturday 03 June 2006 00:54, Marc Mongenet wrote:
> Dans ce cas, 'architecture' et 'jeu d'instructions' sont effectivement
> assez similaires.
Il y a des limites floues en ce qui concerne cette association. Une
architecture de type multi-core AMD 64 n'a plus grand chose a voir avec celle
d'un 8086, bien que le jeu d'instruction de ce dernier soit compris par
l'AMD. Cette correspondance est quand meme limitee. De meme que la notion de
jeu d'instructions est aussi assez ambigue. Rajouter des regitsres a un
processeur n'est pas equivalent a rajouter des instructions; mais l'ancien
processeur ne peut tourner des codes utilisant les nouveaux registres... On
parlera a lors de famille de processeurs.
> C'est le sens que j'utilise d'habitude. Intel aussi
> il semble, car "ia64" signifie "Intel Architecture 64".
Intel noie le poisson afin d'occulter les deficiences de sa strategie. Le mot
IA32 est venu bin apres IA32. Le jeu d'instruction IA64 a ete defini dans la
premiere moitie des annees 90, par un ingenieur d'HP ayant travaille pendant
plusieurs mois dans les d'Intel pour definir le jeu d'instruction de
l'Itanium. Ce n'est qu'apres coup que le marketing d'Intel a eu la brillante
idee de nommer le jeu d'instruction des x86 : IA 32. Esperant ainsi leurer
les gens pour leur faire croire que la suite de leur processeur 32 bits etait
l'Itanium. A partir du moment ou le mode d'emulation n'a pas recu assez de
ressources pour etre developpe correctement, c'etait vraiment prendre les
gens pour des idiots.
> Il me semble que ce sens correspond plus ou moins au sens du
> fameux bouquin "Computer Architecture, a Quantitative Approach".
> On y lit "In the past, the term 'computer architecture' only referred
> to instruction set design."
"In the past", soit jusqu'au debut des annees 80...
> Mouais, c'est assez flou, ça m'avance pas beaucoup. :)
:-)
> Mais si je cherche sub-architecture sur le Web, je vois que
> ce sont plutôt les générations de processeurs (i386, i486,
> i586, etc.), qui sont considérées...
Le kernel doit prendre la notion d'architecture aus sens large. En dehors du
simple jeu d'instruction et du nombre de registres, qui n'est qu'un probleme
de compilateur, il faut aussi traiter les "chipsets", la maniere de faire du
DMA, etc. Il y a donc une difference dans la signification et la porte du mot
architecture suivant que l'on se place du point de vue du kernel ou du
compilateur.
> On parle aussi de microarchitecture, par exemple de la
> microarchitecture NetBurst du Pentium 4. Peut-être est-ce
> ce que tu appelles 'architecture'?
Oui, dans le cas de ma remarque initiale.
> Je ne saurai pas dire pour la PA-RISC, je les connais mal.
> Mais je ne comprends pas comment on peut «etre une evolution
> d'un modele precedent, mais avec plus de registres; sans changer les
> modes d'adressage ni le heu d'instruction». Comme peut-on
> adresser plus de registres avec les mêmes instructions?
Voir l'exellent explication de Leo. Je rajouterai que les processeurs RISC ont
drsatiquement reduit le nombre de mode d'adressage. Dans un 68020, on pouvait
compter jusqu'a 13 modes d'adressage pour certaines instructions. Dans la
plupart (voir tous) des processeurs RISCs seuls les instructions
LOAD/STORE/BRANCH peuvent adresser la memoire alors que les autres
instructions ne manipulent que des registres. Ce justement ce qui a permit
une grande simplification* du jeu d'instruction (en plus d'etre reduit). Du
coup, on ne s'etonne pas lorsque les statistiques vous donnent 80% de
LOAD/STORE dans des programmes :-)
> Il y avait des bits inutiles dans le jeu d'instructions ?
Non, des bits "reserves" ! N'oublions pas que dans le cas de jeu
d'instructions VLIW, cette notion devient plus floue.
dc
*Initialement, RISC signifie "Reduced Instruction Set Computer". Il a existe a
des CPUS avec un jeu d'instruction tres reduit (IBM 801, stanford), mais cela
s'est avere trop limite pour un usage plus general. Tous les processeurs
RISCs (HP-PA, SPARC, POWER, ALPHA, MIPS, etc.) ont derives de cette
definition initiale en rajoutant des instructions avec le temps. Seul l'usage
massif des registres et la simplification des modes d'adressage a ete
conserve.
More information about the gull
mailing list