Un processeur multicœur est un circuit intégré auquel sont connectés deux ou plusieurs processeurs pour un traitement simultané plus rapide de plusieurs tâches, une consommation d'énergie réduite et pour de meilleures performances. Généralement, il est composé de deux processeurs ou plus qui lisent et exécutent les instructions du programme.
En d’autres termes, sur une seule puce, un processeur multicœur comprend de nombreuses unités de traitement, ou « cœurs », dont chacune a le potentiel d’effectuer des tâches distinctes. Par exemple, si vous effectuez plusieurs tâches à la fois, comme regarder un film et utiliser WhatsApp, un noyau se chargera d'activités telles que regarder un film tandis que l'autre s'occupera d'autres responsabilités comme WhatsApp.
Une configuration dual-core est comparable à plusieurs processeurs différents installés sur le même ordinateur, mais la connexion entre eux est plus rapide car les deux processeurs sont branchés sur le même socket. Plusieurs instructions en parallèle peuvent être exécutées par des cœurs individuels, augmentant ainsi la vitesse des logiciels conçus pour utiliser les fonctionnalités uniques de l'architecture.
Comparé à un processeur monocœur, un processeur double cœur est généralement deux fois plus puissant dans des circonstances idéales. En réalité, des gains de performances d'environ 50 % sont attendus : un processeur double cœur est environ 1,5 fois plus puissant qu'un processeur monocœur.
Alors que les processeurs monocœur atteignent leurs limites physiques de complexité et de vitesse, l’informatique multicœur devient de plus en plus populaire. De nos jours, la majorité des systèmes sont multicœurs. Les systèmes multicœurs ou massivement multicœurs font référence à des systèmes dotés d'un grand nombre de cœurs de processeur, par exemple des dizaines ou des centaines.
Au début des années 2000, Intel et AMD ont lancé les premiers processeurs multicœurs. Dans les temps modernes, les processeurs sont livrés avec deux (« dual-core »), quatre (« quad-core »), six (« hexa-core ») et huit (« octa-core ») cœurs (« octo-core »). ). Les processeurs basés sur FPGA contiennent jusqu'à 100 cœurs physiques et 1 000 cœurs indépendants effectifs (Field Programmable Gate Arrays).
Architecture du processeur multicœur
La conception d'un processeur multicœur permet la communication entre tous les cœurs disponibles, et ils divisent et attribuent toutes les tâches de traitement de manière appropriée. Les données traitées de chaque cœur sont retransmises à la carte principale de l'ordinateur (carte mère) via une seule passerelle commune une fois toutes les opérations de traitement terminées. Cette méthode bat un processeur monocœur en termes de performances totales.
Avantages du processeur multicœur
Les processeurs multicœurs présentent un certain nombre d'avantages (avantages), notamment :
Performance
Un processeur multicœur, par nature, peut effectuer plus de travail qu’un processeur monocœur. L'espacement entre les cœurs d'un circuit intégré permet des fréquences d'horloge plus rapides. En conséquence, les signaux n’ont pas besoin de parcourir une grande distance pour atteindre leur cible et sont également persistants. Par rapport à l’utilisation d’un processeur séparé, les vitesses sont beaucoup plus rapides.
Fiabilité
Dans les processeurs multicœurs, le logiciel est toujours affecté à différents cœurs. Lorsqu'un logiciel tombe en panne, les autres ne sont pas affectés. Chaque fois qu’un défaut survient, il n’affecte qu’un seul noyau. En conséquence, les processeurs multicœurs sont mieux à même de résister aux pannes.
Interactions logicielles
Même si le logiciel fonctionne sur plusieurs cœurs, il communiquera entre eux. L'isolation spatiale et temporelle est un processus par lequel passe un processeur multicœur. Les threads principaux ne sont jamais retardés à cause de ces processus.
Multitâche
Un système d'exploitation peut utiliser un processeur multicœur pour exécuter deux ou plusieurs processus en même temps, même si de nombreux programmes peuvent être exécutés en même temps. Une application Photoshop, par exemple, peut être utilisée pour effectuer deux tâches à la fois.
Consommation d'énergie
En revanche, le multitâche avec un processeur multicœur nécessite moins d’énergie. Seule la partie du CPU qui génère de la chaleur sera utilisée. La consommation d'énergie est finalement minimisée, ce qui entraîne une moindre utilisation de la batterie. Certains systèmes d’exploitation, en revanche, nécessitent plus de ressources que d’autres.
Prévention de l'obsolescence
Les architectes peuvent éviter l'obsolescence technologique et augmenter la maintenabilité en utilisant des processeurs multicœurs. Les fabricants de puces utilisent les avancées technologiques les plus récentes dans leurs processeurs multicœurs. Les puces monocœur deviennent de plus en plus difficiles à trouver à mesure que le nombre de cœurs augmente.
Isolement
Les processeurs multicœurs peuvent augmenter (mais ne garantissent pas) l'isolement géographique et temporel par rapport aux systèmes monocœur. Les logiciels sur un cœur sont moins susceptibles d'avoir un impact sur les logiciels sur l'autre cœur si les deux cœurs s'exécutent sur le même cœur unique. Ce découplage se produit en raison de l'isolement géographique et temporel (les threads sur un cœur ne sont pas retardés par les threads sur un autre cœur). En limitant l’impact des erreurs sur un seul cœur, le traitement multicœur peut augmenter la robustesse. Lors de l’exécution séparée de programmes à criticité mixte, cette isolation renforcée est très importante (critique pour la sécurité, critique pour la mission et critique pour la sécurité).
Quelques autres points clés des avantages du processeur multicœur :
- Comparé aux processeurs monocœur, un processeur multicœur a le potentiel d’effectuer plus de tâches.
- Faible consommation d'énergie lors de la réalisation de plusieurs activités à la fois.
- Les données mettent moins de temps à atteindre leur destination puisque les deux cœurs sont intégrés sur une seule puce.
- En utilisant un petit circuit, la vitesse peut être augmentée.
- La détection d'infections avec un logiciel antivirus lors d'une partie de jeu est un exemple de multitâche.
- Grâce à l’utilisation des basses fréquences, il peut accomplir plusieurs tâches en même temps.
- Par rapport à un processeur monocœur, il est capable de traiter de grandes quantités de données.
Inconvénients des processeurs multicœurs
Nous passerons en revue certaines des limitations (inconvénients) d’un processeur multicœur, notamment :
Vitesse d'application
Malgré le fait qu'un processeur multicœur soit conçu pour le multitâche, ses performances sont insuffisantes. Il a tendance à rebondir d'un cœur à l'autre à chaque fois qu'une application est en cours de traitement. En conséquence, le cache se remplit, augmentant ainsi sa vitesse.
Gigue
De plus en plus d'interférences se développent à mesure que le nombre de cœurs d'un processeur multicœur augmente, ce qui entraîne une instabilité excessive. En conséquence, les performances des programmes de votre système d'exploitation peuvent en souffrir et des pannes fréquentes peuvent survenir. Ce n'est qu'en utilisant une synchronisation appropriée et un micro-noyau que l'utilisateur sera en mesure de gérer la gigue.
Analyse
Lorsque vous effectuez deux choses ou plus à la fois, vous devrez utiliser des modèles de mémoire supplémentaires. Dans une machine multicœur, cela rend l’analyse difficile. Les délais, en particulier, sont difficiles à déterminer et peuvent être inexacts.
De plus, l’analyse des interférences devient plus complexe à mesure que le nombre de cœurs augmente. Par conséquent, l’O/S ne sera pas en mesure de produire les résultats promis.
remplissage CSS
Partage de ressources
Un processeur multicœur partage une variété de ressources, à la fois internes et externes. Les réseaux, les bus système et la mémoire principale font partie de ces ressources. Par conséquent, tout programme exécuté sur le même cœur aura plus de chances d’être interrompu. L’isolement géographique et temporel peut se produire dans cette forme d’interférence.
Interférence logicielle
En raison du partage des ressources, les interférences logicielles peuvent entraîner des problèmes d'isolement spatial et temporel. S'il y a des cœurs supplémentaires, cette chance augmente encore plus. La présence de plus de cœurs implique un plus grand nombre de routes d'interférence. Il est presque impossible d’examiner toutes les voies d’interférence possibles.
Quelques autres points clés des limitations du processeur multicœur :
- Bien qu’il contienne plusieurs processeurs, il n’est pas deux fois plus rapide qu’un simple processeur.
- La tâche de gestion est plus compliquée que celle d’un processeur monocœur.
- Les performances d'un processeur multicœur dépendent entièrement des tâches exécutées par les utilisateurs.
- Si d'autres processeurs exigent un traitement linéaire/séquentiel, le traitement des processeurs multicœurs prend plus de temps.
- La batterie se décharge plus rapidement.
- Sa consommation d'énergie est si élevée par rapport à un processeur plus simple.
- De plus, par rapport à un processeur monocœur, il est plus cher.
Pourquoi un processeur multicœur est-il utilisé ?
La configuration est similaire à un processeur dual-core. Les processeurs multicœurs sont classés selon le nombre de cœurs et les types de cœurs. L'objectif d'un processeur multicœur est d'obtenir d'excellentes performances. Il a été conçu pour dépasser les limitations physiques d’un processeur monocœur.
Les systèmes d'exploitation pris en charge par le processeur multicœur incluent :
- Linux
- Microsoft Windows (Windows XP ou supérieur)
- La plupart des systèmes basés sur BSD
- Solaris
- Mac OS X
Une brève histoire des processeurs multicœurs
Étant donné que les entreprises qui ont créé les premiers processeurs basés sur des puces ne pouvaient installer qu'un seul processeur sur une seule puce, elles ne pouvaient installer qu'un seul processeur sur une seule puce. Les fabricants de puces ont pu construire des puces avec plus de circuits à mesure que la technologie de fabrication de puces progressait, et finalement, les fabricants de puces ont pu fabriquer des puces avec plus d'un processeur, ce qui a donné naissance à la puce multicœur.
En 1998, le premier processeur multicœur a été inventé par Kunle Olukotun, professeur de génie électrique à Stanford, et ses étudiants. Les puces multicœurs ont été commercialisées pour la première fois en 2005 auprès d'Advanced Micro Devices (AMD) et d'Intel. Depuis, presque tous les fabricants de puces ont commencé à créer des processeurs multicœurs.
Où sont utilisés les processeurs multicœurs ?
De nos jours, les processeurs multicœurs se trouvent dans la majorité des appareils tels que les tablettes, les ordinateurs de bureau, les ordinateurs portables, les smartphones et les systèmes de jeux.
Les deux options principales proposées démontrent comment le modèle d'un processeur ne raconte pas toute l'histoire en matière de performances. Par rapport à un i5 dual-core, les performances d’un i5 quadricœur sont nettement supérieures, et le prix de l’ordinateur le reflétera. Tous les modèles d'ordinateurs portables actuels pour le modèle i5 sont dual-core, alors que tous les modèles d'ordinateurs de bureau sont quad-core au moment d'écrire ces lignes. Étant donné que les versions d'ordinateurs portables sont dual-core plutôt que quad-core, un i5 sur un ordinateur portable aura des performances inférieures à celles d'un i5 sur un ordinateur de bureau. Le type dual-core est mieux adapté aux ordinateurs portables qui nécessitent une durée de vie de batterie plus longue et consomment moins d'énergie, mais un ordinateur de bureau utilise un processeur qui consomme plus d'énergie, comme le modèle quad-core, car il ne nécessite pas d'autonomie de batterie. Certaines applications du processeur multicœur sont les suivantes :
- Des jeux avec des graphismes élevés, comme Overwatch et Star Wars Battlefront, ainsi que des jeux 3D.
- Le processeur multicœur est plus approprié dans Adobe Premiere, Adobe Photoshop, iMovie et d'autres logiciels de montage vidéo.
- Solidworks avec conception assistée par ordinateur (CAO).
- Trafic réseau élevé et serveurs de bases de données.
- Les robots industriels, par exemple, sont des systèmes embarqués.