Pentium-M (Banias)
By Franck - Le 02/04/2003
Sommaire:

 

Etude détaillée du Pentium-M [1/2]

 

  • Le noyau "P6+"

Comme nous l'avons vu, l'architecture du Pentium !!! est bien adaptée aux processeurs mobiles, et donc logiquement ce noyau qui a servi de base à celui du Pentium-M. Le cpuid du Pentium-M révèle d'ailleurs un processeur de la famille P6, dont le modèle (9) le situe (étonnamment) entre le Coppermine (8) et le Tualatin (11).

 


CPUID du Pentium-M 1,3GHz

 

Nous constatons en outre le support du jeu d'instruction SSE2 en plus du MMX et du SSE, ainsi que le bus processeur "Quad pumped" à 400MHz.

A titre de rappel, le noyau du Pentium !!! est un noyau RISC à 5 unités de calculs et possédant une pipeline à 10 niveaux. Le noyau du Pentium-M est donc très proche, à ceci près qu'une inconnue demeure quant à la profondeur du pipeline ; en effet, le Pentium-M est disponible aujourd'hui jusque 1,6GHz, fréquence qui se situe à notre avis au delà de ce que permet le pipeline du Pentium !!!, du moins en 0.13µ. Il est donc fortement probable que le pipeline du Pentium-M soit équipé de plus de 10 niveaux, car nous savons que l'inflation du nombre d'étages d'un pipeline permet d'augmenter la fréquence de fonctionnement. Intel semble confirmer cette modification de profondeur du pipeline du Pentium-M, mais sans fournir plus de précisions quant à la profondeur exacte retenue.

Nous pouvons cependant raisonnablement supposer que la valeur se situe plus près de 10 que de 20, car l'augmentation du nombre d'étages se paie par une diminution de l'efficacité du traitement, notamment en cas de mauvaise prédiction de branchement. A ce titre, le Pentium 4 a recours à de nombreuses innovations afin d'améliorer le rendement de son très long pipeline.

Cette modification du pipeline justifie à elle seule le fait que le noyau du Pentium-M ne soit pas exactement le même que celui du Pentium !!! et qu'il a nécessité de nouveaux masques. Les modifications apportées ne s'arrêtent d'ailleurs pas là, et le Pentium-M innove avec l'apparition de nouvelles techniques d'optimisation, telles que nous pouvons les voir sur ce document fourni par Intel.


Le noyau du Pentium-M

 

  • Une prédiction de branchement améliorée

Si elle permet une augmentation de la fréquence de fonctionnement, l'augmentation de la profondeur du pipeline est également particulièrement néfaste en cas de mauvaise prédiction de branchement ; en effet dans ce cas le pipeline nécessite d'être entièrement vidangé, opération d'autant plus coûteuse que le pipeline est long.

Le Pentium !!! possède à ce titre deux mécanismes de prédiction de branchement complémentaires, qui permettent dans de nombreux cas de réduire le nombre d'échecs de branchement. Le Pentium 4, davantage sensible aux branchements non prédits, implémente de nombreuses techniques d'optimisation, la principale étant le Trace Cache qui permet de réduire les pénalités en cas de mauvaise prédiction.

Le Pentium-M n'a quant à lui pas de Trace Cache, mais il améliore la prédiction de branchement du Pentium !!! et possède trois mécanismes complémentaires :

  • Le mécanisme statique qui repose sur un algorithme figé et concerne les branchements simples. Cet algorithme permet de détecter les sauts qui seront fortement susceptibles d'avoir lieu ou à l'inverse fortement susceptibles de ne pas avoir lieu. Ce mécanisme est ainsi désigné sous le terme "bi-modal".

  • Un mécanisme de prédiction dynamique dédié aux boucles locales. Un buffer à portée locale stocke un historique des branches prises et non prises. Ce système est appelé "Local Predictor".

  • Un mécanisme de prédiction dynamique semblable au précédent, à la différence que l'historique est stocké dans un autre buffer dont la portée est cette fois ci globale. Ce mécanisme concerne donc les boucles de plus grande taille, et est appelé "Global Predictor".


Les trois mécanismes de prédiction de branchement du Pentium-M

 

Ces trois mécanismes permettent, selon Intel, de réduire les échecs de prédiction de branchement de 20% par rapport au Pentium !!!.

 

Suite ( Etude détaillée du Pentium-M [2/2] )

Fermer