Rechercher

Vous pouvez entrer une phrase pour rechercher sur tout le site.

Accueil

Hardware

Software

Pas à pas

Internet

Le site

Contacts


Partenaires

Le microprocesseur - page 2

2. Améliorations et optimisations

 

Voici quelques améliorations apparues sur les processeurs les plus récents, et qui compliquent singulièrement le principe de fonctionnement. Ces techniques sont destinées ou bien à améliorer les performances des processeurs (pipelining, superscaling, hyperthreading, et exécution dynamique), ou bien de permettre de répondre à des usages nouveaux (cryptographie, processeurs Mobile)

  • Le pipelining

Le processeur reçoit une instruction, qu'il traite en un certain nombre de cycles (fonction de la complexité de l'opération, ainsi que des optimisations des instructions; l'instruction add registre, registre prends par exemple 1 cycle d'horloge à être calculé).

Cette instruction peut être développée en plusieurs étapes (décodage, récupération ou non de données, si oui à partir des registres ou de la mémoire, ...). Et toutes ces étapes correspondent à des parties bien distinctes, qui sont exécutées les unes après les autres, étape par étape. Un peu comme une usine de voiture avec ses différents postes.

Normalement, il faut attendre que chaque instruction ait subi un traitement complet avant d'envoyer la suivante. Avec la technologie du pipelining, il est possible d'envoyer une première instruction, de réaliser une l'étape 1, puis de passer à l'étape 2, en chargeant en même temps une nouvelle instruction dans l'étape 1. C'est un mode de taylorisation.

De cette manière, il est possible d'avoir une instruction terminée quasiment à chaque cycle d'horloge. Néanmoins, certaines instructions longues, ou ayant besoin de résultats d'instructions précédentes peuvent retarder le pipeline.

C'est pourquoi, dans une certaine limite, plus un pipeline comporte d'étapes, plus il est efficace. Ainsi, les opérations traitées à chaque étape sont élémentaires et donc susceptibles de ne consommer qu'un seul cycle. Ainsi Intel est passé d'un pipeline à 5 niveaux pour les Pentium à 12 niveaux pour les processeurs Pentium PRO, Pentium II, Celeron, Pentium III, Pentium IV et Xeon.

  • La technologie superscalaire, l'hyperthreading

On peut placer plusieurs unités de calcul (les fameuses UAL) en parallèle pour accélérer le traitement des données. C'est à dire que l'on va ouvrir plusieurs usines dans l'exemple du Pipeline. Si on appelle n le nombre d'UAL, le processeur est dit superscalaire de rang n.

Ainsi le Pentium permet d'utiliser deux pipelines simultanément, et fournit donc deux instructions par cycle. Dans les processeurs Pentium PRO, Pentium II, Celeron, Pentium III, Pentium IV et Xeon, Intel a placé trois unités de calcul.

Une autre technique assez proche est l'hyperthreading. Cela consiste à placer plusieurs coeurs (chaque coeur contenant ses registres-set, ...). Hélas ces deux méthodes ont un énorme inconvénient; en effet vu le petit nombre de registres de données (4 sur un i386 jusqu'au Pentium IV), les programmes utilisent ces registres pour absolument tout. Ce qui signifie que un registre utilisé dans une instruction peut contenir le résultat d'une instruction précédente, ou bien être utilisé sans tenir compte des instructions précédentes. Et les processeurs ne savent pas bien déterminer les dépendances entre instructions successives: deux instructions qui se suivent peuvent être aussi bien liée que séparée. Dans le premier cas il est indispensable que la première instruction soit totalement exécutée avant que la seconde ne puisse l'être. Dans le deuxième cas, il est possible de partager les deux instructions entre deux pipelines. C'est pourquoi la technologie actuelle des processeurs AMD et Intel 32 bits n'est pas adaptée à ce genre de technique, au contraire d'autres types de processeurs (Alpha, Sparc, ...).

  • L'exécution dynamique

L'exécution dynamique est utilisée par tous les processeurs à architecture i686 (Pentium PRO, Pentium II, Celeron, Pentium III, Pentium IV et Xeon). Il s'agit d'une technologie développée par Intel. Elle se compose de deux parties : l'exécution spéculative et l'ordonnancement des micros instructions.

- L'exécution spéculative (ou "core out-of-order") : l'idée est d'utiliser le processeur lorsque il est inoccupé. Certaines instructions sont très souvent suivies de la même instruction. Le processeur profite de son inactivité sur un pipeline (par exemple) pour précalculer cette instruction qui a de si grandes chances d'arriver ensuite. Si effectivement l'instruction suivante est celle précalculée, alors le gain de temps est considérable, et sinon, le processeur a juste fait un calcul pour rien.

- L'ordonnancement des micros instructions : il s'agit de découper les instructions en petits morceaux, appelés micro-ops ou microcodes. Une fois décomposées, le processeur réarrange l'ordre de ces micro-ops pour optimiser un maximum le pipeline. On gagne donc du temps.

  • Les Pentium III et IV, et la cryptographie

Un des plus gros problème dans la cryptographie, c'est qu'il faut générer souvent et en grandes quantité des nombres les plus aléatoires possible. Or dans un processeur où tout est si logique, créer des nombres vraiment aléatoires est impossible. Intel a implanté dans ses Pentium III et IV une technologie basé sur le bruit thermique: un circuit électronique aussi complexe qu'un processeur, avec des fréquences très grande, génère un bruit thermique chaotique, et donc aléatoire. Un des composant du processeur numérise alors ce bruit thermique et génère ainsi des nombres plus aléatoires que tous ce que faisait les autres processeurs auparavant.

  • Les processeurs Mobile

Un des plus gros défaut des processeurs est qu'ils chauffent beaucoup (et donc doivent être refroidis), et qu'il consomme (avec le ventilateur) beaucoup de courant. Trop pour un ordinateur portable. Intel a sorti une nouveau type de processeur: les processeurs Mobile. Ce sont des processeurs normaux (majoritairement des Pentium IV), qui sortent plusieurs mois après la sortie des normaux, mais qui chauffent très peu (ils ont peu besoin d'être refroidis), et qui consomment peu. Leur vitesse est également modulable : par exemple, un Pentium IV Mobile à 1.7 GHz pourra tourner à 1.7 ou 1.2 Ghz suivant la demande. Ainsi, en cas d'alimentation par batteries, il est possible de réduire encore plus la consommation du processeur, et si l'utilisateur demande beaucoup au processeur, alors celui repasse à 1.7 Ghz pour satisfaire les besoins.

Retour page 1

Valid XHTML 1.1! Valide CSS!

Hit-Parade

Mesurez votre audience

Copyright © 2000 - 2008 World-Informatique.com. Tous droits réservés.
Hébergement offert par OVH