Dans les processeurs multicœurs modernes, deux cœurs de calcul ou plus sont situés sur un seul cristal de silicium. De plus, chaque cœur est capable de prendre en charge le calcul de deux ou plusieurs threads. L'utilisation de processeurs multicœurs peut accélérer le fonctionnement des systèmes d'exploitation et des applications prenant en charge le multithreading.
Les processeurs multicœurs sont des unités centrales de traitement qui contiennent plus de deux cœurs de traitement. De tels cœurs peuvent être situés à la fois dans un boîtier et sur une puce de processeur.
Qu'est-ce qu'un processeur multicœur ?
Le plus souvent, les processeurs multicœurs sont compris comme des processeurs centraux dans lesquels plusieurs cœurs de calcul sont intégrés dans un microcircuit (c'est-à-dire qu'ils sont situés sur un seul cristal de silicium).
Habituellement, la vitesse d'horloge des processeurs multicœurs est délibérément sous-estimée. Ceci est fait afin de réduire la consommation d'énergie tout en maintenant les performances requises du processeur. Dans le même temps, chaque cœur est un microprocesseur à part entière, caractéristique de tous les processeurs modernes - il utilise un cache à plusieurs niveaux, prend en charge l'exécution de code dans le désordre et les instructions vectorielles.
Hyper-Threading
Les cœurs des processeurs multicœurs peuvent prendre en charge SMT, ce qui permet d'exécuter plusieurs threads de calcul et plusieurs processeurs logiques basés sur chaque cœur. Sur les processeurs fabriqués par Intel, cette technologie est appelée "Hyper-threading". Il vous permet de doubler le nombre de processeurs logiques par rapport au nombre de puces physiques. Dans les microprocesseurs qui prennent en charge cette technologie, chaque processeur physique est capable de maintenir l'état de deux threads simultanément. Pour le système d'exploitation, il semblera qu'il y ait deux processeurs logiques. S'il y a une pause dans le travail de l'un d'eux (par exemple, il attend que des données soient reçues de la mémoire), l'autre processeur logique commence à exécuter son propre thread.
Types de processeurs multicœurs
Les processeurs multicœurs sont classés en plusieurs types. Ils peuvent ou non prendre en charge l'utilisation du cache partagé. La communication entre les cœurs est mise en œuvre à l'aide d'un bus partagé, d'un réseau point à point, d'un réseau avec un commutateur ou d'un cache partagé.
Principe d'opération
La plupart des processeurs multicœurs modernes fonctionnent selon le schéma suivant. Si l'application en cours d'exécution prend en charge le multithreading, cela peut forcer le processeur à exécuter plusieurs tâches en même temps. Par exemple, si l'ordinateur utilise un processeur à 4 cœurs avec une vitesse d'horloge de 1,8 GHz, le programme peut "charger" les quatre cœurs en même temps, tandis que la fréquence totale du processeur sera de 7,2 GHz. Si plusieurs programmes s'exécutent en même temps, chacun d'eux peut utiliser une partie des cœurs du processeur, ce qui entraîne également une augmentation des performances de l'ordinateur.
De nombreux systèmes d'exploitation prennent en charge le multithreading, de sorte que l'utilisation de processeurs multicœurs peut accélérer l'ordinateur même dans le cas d'applications qui ne prennent pas en charge le multithreading. Si l'on considère le fonctionnement d'une seule application, alors l'utilisation de processeurs multicœurs ne sera justifiée que si cette application est optimisée pour le multithreading. Sinon, la vitesse d'un processeur multicœur ne différera pas de celle d'un processeur conventionnel, et parfois il fonctionnera encore plus lentement.