Un processeur
multi-cœur est un circuit intégré qui utilise deux ou plusieurs processeurs
individuels, ou les noyaux, pour traiter les données. Les noyaux peuvent être
fixés sur un circuit intégré ou incorporés dans des matrices séparées dans un
boîtier de puce. Chaque noyau a sa propre mémoire cache et chacun a une
capacité à traiter des données séparées.
L'avantage d'un
processeur multi-core est vitesse accrue. Une traditionnelle, single-core
processeur stocke des données dans sa mémoire cache, et lorsque des données en
dehors de la cache est nécessaire, elle doit être récupéré à partir d'autres
endroits, comme la mémoire vive (RAM). Lorsque cela se produit, la vitesse du
processeur ralentit jusqu'à la vitesse maximale de la mémoire vive ou d'un
autre dispositif de stockage. Cette vitesse est habituellement beaucoup plus
lente que la vitesse maximale du processeur.
Processeurs
multi-core sont plus rapides parce que chaque noyau peut gérer son propre flux
de données. Alors que les processeurs multi-core encore sélectivement des
données en cache et récupérer des données non mises en cache d'autres
emplacements de stockage, ou des noyaux supplémentaires peuvent continuer à exécuter
des commandes et recevoir des informations à la vitesse du processeur normale,
tandis qu'un autre processeur récupère les informations nécessaires à partir de
périphériques de stockage lents. De cette façon, l'ensemble du système n'a pas
à ralentir tandis que les données sont récupérées.
Un processeur
multi-cœur est particulièrement précieuse pour le multitâche, où plus d'un
programme sert chacun son propre ensemble de données pour le traitement. Les
flux de données séparés peuvent être traités par différents noyaux, ce qui
augmente la vitesse de traitement global. Pour un logiciel unique pour profiter
de la technologie multi-core, il doit avoir la technologie multi-threading
simultané (SMT) qui lui permet d'envoyer des séries parallèles d'instructions
pour les noyaux multiples à utiliser.
Le premier
processeur multi-core disponible dans le commerce est le processeur dual-core.
Il y a aussi des processeurs multi-core avec quatre, six et huit cœurs.
Beaucoup de cartes mères, cependant, sont incapables de gérer ce nombre de
noyaux. Les systèmes multi-core peuvent être homogènes, en utilisant tous les
cœurs identiques ou hétérogènes, en utilisant des noyaux non identiques.
Bien que les
processeurs multi-core soient destinés à augmenter la vitesse et la performance
globale, tous les programmes ne profitent de traitement multi-core technologie.
Beaucoup même certains systèmes d'exploitation et les programmes n'ont pas la
SMT nécessaire d'utiliser plus d'un noyau de traitement. Les systèmes
d'exploitation qui utilisent les processeurs multi-core sont pas toujours
conçus pour maximiser multi-core potentiel de traitement, de sorte que la
capacité totale de traitement va souvent latente.
Un processeur
multi-core a tendance à produire plus de chaleur que d'un processeur
single-core, ce qui provoque des problèmes de gestion de la chaleur. La
quantité de chaleur produite par un processeur a tendance à augmenter de façon
exponentielle avec chaque cœur supplémentaire. Des températures élevées peuvent
causer des processeurs de surchauffer, créant des problèmes opérationnels et
les risques de sécurité. Les fabricants de processeurs ont dû investir du temps
et de la technologie considérable dans la création de solutions aux défis
thermiques présentés par les processeurs multi-core.