[gull] x86_64

Marc Mongenet marc at mongenet.ch
Mon Jun 5 14:57:52 CEST 2006


> > C'est même peut-être un avantage des CISC :
> > un jeu d'instruction compacte qui n'encombre
> > pas les mémoires (disque, RAM, cache), et qui est transformé
> > en des instructions parfaitement adaptées au noyau de chaque
> > processeur. Bref, le code x86 n'est plus qu'un bytecode. D'ailleurs
> > le Pentium 4 a un cache L1 de micro-instructions, on peut donc
> > dire qu'il fait de la compilation JIT (just-in-time). :-)
>
> J'avais tendance à penser que le C était le langage compact portable.
> :->
>
> Ce que tu décris, c'est donc une partie de la technologie Transmeta,
> non? Je suis d'ailleurs surpris de voir que Transmeta existe toujours,
> apparemment grâce à Sony (et grâce à de l'embarqué/spécialisé pour
> le tiers monde via Microsoft, il semblerait).

Le fait de traduire les instructions x86 en des uops ou MacroOps
spécifiques pour le noyau du CPU existe sur tous les processeurs
x86 depuis une dizaine d'années. La particularité du Pentium 4
est de conserver les uops dans une mémoire cache (appelée
"trace cache"), accompagnées d'informations sur les probabilités
de branchements, etc.
Il y a un schéma dans le (toujours excellent) site Ars Technica :
http://arstechnica.com/articles/paedia/cpu/p4andg4e.ars/5

La spécificité de Transmeta est que la prédiction de branchement,
le réordonnancement des instructions, le renommage de registres
et la traduction x86->uops sont eux-mêmes faits avec un logiciel
écrit en uops. Alors que c'est fait par le hardware (éventuellement
micro-codé) dans les autres processeurs
Voir http://arstechnica.com/articles/paedia/cpu/crusoe.ars/2


Marc Mongenet



More information about the gull mailing list