« Fonctionnement d'un ordinateur/Architectures multiprocesseurs et multicœurs » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 1 :
Rien ne vaut l'utilisation de plusieurs processeurs pour réellement tirer parti du parallélisme de taches. Les premières tentatives consistaient à relier plusieurs ordinateurs via un réseau local, ou à les placer sur la même carte mère. De nos jours, il est possible de placer plusieurs processeurs sur la même puce : on obtient un '''processeur multicœur''' (chaque processeur s’appelle un cœur). Suivant le nombre de cœurs présents dans notre processeur, celui-ci sera appelé un processeur double-coeur (deux cœurs), quadruple-coeur (4 cœurs), octuple-coeur (8 cœurs), etc.
 
==TypesLes différents types de multicœurs==
 
Dans la grosse majorité des cas, les cœurs d'un processeur multicœurs sont tous identiques. Mais ce n'est certainement pas une obligation :et on peut très bien mettre plusieurs processeurs assez différents sur la même puce, sans que cela ne pose problème. On peut, trèspar bienexemple, utiliser un cœur principal avec des cœurs plus spécialisés autour, par exemple. Cela s'appelle du '''multicœurs asymétrique'''., Ce termequi est à opposer au '''multicœurs symétrique''', dans lequel on place des processeurs identiques sur la même puce de silicium.
 
===MulticœursLe multicœurs asymétrique===
 
Le processeur CELL estde unla des exemples les plus récentsconsole de processeurjeu multicœursPS3 asymétrique. Vous connaissez surement ce fameux processeur, et vous en possédez peut-êtreest un chezbon vous. Évidemment, il ne faut pas chercher dans l'unité centraleexemple de votremulticœurs PC de bureau, nonasymétrique. Il faut chercher dans votre console de jeux : et oui, votre PS3 contient un processeur CELL. Pour simplifier, notre processeur CELL peut être vu comme intégrantintégre un cœur principal POWER PC version 5, qu'on retrouvait autrefois dans les Mac, et environ 8 processeurs auxiliaires. Le processeur principal est appelé le PPE et les processeurs auxiliaires sont les SPE. Les SPE sont reliés à une mémoire locale (''local store'') de 256 kibioctets, le Local Store, qui communique avec le processeur principal via un bus spécial. Les SPE communiquent avec la RAM principale via des contrôleurs DMA. Les SPE possèdent des instructions permettant de commander leur contrôleur DMA et que c'est le seul moyen qu'ils ont pour récupérer des informations depuis la mémoire. Et c'est au programmeur de gérer tout ça ! C'est le processeur principal qui va envoyer aux SPE les programmes qu'ils doivent exécuter. Il va déléguerdélégue des calculs à effectuer aux SPE. Pouren cela, notre processeur principal va simplement écrireécrivant dans le local store du SPE, et va lui envoyer une demandeen lui ordonnant de commencer l’exécution du programme qu'il vient d'écrire.
 
===ClusterLe ''cluster multithreading''===
 
Sur certains processeurs multicœurs, certains circuits sont partagés entre plusieurs cœurs. Cette technique consistant à ne pas dupliquer certains circuits et à en partager certains s'appelle le '''cluster multithreading'''. Cette techniqueElle est notamment utilisée sur les processeurs FX-8150 et FX-8120 d'AMD, et les autres processeurs basés sur l'architecture Bulldozer. AvecSur ces processeurs, tous les cœurs se partagent l'unité de calcul sur les nombres flottants (les nombres à virgule). Le partage de circuits permet d'éviter de dupliquer trop de circuits. Ilet estdonc en effet évident qud'unéconomiser seuldes circuit partagé entre tous les cœurs prendra moins de place et utilisera moins de composants électroniques que plusieurs circuitstransistors. Le problème est que ce partage est source de dépendances structurelles, ce qui peut entrainer des pertes de performances.
 
===Cluster multithreading===
 
Sur certains processeurs multicœurs, certains circuits sont partagés entre plusieurs cœurs. Cette technique consistant à ne pas dupliquer certains circuits et à en partager certains s'appelle le '''cluster multithreading'''. Cette technique est notamment utilisée sur les processeurs FX-8150 et FX-8120 d'AMD, et les autres processeurs basés sur l'architecture Bulldozer. Avec ces processeurs, tous les cœurs se partagent l'unité de calcul sur les nombres flottants (les nombres à virgule). Le partage de circuits permet d'éviter de dupliquer trop de circuits. Il est en effet évident qu'un seul circuit partagé entre tous les cœurs prendra moins de place et utilisera moins de composants électroniques que plusieurs circuits. Le problème est que ce partage est source de dépendances structurelles, ce qui peut entrainer des pertes de performances.
 
==Interruptions inter-processeurs==