Qu’est ce que / Processeurs multicœurs et threads : Définition, concept et qu’est-ce que c’est ?
Contents
- 1 Qu’est ce que / Processeurs multicœurs et threads : Définition, concept et qu’est-ce que c’est ?
- 1.1 Mais que signifient exactement ces données ? Tout microprocesseur peut avoir plusieurs cœurs de traitement, ce qui revient à encapsuler plusieurs CPU dans un seul boîtier.
- 1.2 Les systèmes d’exploitation de bureau multitâches qui ont commencé à fonctionner sur des microprocesseurs à un seul cœur ont cédé la place à la nécessité d’encapsuler plusieurs cœurs sur un seul processeur pour offrir un véritable multitâche.
- 1.3 En 2006, Intel a lancé les premières puces Core Duo à double cœur.
- 1.4 Mais il existe un autre concept lié au multiprocessing, à savoir le threading, qui correspond au nombre de tâches pouvant être superposées à chacun des cœurs.
‘ Microprocesseur constitué de quatre cœurs (dit quad core) et comprenant quatre threads ; c’est une caractéristique que nous avons de plus en plus l’habitude de lire dans les spécifications des ordinateurs dotés de puces d’architecture x86-64, tandis que dans les téléphones mobiles et autres appareils dotés de puces d’architecture ARM, nous avons pris l’habitude de regarder le nombre de cœurs qu’ils possèdent.
Mais que signifient exactement ces données ? Tout microprocesseur peut avoir plusieurs cœurs de traitement, ce qui revient à encapsuler plusieurs CPU dans un seul boîtier.
Un tel ‘paquet’ agit comme un seul microprocesseur, mais a la capacité d’allouer chacun de ses cœurs à des calculs indépendants qui sont effectués en parallèle, soit pour des applications et des objectifs différents, soit pour la même application.
À cet égard, les systèmes d’exploitation et les applications doivent être préparés à tirer parti de ces fonctionnalités et à en tirer le meilleur parti.Il y a toujours eu un besoin dans la discipline informatique d’effectuer des calculs parallèles. À cette fin, les serveurs ont commencé à inclure plusieurs micropuces et la branche du calcul parallèle, qui exploite cette caractéristique, est également née.
Les systèmes d’exploitation de bureau multitâches qui ont commencé à fonctionner sur des microprocesseurs à un seul cœur ont cédé la place à la nécessité d’encapsuler plusieurs cœurs sur un seul processeur pour offrir un véritable multitâche.
Au début, le multitâche était simulé par un passage rapide d’une tâche à l’autre, mais à un moment donné, ce passage était plus que perceptible et finissait par peser sur les performances des ordinateurs.
En conséquence, plusieurs entreprises, mais surtout Intel, ont travaillé à rendre une architecture multicore abordable pour l’informatique de bureau.
Cependant, dans le domaine de l’informatique haut de gamme, ces puces multicœurs étaient disponibles depuis longtemps, dès les années 1980. Bien entendu, nous parlons ici de superordinateurs et de grands serveurs d’entreprise.
En 2006, Intel a lancé les premières puces Core Duo à double cœur.
À partir de là, le développement des puces multicœurs s’est généralisé dans les ordinateurs de bureau, et ce non seulement dans les créations d’Intel, mais aussi dans celles de ses rivaux comme AMD.
Quelque quatre ans plus tard, le paradigme de l’architecture multicœur est arrivé dans l’arène des micropuces ARM, avec des exemples tels que le NVIDIA Tegra 2 dans le Motorola ATRIX, ouvrant la voie à une nouvelle génération de combinés capables de se comporter comme des systèmes informatiques de bureau.
Les puces ARM peuvent même désormais concurrencer les puces x86-64 dans les applications de bureau et de calcul haute performance.
Mais il existe un autre concept lié au multiprocessing, à savoir le threading, qui correspond au nombre de tâches pouvant être superposées à chacun des cœurs.
Ainsi, un processeur double cœur doté de deux fils d’exécution peut traiter deux tâches simultanément, une sur chacun des cœurs, tandis qu’un quadri cœur doté de huit fils d’exécution signifie que, pour chaque cœur, jusqu’à deux processus différents peuvent être alternés.
Cette commutation s’effectue en remplaçant le code et les données d’un processus par le code et les données de l’autre, avec une vitesse extraordinaire, de sorte que le résultat est qu’il semble y avoir un véritable multitâche au sein du même noyau, bien que ce ne soit qu’une évaluation.