Principes de base du processeur : que sont les cœurs, l'hyper-threading et les processeurs multiples ?
Agence web » Actualités du digital » Principes de base du processeur : que sont les cœurs, l’hyper-threading et les processeurs multiples ?

Principes de base du processeur : que sont les cœurs, l’hyper-threading et les processeurs multiples ?

Un seul processeur moderne a généralement plusieurs cœurs. Chaque cœur est son propre processeur. Le multi-threading simultané, appelé Hyper-Threading par Intel, divise chaque cœur physique en deux processeurs logiques. Chaque processeur logique permet à votre système d’exploitation d’exécuter deux tâches distinctes. Par exemple, un processeur à huit cœurs apparaît comme un seul processeur avec 8 cœurs et 16 processeurs logiques.

L’unité centrale de traitement (CPU) de votre ordinateur effectue le travail de calcul, c’est-à-dire l’exécution des programmes, essentiellement. Mais les processeurs modernes offrent des fonctionnalités telles que plusieurs cœurs et l’hyper-threading. Certains PC utilisent même plusieurs processeurs. Nous expliquerons les différences et leur fonctionnement.

Qu’est-ce que l’hyper-threading et le multithreading simultané ?

Le multithreading simultané (appelé Hyper-Threading par Intel) permet à un seul processeur d’exécuter plusieurs tâches simultanément plutôt que séquentiellement, ce qui améliore les performances dans la plupart des situations.

L’hyper-threading a été la première tentative d’Intel pour apporter le calcul parallèle aux PC grand public en 2002. Les Pentium 4 de l’époque ne comportaient qu’un seul cœur de processeur, de sorte qu’il ne pouvait effectuer qu’une seule tâche à la fois, même s’il était capable de basculer entre tâches assez rapidement pour que cela ressemble à du multitâche. Hyper-Threading – appelé multithreading simultané (SMT) sur AMD et d’autres processeurs non Intel – a tenté de compenser cela.

Note: À proprement parler, seul Les processeurs Intel ont l’hyper-threading, cependant, le terme est parfois utilisé familièrement pour désigner tout type de multithreading simultané.

Un seul cœur de processeur physique avec hyper-threading ou multithreading simultané apparaît comme deux processeurs logiques pour un système d’exploitation. Le CPU est toujours un seul CPU, donc c’est un peu une triche. Alors que le système d’exploitation voit deux processeurs pour chaque cœur, le matériel du processeur réel ne dispose que d’un seul ensemble de ressources d’exécution pour chaque cœur. Le CPU prétend qu’il a plus de cœurs qu’il n’en a, et il utilise sa propre logique pour accélérer l’exécution du programme. En d’autres termes, le système d’exploitation est amené à voir deux processeurs pour chaque cœur de processeur réel.

L’hyper-threading permet aux deux cœurs de CPU logiques de partager des ressources d’exécution physiques. Cela peut accélérer quelque peu les choses – si un processeur virtuel est bloqué et en attente, l’autre processeur virtuel peut emprunter ses ressources d’exécution. L’hyper-threading peut accélérer votre système, mais c’est loin d’être aussi bon que d’avoir de vrais cœurs supplémentaires.

Un ordinateur portable alimenté par Intel.

Heureusement, l’hyper-threading n’est plus qu’un bonus. Alors que les processeurs grand public d’origine avec hyper-threading n’avaient qu’un seul cœur qui se faisait passer pour plusieurs cœurs, les processeurs modernes ont maintenant à la fois plusieurs cœurs et la technologie hyper-threading ou SMT. Votre processeur hexa-core avec hyper-threading apparaît comme 12 cœurs sur votre système d’exploitation, tandis que votre processeur octa-core avec hyper-threading apparaît comme 16 cœurs. L’hyper-threading ne remplace pas les cœurs supplémentaires, mais un processeur double cœur avec hyper-threading devrait être plus performant qu’un processeur double cœur sans hyper-threading.

Que sont les cœurs de processeur ?

À l’origine, les processeurs avaient un seul cœur. Cela signifiait que le processeur physique avait une seule unité centrale de traitement. Pour augmenter les performances, les fabricants ont ajouté des « cœurs » supplémentaires ou des unités centrales de traitement. Un processeur double cœur possède deux unités centrales de traitement, il apparaît donc au système d’exploitation comme deux processeurs. Un processeur à deux cœurs, par exemple, pourrait exécuter deux processus différents en même temps. Cela accélère votre système car votre ordinateur peut faire plusieurs choses à la fois.

Contrairement à l’hyper-threading, il n’y a pas de trucs ici – un processeur double cœur a littéralement deux unités centrales de traitement sur la puce du processeur. Un processeur quad-core a quatre unités centrales de traitement, un processeur octa-core a huit unités centrales de traitement, et ainsi de suite.

Cela permet d’améliorer considérablement les performances tout en gardant l’unité centrale physique suffisamment petite pour tenir dans un seul socket. Il ne doit y avoir qu’un seul socket CPU avec une seule unité CPU insérée dedans – pas quatre sockets CPU différents avec quatre CPU différents, chacun nécessitant sa propre alimentation, son refroidissement et d’autres matériels. Il y a moins de latence car les cœurs peuvent communiquer plus rapidement, car ils sont tous sur la même puce.

