Pentium-M (Banias) | ||||
By Franck - Le 02/04/2003 | ||||
Etude détaillée du Pentium-M [2/2]
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 :
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 :
L'instruction précédente est donc vue par le processeur comme la séquence suivante :
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 : 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.
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.
|
||||
Fermer |