monter jusqu'a 32 instructions en //. Je n'ai pas connaissance de ces
technologies dans les x86/AMD actuels; quelqu'un en sait-il plus sur ces
processeurs ? Vu les frequences d'horloges des Intels, je doute qu'il aient
pu se lancer dans cette voie. Il se peut qu'AMD ait integre ces techniques en
partie.
dc
Et bien la superscalarité a été inroduite avec le Pentium,
qui avait 2 ALU. Mais depuis il y a bien plus d'unités en parallèle.
C'est le but de la traduction en µops : avoir un format d'instruction
assez simple à analyser pour que le hardware puisse trouver ce
qui peut s'exécuter en parallèle, voire en désordre.
Cela dit, il n'y a pas besoin de doubler chaque unité.
Bien sûr, si on a, disons, une ALU et une unité load/store
(exemple simplifié), et bien on ne peut exécuter en parallèle
qu'une opération d'ALU et une opération load/store
(A1, L2 -> A1//L2).
Et si on n'a que des load/store à exécuter, et bien on ne
pourra rien faire en parallèle (L1,L2,L3,L4 -> L1,L2,L3,L4).
Mais si on a deux opérations d'ALU suivies de deux opérations
load/store et qu'elles sont indépendantes entre elles, et bien
on peut quand même parallèliser, en désordre
(A1, A2, L3, L4 -> A1//L3, A2//L4).
Là ou ça devient *très* compliqué, c'est si L3 déclanche une
exception (disons un défaut de page) : il faut finir A2 et
anuller L4 avant de traiter l'exception...
Tiens, d'après
http://www.princeton.edu/~jdonald/research/hyperthreading/velev_lec_15.pdf
les µops du P6 (Pentium Pro, II, III) font 72 bits.
Ce document donne encore plein d'autres données
chiffrées sur l'intérieur des P6, P7 et Athlon.
Marc Mongenet
_______________________________________________
gull mailing list
[email protected]
http://lists.alphanet.ch/mailman/listinfo/gull