Le gestionnaire des tâches de Windows le montre assez bien. Ici, par exemple, vous pouvez voir que ce système a un processeur réel (socket) et 8 cœurs. Le multithreading simultané fait ressembler chaque cœur à deux processeurs pour le système d’exploitation, il affiche donc 16 processeurs logiques.

Gestionnaire des tâches sur Windows 10 avec un processeur à 8 cœurs.

Toutes les configurations de processeur multicœur sont-elles identiques ?

Non, toutes les configurations de processeur multicœur ne sont pas identiques. Il existe deux philosophies de conception distinctes que vous rencontrerez lorsque vous examinerez des processeurs multicœurs.

Un type de configuration – et le type qui est courant dans les PC grand public depuis des années – utilise plusieurs cœurs identiques. Dans ces configurations, si vous avez un système octa-core, ces huit processeurs sont des processeurs hautes performances et ils sont tous optimisés de la même manière.

L’autre utilise un mélange de différents cœurs (parfois appelé architecture de cœur hétérogène). En règle générale, ces configurations utilisent deux types distincts : les cœurs de performance et les cœurs d’efficacité.

Le schéma de dénomination précis varie un peu entre les entreprises et les applications, mais l’idée de base est la même. Les cœurs d’efficacité sont réservés aux tâches de fond et à faible demande. Ces cœurs consomment moins d’énergie. Les cœurs de performance sont exactement le contraire. Ils consomment beaucoup plus d’énergie mais offrent de bien meilleures performances dans les tâches exigeantes, comme les jeux. La combinaison se traduit par des performances lorsque vous en avez besoin, mais une consommation d’énergie de fond réduite.

Cette configuration multicœur hétérogène (appelée big.LITTLE par ARM) est d’abord devenue populaire auprès des téléphones portables et autres appareils mobiles en raison des économies d’énergie qu’ils offraient. Lorsque vous avez besoin que votre téléphone dure toute la journée, il n’est pas logique de vider votre batterie inutilement en exécutant un noyau haute puissance tout le temps. Intel a également introduit l’idée dans les processeurs de bureau grand public, à commencer par ses processeurs Alder Lake.

Qu’en est-il des processeurs multiples ?

La plupart des ordinateurs n’ont qu’un seul processeur. Ce processeur unique peut avoir plusieurs cœurs ou une technologie d’hyper-threading, mais il ne s’agit toujours que d’une seule unité de processeur physique insérée dans un seul socket de processeur sur la carte mère.

Avant l’arrivée des processeurs hyper-threading et multicœurs, les gens ont tenté d’ajouter une puissance de traitement supplémentaire aux ordinateurs en ajoutant des processeurs supplémentaires. Cela nécessite une carte mère avec plusieurs sockets CPU. La carte mère a également besoin de matériel supplémentaire pour connecter ces sockets CPU à la RAM et à d’autres ressources. Il y a beaucoup de frais généraux dans ce type de configuration. Il y a une latence supplémentaire si les processeurs doivent communiquer entre eux, les systèmes avec plusieurs processeurs consomment plus d’énergie et la carte mère a besoin de plus de sockets et de matériel.

Un serveur avec plusieurs processeurs.

Les systèmes avec plusieurs processeurs ne sont pas très courants parmi les PC des utilisateurs domestiques aujourd’hui. Même un bureau de jeu puissant avec plusieurs cartes graphiques n’aura généralement qu’un seul processeur. Vous trouverez plusieurs systèmes CPU parmi les superordinateurs, les serveurs, certains postes de travail et des systèmes haut de gamme similaires qui nécessitent autant de puissance de calcul que possible.

Plus un ordinateur possède de processeurs ou de cœurs, plus il peut faire de choses à la fois, ce qui améliore les performances de la plupart des tâches. La plupart des ordinateurs ont maintenant des processeurs à plusieurs cœurs – l’option la plus efficace dont nous avons discuté. Vous trouverez même des processeurs à plusieurs cœurs sur les smartphones et tablettes modernes.

La vitesse d’horloge d’un processeur et de son IPC (instructions par cycle) était autrefois suffisante pour comparer les performances. Les choses ne sont plus si simples. Un processeur qui offre plusieurs cœurs et l’hyper-threading peut être nettement plus performant qu’un processeur de même vitesse qui ne dispose pas d’hyper-threading. Et les PC avec plusieurs processeurs peuvent avoir un avantage encore plus grand. Toutes ces fonctionnalités sont conçues pour permettre aux PC d’exécuter plus facilement plusieurs processus en même temps, ce qui augmente vos performances en multitâche ou sous les exigences d’applications puissantes telles que les encodeurs vidéo et les jeux modernes.

Bien sûr, un nombre de cœurs plus élevé n’est pas si important dans toutes les situations. Les systèmes d’exploitation modernes sont assez intelligents pour répartir leurs tâches entre plusieurs cœurs, mais tous les programmes ne sont pas aussi bien optimisés. Dans de nombreux cas (en particulier les jeux), les performances sont principalement limitées par la vitesse maximale d’un cœur individuel plutôt que par le nombre total de cœurs dont vous disposez. Alors ne vous précipitez pas pour acheter un processeur Threadripper à 64 cœurs en pensant qu’il vous rapportera un milliard de FPS en Appel du devoir – ce ne sera pas le cas.

★★★★★