Processeurs multicœurs : plus c’est, mieux c’est ?
En raison de la nature multitâche des systèmes d’exploitation modernes, l’ajout de plusieurs cœurs à un seul processeur offre des avantages significatifs. Cependant, à certaines fins, il existe une limite pratique au nombre de cœurs qui génèrent une amélioration par rapport au coût de leur ajout.
Avancées de la technologie multicœur
Tobie D/
Les processeurs multicœurs existent dans les ordinateurs personnels depuis le début des années 2000. La conception multicœur résout le problème des processeurs atteignant leurs limites physiques en termes de vitesse d’horloge et comment les refroidir efficacement tout en maintenant la précision. En passant à des cœurs supplémentaires sur une seule puce de processeur, les fabricants évitent les problèmes de vitesse d’horloge en augmentant efficacement la quantité de données que le processeur peut gérer.
Lors de leur sortie initiale, les fabricants n’offraient que deux cœurs dans un seul processeur, mais il existe désormais des options de quatre, six ou même 10 ou plus. En plus d’ajouter des cœurs, les technologies de multithreading simultané telles que l’Hyper-Threading d’Intel peuvent doubler le nombre de cœurs virtuels vus par le système d’exploitation.
processus et threads
Une traiter Est une tâche spécifique, telle qu’un programme, qui s’exécute sur un ordinateur. Un processus consiste en un ou plusieurs threads.
Une Fil Juste un seul flux de données d’un programme via un processeur informatique. Chaque application génère son ou ses propres threads en fonction de son exécution. Sans multitâche, un processeur monocœur ne peut gérer qu’un seul thread à la fois, de sorte que le système bascule rapidement entre les threads pour traiter les données de manière apparemment simultanée.
L’avantage d’avoir plusieurs cœurs est que le système peut gérer plusieurs threads simultanément. Chaque cœur peut gérer des flux de données distincts. Cette architecture améliore considérablement les performances des systèmes exécutant des applications concurrentes. Étant donné que les serveurs ont tendance à exécuter de nombreuses applications simultanées à un moment donné, la technologie a été initialement développée pour les clients d’entreprise – mais à mesure que les ordinateurs personnels sont devenus plus complexes et que le multitâche a augmenté, ils ont également bénéficié de cœurs supplémentaires.
Cependant, chaque processus est contrôlé par un thread principal qui n’occupe qu’un seul cœur. Par conséquent, la vitesse relative des programmes tels que les jeux ou les moteurs de rendu vidéo est fortement limitée par la puissance de base consommée par le thread principal. Le thread principal peut certainement déléguer des threads secondaires à d’autres cœurs – mais le jeu ne devient pas deux fois plus rapide lorsque vous doublez les cœurs. Il n’est donc pas rare que les jeux maximisent complètement un cœur (le thread principal) mais ne voient qu’une utilisation partielle des autres cœurs pour les threads secondaires. Aucune quantité de doublage de cœur ne peut contourner le fait que le cœur principal est le limiteur de débit de votre application, et les applications sensibles à cette architecture fonctionneront mieux que les applications qui ne le sont pas.
dépendance logicielle
Bien que le concept d’un processeur multicœur semble attrayant, la technologie comporte une mise en garde majeure. Afin de profiter des avantages réels des multiprocesseurs, le logiciel exécuté sur l’ordinateur doit être écrit pour prendre en charge le multithreading. Sans logiciel prenant en charge de telles fonctionnalités, les threads s’exécutent principalement via un seul cœur, ce qui réduit l’efficacité globale de l’ordinateur. Après tout, s’il ne peut fonctionner que sur un seul cœur d’un processeur quadricœur, il peut en fait être plus rapide de l’exécuter sur un processeur double cœur avec une vitesse d’horloge de base plus élevée.
Tous les principaux systèmes d’exploitation prennent actuellement en charge les capacités de multithreading. Mais le multithreading doit également être écrit dans le logiciel d’application. La prise en charge du multithreading dans les logiciels grand public s’est améliorée au fil des ans, mais pour de nombreux programmes simples, la prise en charge du multithreading reste non implémentée en raison de la complexité des versions logicielles. Par exemple, il est peu probable que les programmes de messagerie ou les navigateurs Web voient les énormes avantages du multithreading comme le font les programmes de montage graphique ou vidéo, car les ordinateurs gèrent des calculs complexes.
Un bon exemple pour expliquer cette tendance est de regarder un jeu informatique typique. La plupart des jeux nécessitent une forme de moteur de rendu pour afficher ce qui se passe dans le jeu. De plus, une sorte d’intelligence artificielle contrôle les événements et les personnages du jeu. Pour un seul cœur, deux tâches sont exécutées en basculant entre elles. Cette méthode n’est pas très efficace. Si le système dispose de plusieurs processeurs, le rendu et l’IA peuvent chacun fonctionner sur des cœurs distincts, ce qui est idéal pour les processeurs multicœurs.
Est-ce 8 > 4 > 2 ?
Considérant que la réponse de tout acheteur d’ordinateur dépend du logiciel qu’il utilise généralement, aller au-delà de deux cœurs offre des avantages différents. Par exemple, de nombreux jeux classiques offrent encore une petite différence de performances entre deux et quatre cœurs. Considérant que l’efficacité du thread principal détermine l’efficacité des performances multithread, même les jeux modernes (dont certains auraient besoin ou prennent en charge huit cœurs) peuvent ne pas fonctionner mieux que les machines à six cœurs avec des vitesses d’horloge de base plus élevées.
D’autre part, les programmes d’encodage vidéo qui transcodent la vidéo peuvent présenter d’énormes avantages, car les rendus d’images individuels peuvent être transmis à différents cœurs, puis triés en un seul flux par logiciel. Ainsi, avoir huit cœurs sera plus avantageux que d’en avoir quatre. Essentiellement, le thread principal ne nécessite pas de ressources relativement riches ; au lieu de cela, il peut décharger le gros du travail sur les threads enfants qui maximisent les cœurs de processeur.
vitesse de l’horloge
De manière générale, une vitesse d’horloge plus élevée signifie un processeur plus rapide. Lorsque vous considérez la vitesse par rapport à plusieurs cœurs, la vitesse d’horloge devient encore plus ambiguë car le processeur gère plusieurs threads de données en raison des cœurs supplémentaires, mais en raison de contraintes thermiques, chacun de ces cœurs fonctionnera à une vitesse inférieure.
Par exemple, un processeur double cœur peut prendre en charge une vitesse d’horloge de base de 3,5 GHz par processeur, tandis qu’un processeur quadricœur peut ne fonctionner qu’à 3,0 GHz. En regardant simplement le cœur unique de chacun d’eux, le processeur double cœur est 14 % plus rapide que le processeur quadricœur. Donc, si votre programme n’est qu’un seul thread, un processeur double cœur est en fait plus efficace. Là encore, si votre logiciel peut utiliser les quatre processeurs, un processeur quadricœur sera en fait 70 % plus rapide qu’un processeur double cœur.
en conclusion
Dans la plupart des cas, un processeur avec un nombre de cœurs plus élevé est généralement meilleur si votre logiciel et votre cas d’utilisation typique le prennent en charge. Dans la plupart des cas, un processeur dual-core ou quad-core est suffisant pour les utilisateurs d’ordinateurs de base. La plupart des consommateurs ne verront pas le réel avantage d’avoir plus de quatre cœurs de processeur, car très peu de logiciels non spécialisés peuvent en tirer parti. Les meilleurs cas d’utilisation des processeurs à cœur élevé impliquent des machines qui effectuent des tâches complexes, telles que le montage vidéo de bureau, certaines formes de jeux haut de gamme ou des programmes scientifiques et mathématiques complexes.
Découvrez nos réflexions sur la rapidité avec laquelle j’ai besoin de mon PC ? Obtenez une meilleure compréhension du type de processeur le mieux adapté à vos besoins informatiques.
Merci de nous en informer!
Recevez les dernières nouvelles technologiques publiées quotidiennement
abonnement
Dites-nous pourquoi !
D’autres détails ne sont pas assez difficiles à comprendre