Hardware Magazine n°7 oct/nov 2003
Hardware Magazine n°7 oct/nov 2003
  • Prix facial : 5,90 €

  • Parution : n°7 de oct/nov 2003

  • Périodicité : bimestriel

  • Editeur : Tech.Age

  • Format : (210 x 285) mm

  • Nombre de pages : 140

  • Taille du fichier PDF : 16,9 Mo

  • Dans ce numéro : dossier spécial Divx.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 102 - 103  |  Aller à la page   OK
Pages suivantes >
102 103
Li > choisir une interface avancée dans Windows et de traiter des tâches lourdes comme le traitement des vidéos. Comment s'y prend-il ? <102> Unités multimédia Lorsque le MMX a été introduit, il a été présenté comme une révolution. Et pourtant, il a fallu du temps avant qu'il ne fasse ses preuves. Aujourd'hui, le MMX est couramment utilisé et un CPU ne le supportant pas serait fortement handicapé. Mais il ne fait pas tout ce qu'il avait été dit qu'il ferait. Par exemple, Intel n'hésitait pas à dire que le MMX pouvait remplacer une carte accélératrice 3D. Ce n'était bien entendu pas le cas, il ne faut pas rêver. Le MMX avait à l'origine un gros défaut : il ne pouvait travailler que sur des entiers. Or, les applications multimédia et les jeux sont friands de nombres réels. Et c'est l'accélération de ces mêmes applications qui était le but premier du MMX ! Il y avait donc un problème… Ce n'était pas le seul. A l'origine, lorsque le MMX était utilisé, la FPU ne pouvait plus l'être et passer du MMX à la FPU était très coûteux au niveau des performances. Les unités multimédia : oui. Leur première implémentation : non ! Partant de ce constat et des faiblesses de ses CPU en calcul flottant, AMD a mis au point le 3DNow ! et l'a intégré, tout comme le MMX d'Intel, dans le K6 afin de disposer d'un adversaire face au Pentium II. Ce 3DNow ! est une sorte de MMX étendu aux nombres flottants. De se côté, Intel n'a pas jugé bon d'intégrer une technologie d'AMD et a préféré développé le SSE. Le SSE dispose de plus de capacités que le 3DNow !. Il a fait son apparition dans les Pentium III et AMD l'a intégré dans l'Athlon XP. Avec le Pentium 4, Intel a amené une évolution de son SSE. Le SSE2 peut notamment faire des calculs plus précis. Il commence à être utilisé massivement dans les jeux et applications. C'est pour cette raison qu'AMD à une fois de plus intégré l'unité d'Intel dans ses CPU. L'Athlon 64, l'Athlon FX et l'Opteron disposent donc d'une unité SSE2. Comme vous pouvez le constater, à chaque génération de CPU intervient une nouvelle unité multimédia. Ce sera également le cas avec le futur CPU d'Intel, connu sous le nom de code Prescott. Il amènera une unité qui pourrait s'appeler SSE3. Les plus aguerris d'entre vous n'auront pas manqué de remarquer que c'est un bon moyen de conserver la tête du marché. Le temps qu'AMD s'aligne sur les unités d'Intel, celui-ci en propose une nouvelle… Le CPU reçoit des données et les renvoie une fois traitées. Il puise les données dans la mémoire centrale et généralement, c'est là qu'il les renvoie. Lorsqu'un programme est exécuté, il va envoyer toute une liste d'instructions à réaliser au processeur. Lors du traitement, le CPU va appliquer les instructions, une par une, aux données. Au préalable, il décodera ces instructions de manière à les transcrire dans son langage de calcul. Comme expliqué précédemment, ces instructions sont le plus souvent mathématiques. Mais, de temps en temps, il va devoir faire un "test", comparer 2 valeurs et suivant le résultat de cette comparaison, opter pour un chemin ou pour un autre dans le programme. Ces chemins portent le nom de branches et opter pour un chemin consiste à faire un choix. C'est généralement une tâche plus compliquée qu'il n'y parait. Un processeur doit donc pouvoir calculer et déterminer la branche à exécuter. De quoi est composé un processeur ? Tous les processeurs sont composés d'un tas de petites unités. Des unités de calcul, des unités de contrôle et des unités de mémoire. Les unités de calcul Hardware magazine octobre/novembre 03 Le CPU le plus basique serait constitué d'une unité de calcul et d'un système d'entrée/sortie des données. Les unités de calcul forment donc le cœur d'un processeur. Ce sont-elles qui font le travail. Pour augmenter les performances, il suffit donc d'améliorer ces unités de calcul ou de les multiplier. En fait, suffit n'est pas le terme adéquat. Les unités de calcul sont souvent présentes en nombre suffisant. Malheureusement, elles sont parfois sousexploitées et se tournent les pouces régulièrement pour différentes raisons. La principale est que les instructions s'exécutent une par une. Autrement dit, dès qu'une instruction ne fait pas appel à une unité de calcul, celle-ci n'a plus de travail. Pouvoir traiter des instructions en parallèle est donc un très bon moyen d'améliorer les performances. Malheureusement, une instruction dépend généralement du résultat de la suivante. Elle ne peut donc s'exécuter qu'après. Un petit exemple : A + B = C C + D = E La seconde instruction a besoin de la première. Les deux ne peuvent pas être calculées en même temps. Rajouter des unités de calcul n'est donc pas toujours intéressant. C'est très coûteux en terme de nombre de transistors requis, c'est complexe à intégrer dans le design d'un processeur et ça n'est pas utile. Donc pourquoi le faire ? Parce que de temps en temps, 2 instructions peuvent s'exécuter en parallèle. Un gain est donc possible. Mais généralement, il y a d'autres moyens d'améliorer les performances. Comme nous venons de le dire, de temps en temps, les unités se tournent les pouces. S'arranger pour qu'elles le fassent moins souvent serait donc intéressant. Il existe plusieurs types d'unités de calcul. L'unité arithmétique, l'ALU est la plus importante. Elle ne peut traiter que des nombres entiers mais c'est elle qui se charge des tests conditionnels. C'est donc cette unité qui fait "tourner" les programmes. Elle se trouve au cœur des CPU depuis leur apparition. L'unité de calcul flottant, ou FPU est une unité de calcul plus générale. Elle peut traiter les nombres réels et n'est donc plus limitée aux entiers. Qui plus est, c'est elle qui se charge des opérations complexes comme les opérations trigonométriques, les racines… A l'origine, elle n'était pas intégrée dans le CPU, mais disponible, en option, sous forme d'un co-processeur mathématique. Intel a cependant décidé de l'intégrer à certains des 486 et à partir du Pentium, tous les processeurs ont eu droit à leur FPU. Cette unité FPU est mise à rude épreuve par les jeux et par le multimédia. Image 3D, son et vidéo ont besoin de cette FPU.
Optimisations du CPU Pour optimiser un CPU, la technique la plus intéressante est de maximiser l'utilisation de ses unités de calcul. Pour cela, plusieurs améliorations ont été apportées aux processeurs au fil du temps et les constructeurs sont constamment en train d'y travailler. Le pipeline Le principe du pipelining est similaire à celui du travail à la chaîne dont le premier exemple est la construction de voitures. La carcasse de la voiture avance sur un rail et se voit ajouter de nouveaux éléments au fur et à mesure de son avancement. Ce système demande plus de place car une chaîne de fabrication peut être gigantesque. Par contre la vitesse de fabrication est fortement améliorée. Ainsi, si fabriquer une voiture prend 24h, une chaîne qui utilise 24 étapes de 1h prendra elle aussi 24h pour fabriquer la première voiture, mais il en sortira ensuite une toutes les heures ! C'est exactement ce qui se passe dans un CPU. Le rail se nomme pipeline. Si une opération demande 10 cycles pour s'exécuter, un pipeline permettra de voir une opération terminée tous les cycles. Bien entendu, ceci implique qu'il y ait beaucoup d'opérations à réaliser. S'il n'y en a qu'une, il n'y a pas de gain. Le pipeline a également d'autres avantages. Par exemple s'il faut apporter une modification à l'unité de calcul, au lieu de devoir tout refaire, il suffit de modifier une des étapes du pipeline. Ensuite, comme nous vous l'avons expliqué dans la première partie de ce dossier, le courant électrique met un certain temps pour passer d'un point A à un point B. Cela limite donc la fréquence maximale. Pour pouvoir augmenter la fréquence, il faut rapprocher le point A du point B. Un pipeline, surtout s'il est très long, aide donc à monter en fréquence. En effet, ces différentes parties étant de petits sous-unités, elles peuvent être rapprochées plus facilement. Mais il s'accompagne d'un gros désavantage. Imaginez qu'après avoir déposé la première couche d'une peinture rose sur une voiture, vous changiez d'avis. Du vert serait plus joli. Il va falloir retirer toutes les voitures de la chaîne et remettre la voiture dont la couleur n'est pas la bonne au début de la chaîne pour pouvoir la faire repasser dans le poste peinture. La perte de temps est immense. C'est la même chose dans un CPU. Quand il faut vider le pipeline pour recommencer une opération, il y a une perte de temps immense. Mais pourquoi faudrait-il recommencer une opération ? C'est très simple. Un CPU doit couramment faire des choix entre 2 possibilités (branches) d'un programme. Ce choix peut prendre du temps. Donc le CPU anticipe le choix en commençant à calculer l'une des possibilités. S'il a choisi la bonne, c'est tout bonus. Mais s'il choisi la mauvaise, il faut vider le pipeline et recommencer. Prédiction de branchement Un CPU doit essayer de vider son pipeline le moins souvent possible et donc de choisir le plus souvent possible la bonne branche du programme. La prédiction du branchement l'aide à choisir cette bonne branche. La prédiction de branchement se base principalement sur un principe : il y a de fortes probabilités pour que la bonne branche soit la même que la précédente. Le système de prédiction de branchement va donc retenir les derniers branchements qui ont été effectués. Ce système permet au CPU de faire le bon chois 9 fois sur 10. Mais ce n'est pas suffisant carnla seule fois où il se trompe peut causer une perte de performances importante. Les fabricants améliorent donc la prédiction de branchement à chaque génération de CPU. Le superscalaire Ce terme à priori tout droit issu d'un film de science-fiction indique qu'un CPU peut traiter 2 opérations en MM parallèle. Une architecture dite superscalaire est donc par exemple capable de réaliser une opération sur les entiers en même temps qu'une opération sur les réels, ou 2 opérations sur les entiers, ou une multiplication et une addition… i Bref, elle peut faire plusieurs choses en même temps. C'est un avantage certain, mais il faut le relativiser. Mi Deux opérations ne peuvent s'exécuter en même temps que si elles MMM ne sont pas dépendantes l'une de l'autre. Et malheureusement, un certain nombre d'instructions sont dépendantes. Le traitement non-ordonné A cause des dépendances, un CPU ne peut pas toujours tirer parti de son architecture superscalaire. Le traitement non-ordonné des instructions permet de modifier leur ordre afin de maximiser l'utilisation des unités de calcul. Les résultats sont bien entendu remis dans la bon ordre à la fin du traitement. Par exemple : 1. A + B = C 2. C x D = E 3. X x Y = Z Les 2 premières instructions sont dépendantes l'une de l'autre. Donc le CPU ne pourra pas les traiter en même temps. Il devra attendre que la première soit terminée avant de faire la seconde puis la troisième. Maintenant, s'il place l'instruction 3 avant l'instruction 2, il pourra traiter la 1 et la 3 en même temps et ainsi gagner un temps précieux. L'HyperThreading Cette technologie introduite avec le Pentium 4 3.06 GHz, consiste à traiter 2 programmes (thread) en même temps. Il s'agit bien de les traiter et non de les exécuter. La nuance est importante. Un CPU HyperThreading ne peut donc pas traiter en parallèle une instruction de chaque programme. Par contre elle peut les entrelacer. Ce qui revient grossièrement à donner plus de possibilités au système de traitement non-ordonné qui peut mélanger les instructions de 2 programmes différents afin d'éviter de perte de rentabilité lorsqu'il y a dépendance entre 2 instructions. Hardware magazine octobre/novembre 03 <103>



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Hardware Magazine numéro 7 oct/nov 2003 Page 1Hardware Magazine numéro 7 oct/nov 2003 Page 2-3Hardware Magazine numéro 7 oct/nov 2003 Page 4-5Hardware Magazine numéro 7 oct/nov 2003 Page 6-7Hardware Magazine numéro 7 oct/nov 2003 Page 8-9Hardware Magazine numéro 7 oct/nov 2003 Page 10-11Hardware Magazine numéro 7 oct/nov 2003 Page 12-13Hardware Magazine numéro 7 oct/nov 2003 Page 14-15Hardware Magazine numéro 7 oct/nov 2003 Page 16-17Hardware Magazine numéro 7 oct/nov 2003 Page 18-19Hardware Magazine numéro 7 oct/nov 2003 Page 20-21Hardware Magazine numéro 7 oct/nov 2003 Page 22-23Hardware Magazine numéro 7 oct/nov 2003 Page 24-25Hardware Magazine numéro 7 oct/nov 2003 Page 26-27Hardware Magazine numéro 7 oct/nov 2003 Page 28-29Hardware Magazine numéro 7 oct/nov 2003 Page 30-31Hardware Magazine numéro 7 oct/nov 2003 Page 32-33Hardware Magazine numéro 7 oct/nov 2003 Page 34-35Hardware Magazine numéro 7 oct/nov 2003 Page 36-37Hardware Magazine numéro 7 oct/nov 2003 Page 38-39Hardware Magazine numéro 7 oct/nov 2003 Page 40-41Hardware Magazine numéro 7 oct/nov 2003 Page 42-43Hardware Magazine numéro 7 oct/nov 2003 Page 44-45Hardware Magazine numéro 7 oct/nov 2003 Page 46-47Hardware Magazine numéro 7 oct/nov 2003 Page 48-49Hardware Magazine numéro 7 oct/nov 2003 Page 50-51Hardware Magazine numéro 7 oct/nov 2003 Page 52-53Hardware Magazine numéro 7 oct/nov 2003 Page 54-55Hardware Magazine numéro 7 oct/nov 2003 Page 56-57Hardware Magazine numéro 7 oct/nov 2003 Page 58-59Hardware Magazine numéro 7 oct/nov 2003 Page 60-61Hardware Magazine numéro 7 oct/nov 2003 Page 62-63Hardware Magazine numéro 7 oct/nov 2003 Page 64-65Hardware Magazine numéro 7 oct/nov 2003 Page 66-67Hardware Magazine numéro 7 oct/nov 2003 Page 68-69Hardware Magazine numéro 7 oct/nov 2003 Page 70-71Hardware Magazine numéro 7 oct/nov 2003 Page 72-73Hardware Magazine numéro 7 oct/nov 2003 Page 74-75Hardware Magazine numéro 7 oct/nov 2003 Page 76-77Hardware Magazine numéro 7 oct/nov 2003 Page 78-79Hardware Magazine numéro 7 oct/nov 2003 Page 80-81Hardware Magazine numéro 7 oct/nov 2003 Page 82-83Hardware Magazine numéro 7 oct/nov 2003 Page 84-85Hardware Magazine numéro 7 oct/nov 2003 Page 86-87Hardware Magazine numéro 7 oct/nov 2003 Page 88-89Hardware Magazine numéro 7 oct/nov 2003 Page 90-91Hardware Magazine numéro 7 oct/nov 2003 Page 92-93Hardware Magazine numéro 7 oct/nov 2003 Page 94-95Hardware Magazine numéro 7 oct/nov 2003 Page 96-97Hardware Magazine numéro 7 oct/nov 2003 Page 98-99Hardware Magazine numéro 7 oct/nov 2003 Page 100-101Hardware Magazine numéro 7 oct/nov 2003 Page 102-103Hardware Magazine numéro 7 oct/nov 2003 Page 104-105Hardware Magazine numéro 7 oct/nov 2003 Page 106-107Hardware Magazine numéro 7 oct/nov 2003 Page 108-109Hardware Magazine numéro 7 oct/nov 2003 Page 110-111Hardware Magazine numéro 7 oct/nov 2003 Page 112-113Hardware Magazine numéro 7 oct/nov 2003 Page 114-115Hardware Magazine numéro 7 oct/nov 2003 Page 116-117Hardware Magazine numéro 7 oct/nov 2003 Page 118-119Hardware Magazine numéro 7 oct/nov 2003 Page 120-121Hardware Magazine numéro 7 oct/nov 2003 Page 122-123Hardware Magazine numéro 7 oct/nov 2003 Page 124-125Hardware Magazine numéro 7 oct/nov 2003 Page 126-127Hardware Magazine numéro 7 oct/nov 2003 Page 128-129Hardware Magazine numéro 7 oct/nov 2003 Page 130-131Hardware Magazine numéro 7 oct/nov 2003 Page 132-133Hardware Magazine numéro 7 oct/nov 2003 Page 134-135Hardware Magazine numéro 7 oct/nov 2003 Page 136-137Hardware Magazine numéro 7 oct/nov 2003 Page 138-139Hardware Magazine numéro 7 oct/nov 2003 Page 140