Next: Conclusion Up: Unité flottante et Previous: UltraSPARC

PentiumPro

L'unité flottante du PentiumPro est intégrée dans l'unité entière N1. Elle accepte au maximum une instruction par cycle et a, à peu près, les mêmes performances que l'unité flottante du Pentium.

Du fait du décodage et de la décomposition des opérations en micro-opérations, l'unité flottante ne voit que des instructions <<registre-registre>>. En particulier, la gestion en pile des registres flottants inhérente au jeu d'instructions xxx86, ne lui est pas visible : l'instruction flottante Floating-point exchange (FXCH), qui échange le registre du haut de la pile des registres flottants avec un autre registre de cette pile, est entièrement traitée par le Reorder Buffer lors du renommage de registres. L'unité flottante partage les 40 registres généraux avec les unités entières.

L'unité flottante du PentiumPro travaille sur des flottants 80 bits. Cependant les nombres flottants sont rangées en mémoire en mots de 32 ou 64 bits. Toute instruction xxx86 comportant un chargement ou un rangement d'un flottant en mémoire, comprend implicitement une conversion flottant 80 bits vers flottant 32 ou 64 bits (rangement) ou une conversion flottant 32 ou 64 bits vers flottant 80 bits (chargement).

On note que le PentiumPro ne peut accepter qu'une multiplication flottante tous les deux cycles. Cependant comme le lancement des instructions dans cette unité est fait dans le désordre, on peut penser que ceci ne perturbe que peu les performances. On notera aussi que le diviseur flottant du PentiumPro est plus rapide que celui du Pentium. Ceci permet d'augmenter les performances de l'unité flottante sur certaines applications. Le tableau reprend les latences et débits des unités flottantes du Pentium et du PentiumPro.


flloansi@IRISA.irisa.fr
Tue Jun 4 09:57:56 MET DST 1996