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

 

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

 

  • Un traitement des instructions plus efficace

Le Pentium-M possède deux mécanismes de très bas niveau visant à améliorer l'efficacité des unités de calcul. Dans un fonctionnement classique, les instructions traitées par le processeur sont décodées en une série de micro-instructions, elles-même traitées individuellement par les différentes unités de calcul spécialisées. Prenons par exemple l'instruction suivante :

add eax,[value]

Cette instruction très simple ajoute au registre eax le contenu de la variable mémoire "value". Derrière cette instruction se cachent en réalité deux opérations :

  • une opération de lecture en mémoire, ou "load". Cette opération est traitée par l'unité de chargement.
  • une opération arithmétique d'addition. Celle-ci sera prise en charge par une ALU.

L'instruction précédente est donc vue par le processeur comme la séquence suivante :

load reg0,[memory]
add reg1,reg0

L'innovation apportée par le Pentium-M réside dans sa capacité à "fusionner" ces deux micro-opérations en une seule, qui pourra ainsi être traitée en une seule étape. Le Pentium-M verra donc, à la place des deux opérations précédentes :

add reg1,[memory]

Ce système permet ainsi de réduire le nombre d'opérations élémentaires nécessaires pour le traitement de certaines instructions, ce qui, selon Intel, réduit le nombre total de micro-opérations traitées par les unités de calcul d'en moyenne 10% (ce qui correspond à peu près à une accélération de 10% du temps de calcul). Ce système porte le nom de Fusion.

Une autre optimisation de bas niveau présente dans le Pentium-M concerne la gestion de la pile (stack) dans les programmes. La pile est un zone mémoire destinée à stocker les paramètres lors de l'appel de sous-parties d'un programme. Le traitement de la pile est particulièrement gourmand en micro-opérations, car il nécessite de nombreuses opérations de chargement (depuis et vers la pile), ainsi que des opérations de déplacement dans la pile.

Les opérations nécessaires à la gestion de la pile ne sont plus ici traitées par les unités génériques de traitement des instructions, mais par une unité exclusivement dédiée à cette tâche, et qui porte justement le nom de Dedicated Stack Manager. Cette unité permet, toujours selon Intel, de réduire de 5% le nombre de micro-opérations traitées par le pipeline.

Au final, ces améliorations apportées au noyau du Pentium !!! permettent au Pentium-M de se montrer plus efficace que ce dernier. L'effet immédiat d'une efficacité supérieure est bien sûr une plus grande vitesse de traitement, mais également - et c'est là un des buts recherchés par les ingénieurs d'Intel - une réduction de la consommation ! Un processeur plus efficace travaille moins, donc consomme moins.

 

  • SpeedStep III

Dernière innovation du Pentium-M : un mécanisme de SpeedStep de troisième génération. Avant d'entrer dans les détails, dressons un rapide petit historique du SpeedStep.

Le SpeedStep est un mécanisme inauguré avec les Pentium !!! mobiles et permettant de réduire la fréquence d'horloge et le voltage appliqué au processeur de façon dynamique, réduisant ainsi la consommation électriques lorsque processeur tourne en mode "basse consommantion" (voltage et fréquence réduits).

Le SpeedStep de première génération (qui équipait les Pentium !!! mobiles 0,18µ, à base de core Coppermine) proposait deux modes de fonctionnement, le processeur basculant de l'un à l'autre en fonction du mode d'alimentation (batterie ou secteur).

Les actuels Pentium !!!-M et Pentium 4-M utilisent le SpeedStep de seconde génération. Il se distingue du précédent par un troisième mode de fonctionnement dit "adaptatif" : dans ce mode, la fréquence et le voltage du processeur se modifient en fonction de son activité. Lorsqu'il ne travaille pas (mode "idle"), il tourne en mode basse consommantion, et dès qu'il est sollicité il bascule en mode "plein pot". Ce mode est très souple d'utilisation, et la différence de performances avec le mode haute fréquence et à peine perceptible. Bien entendu, l'autonomie dépend alors directement de l'activité du processeur !

Le mécanisme de SpeedStep du Pentium-M innove une fois de plus, ce qui lui vaut le nom de troisième génération. Ce sont maintenant non plus deux mais plusieurs modes de fonctionnement qui sont offerts. Ainsi, le Pentium-M à 1,6GHz peut tourner de 1,6GHz en 1,484 volts jusque 600MHz en 0,956 volt, en passant par les modes intermédiaires suivants : 1,4GHz / 1,42v, 1,2GHz / 1,276v, 1GHz / 1,164v et 800MHz / 1,036v.
Ces nouveaux modes apportent une souplesse de fonctionnement accrue, et surtout permettent au voltage de varier avec plus de progression, évitant ainsi les délicats sauts de tension lors de transitions plus importantes.

 

Suite ( Etude des caches )

Fermer