Nombre maximum de cœurs dans un processeur Intel. Qu’est-ce que le nombre de cœurs de processeur affecte ? L'impact du nombre de cœurs sur les performances

  • Tutoriel

Dans cet article je vais essayer de décrire la terminologie utilisée pour décrire les systèmes capables d'exécuter plusieurs programmes en parallèle, c'est-à-dire multicœur, multiprocesseur, multithread. Différents types de parallélisme sont apparus dans le processeur IA-32 à des moments différents et dans un ordre quelque peu incohérent. Il est assez facile de se perdre dans tout cela, d’autant plus que les systèmes d’exploitation cachent soigneusement les détails des programmes d’application moins sophistiqués.

Le but de l'article est de montrer qu'avec toute la variété des configurations possibles de systèmes multiprocesseurs, multicœurs et multithreads, des opportunités sont créées pour les programmes exécutés sur eux à la fois pour l'abstraction (en ignorant les différences) et pour la prise en compte des spécificités ( la possibilité de connaître la configuration par programme).

Avertissement concernant les signes ®, ™ dans l'article

Le mien explique pourquoi les employés de l'entreprise devraient utiliser les mentions de droits d'auteur dans les communications publiques. Dans cet article, j'ai dû les utiliser assez souvent.

Processeur

Bien entendu, le terme le plus ancien, le plus souvent utilisé et le plus controversé est « processeur ».

Dans le monde moderne, un processeur est quelque chose que nous achetons dans une belle boîte de vente au détail ou dans un emballage OEM pas si joli. Une entité indivisible insérée dans un socket de la carte mère. Même s'il n'y a pas de connecteur et qu'il ne peut pas être retiré, c'est-à-dire s'il est étroitement soudé, il s'agit d'une seule puce.

Les systèmes mobiles (téléphones, tablettes, ordinateurs portables) et la plupart des ordinateurs de bureau disposent d'un seul processeur. Les postes de travail et les serveurs disposent parfois de deux processeurs ou plus sur une seule carte mère.

La prise en charge de plusieurs processeurs dans un seul système nécessite de nombreuses modifications de conception. Il faut au minimum assurer leur connexion physique (prévoir plusieurs sockets sur la carte mère), résoudre les problèmes d'identification du processeur (voir plus loin dans cet article, ainsi que ma note), de coordination des accès mémoire et de délivrance des interruptions (l'interruption le contrôleur doit être capable d'acheminer les interruptions vers plusieurs processeurs) et, bien sûr, le support du système d'exploitation. Malheureusement, je n'ai pas pu trouver de mention documentaire de la création du premier système multiprocesseur sur processeurs Intel, mais Wikipedia affirme que Sequent Computer Systems les a déjà fournis en 1987, en utilisant des processeurs Intel 80386. La prise en charge de plusieurs puces dans un système est de plus en plus répandue. à commencer par Intel® Pentium.

S'il y a plusieurs processeurs, chacun d'eux possède son propre connecteur sur la carte. Chacun d'eux dispose de copies indépendantes complètes de toutes les ressources, telles que les registres, les dispositifs d'exécution et les caches. Ils partagent une mémoire commune : la RAM. La mémoire peut y être connectée de diverses manières plutôt non triviales, mais il s'agit d'une histoire distincte qui dépasse le cadre de cet article. L'important est que dans tous les cas, l'illusion d'une mémoire partagée homogène accessible depuis tous les processeurs inclus dans le système soit créée pour les programmes exécutables.


Prêt pour le décollage ! Carte mère Intel® pour ordinateur de bureau D5400XS

Cœur

Historiquement, les multicœurs d'Intel IA-32 sont apparus plus tard que l'Intel® HyperThreading, mais dans la hiérarchie logique, ils viennent ensuite.

Il semblerait que si un système dispose de plus de processeurs, alors ses performances sont plus élevées (sur des tâches pouvant utiliser toutes les ressources). Cependant, si le coût de la communication entre eux est trop élevé, alors tous les gains du parallélisme sont anéantis par les longs délais de transfert des données communes. C'est exactement ce que l'on observe dans les systèmes multiprocesseurs : physiquement et logiquement, ils sont très éloignés les uns des autres. Pour une communication efficace dans de telles conditions, il est nécessaire de proposer des bus spécialisés, tels qu'Intel® QuickPath Interconnect. Bien entendu, la consommation d'énergie, la taille et le prix de la solution finale ne sont pas réduits par tout cela. Une intégration élevée des composants devrait venir à la rescousse - les circuits exécutant des parties d'un programme parallèle doivent être rapprochés les uns des autres, de préférence sur une seule puce. En d'autres termes, un processeur doit organiser plusieurs noyaux, identiques les uns aux autres en tout, mais travaillant de manière indépendante.

Les premiers processeurs multicœurs IA-32 d'Intel ont été introduits en 2005. Depuis lors, le nombre moyen de cœurs sur les plates-formes de serveur, de bureau et maintenant mobiles n’a cessé de croître.

Contrairement à deux processeurs monocœur sur le même système partageant uniquement la mémoire, deux cœurs peuvent également partager des caches et d'autres ressources liées à la mémoire. Le plus souvent, les caches de premier niveau restent privés (chaque cœur possède le sien), tandis que les deuxième et troisième niveaux peuvent être partagés ou séparés. Cette organisation du système permet de réduire les délais de livraison des données entre les cœurs voisins, surtout s'ils travaillent sur une tâche commune.


Micrographie d'un processeur Intel quadricœur nommé Nehalem. Il existe des cœurs séparés, un cache commun de troisième niveau, ainsi que des liens QPI vers d'autres processeurs et un contrôleur de mémoire commun.

Hyperthread

Jusqu'en 2002 environ, la seule façon d'obtenir un système IA-32 capable d'exécuter deux programmes ou plus en parallèle était d'utiliser des systèmes multiprocesseurs. L'Intel® Pentium® 4, ainsi que la gamme Xeon nommée Foster (Netburst), ont introduit une nouvelle technologie - les hyperthreads ou hyperthreads - Intel® HyperThreading (ci-après HT).

Il n’y a rien de nouveau sous le soleil. HT est un cas particulier de ce que l’on appelle dans la littérature le multithreading simultané (SMT). Contrairement aux cœurs « réels », qui sont des copies complètes et indépendantes, dans le cas de HT, seule une partie des nœuds internes, principalement responsables du stockage de l'état architectural - les registres, sont dupliquées dans un seul processeur. Les nœuds exécutifs responsables de l’organisation et du traitement des données restent uniques et sont utilisés à tout moment par au plus un des threads. Comme les cœurs, les hyperthreads partagent des caches, mais à partir de quel niveau cela dépend du système spécifique.

Je n'essaierai pas d'expliquer tous les avantages et inconvénients des conceptions SMT en général et des conceptions HT en particulier. Le lecteur intéressé peut trouver une discussion assez détaillée sur la technologie dans de nombreuses sources et, bien sûr, sur Wikipédia. Je noterai cependant le point important suivant, qui explique les restrictions actuelles sur le nombre d'hyperthreads dans les produits réels.

Restrictions de discussion
Dans quels cas la présence de multicœurs « injustes » sous forme de HT est-elle justifiée ? Si un thread d'application n'est pas capable de charger tous les nœuds d'exécution à l'intérieur du noyau, ils peuvent alors être « prêtés » à un autre thread. Ceci est typique des applications qui ont un goulot d'étranglement non pas dans le calcul, mais dans l'accès aux données, c'est-à-dire qu'elles génèrent souvent des échecs de cache et doivent attendre que les données soient délivrées depuis la mémoire. Pendant ce temps, le noyau sans HT sera obligé de tourner au ralenti. La présence de HT permet de basculer rapidement les nœuds d'exécution libres vers un autre état architectural (puisqu'il est dupliqué) et d'exécuter ses instructions. Il s'agit d'un cas particulier d'une technique appelée masquage de latence, lorsqu'une opération longue, pendant laquelle des ressources utiles sont inutilisées, est masquée par l'exécution parallèle d'autres tâches. Si l'application a déjà un degré élevé d'utilisation des ressources du noyau, la présence d'hyperthreads ne permettra pas l'accélération - des noyaux « honnêtes » sont ici nécessaires.

Les scénarios typiques pour les applications de bureau et de serveur conçues pour les architectures de machines à usage général présentent un potentiel de parallélisme implémenté à l'aide de HT. Cependant, ce potentiel est rapidement épuisé. C'est peut-être pour cette raison que sur presque tous les processeurs IA-32, le nombre d'hyperthreads matériels ne dépasse pas deux. Dans des scénarios typiques, le gain lié à l’utilisation de trois hyperthreads ou plus serait faible, mais la perte en termes de taille de puce, de consommation d’énergie et de coût est significative.

Une situation différente est observée dans les tâches typiques effectuées sur les accélérateurs vidéo. Ces architectures se caractérisent donc par l’utilisation de la technologie SMT avec un plus grand nombre de threads. Étant donné que les coprocesseurs Intel® Xeon Phi (introduits en 2010) sont idéologiquement et généalogiquement assez proches des cartes vidéo, ils peuvent avoir quatre hyperthreading sur chaque cœur - une configuration unique à l'IA-32.

Processeur logique

Parmi les trois « niveaux » de parallélisme décrits (processeurs, cœurs, hyperthreads), certains, voire tous, peuvent manquer dans un système particulier. Ceci est affecté par les paramètres du BIOS (le multicœur et le multithreading sont désactivés indépendamment), les fonctionnalités de la microarchitecture (par exemple, HT était absent du Intel® Core™ Duo, mais a été ramené avec la sortie de Nehalem) et les événements système ( les serveurs multiprocesseurs peuvent arrêter les processeurs défaillants si des défauts sont détectés et continuer à « voler » sur les processeurs restants). Comment ce zoo de concurrence à plusieurs niveaux est-il visible pour le système d’exploitation et, en fin de compte, pour les applications ?

De plus, pour plus de commodité, nous désignons par trois le nombre de processeurs, de cœurs et de threads dans un certain système ( x, oui, z), Où x est le nombre de processeurs, oui- le nombre de cœurs dans chaque processeur, et z- nombre d'hyperthreads dans chaque cœur. A partir de maintenant, j'appellerai ça trois topologie- un terme établi qui n'a pas grand-chose à voir avec la branche des mathématiques. Travail p = xyz définit le nombre d'entités appelées processeurs logiques systèmes. Il définit le nombre total de contextes indépendants de processus d'application sur un système à mémoire partagée, s'exécutant en parallèle, que le système d'exploitation est obligé de prendre en compte. Je dis "forcé" car il ne peut pas contrôler l'ordre d'exécution de deux processus sur des processeurs logiques différents. Cela s'applique également aux hyperthreads : bien qu'ils s'exécutent « séquentiellement » sur le même cœur, l'ordre spécifique est dicté par le matériel et ne peut être observé ou contrôlé par des programmes.

Le plus souvent, le système d'exploitation cache aux applications finales les caractéristiques de la topologie physique du système sur lequel il s'exécute. Par exemple, les trois topologies suivantes : (2, 1, 1), (1, 2, 1) et (1, 1, 2) - le système d'exploitation représentera deux processeurs logiques, bien que le premier d'entre eux ait deux processeurs, le le deuxième - deux cœurs et le troisième - juste deux threads.


Le Gestionnaire des tâches Windows affiche 8 processeurs logiques ; mais combien cela représente-t-il en processeurs, cœurs et hyperthreads ?


Le dessus Linux montre 4 processeurs logiques.

C'est très pratique pour les créateurs d'applications : ils n'ont pas à gérer des fonctionnalités matérielles qui sont souvent sans importance pour eux.

Définition logicielle de la topologie

Bien sûr, résumer la topologie en un seul nombre de processeurs logiques crée dans certains cas suffisamment de raisons de confusion et de malentendus (dans des conflits houleux sur Internet). Les applications informatiques qui souhaitent optimiser les performances du matériel nécessitent un contrôle détaillé sur l'emplacement de leurs threads : plus proches les uns des autres sur des hyperthreads adjacents ou, à l'inverse, plus éloignés sur des processeurs différents. La vitesse de communication entre les processeurs logiques au sein d’un même cœur ou processeur est bien supérieure à la vitesse de transfert de données entre processeurs. La possibilité d’une hétérogénéité dans l’organisation de la mémoire de travail complique également le tableau.

Des informations sur la topologie du système dans son ensemble, ainsi que sur la position de chaque processeur logique dans l'IA-32, sont disponibles à l'aide de l'instruction CPUID. Depuis l'avènement des premiers systèmes multiprocesseurs, le schéma d'identification logique du processeur a été étendu à plusieurs reprises. À ce jour, ses parties sont contenues dans les feuilles 1, 4 et 11 du CPUID. La feuille à consulter peut être déterminée à partir de l'organigramme suivant tiré de l'article :

Je ne vais pas vous ennuyer ici avec tous les détails des différentes parties de cet algorithme. S’il y a de l’intérêt, la prochaine partie de cet article pourra y être consacrée. Je renvoie le lecteur intéressé à celui qui examine cette question de la manière la plus détaillée possible. Ici, je vais d'abord décrire brièvement ce qu'est l'APIC et son lien avec la topologie. Nous verrons ensuite comment travailler avec la feuille 0xB (onze en décimal), qui est actuellement le dernier mot de "apico-building".

Identifiant APIC
L'APIC local (contrôleur d'interruption programmable avancé) est un périphérique (qui fait désormais partie du processeur) chargé de gérer les interruptions arrivant sur un processeur logique spécifique. Chaque processeur logique possède son propre APIC. Et chacun d'eux dans le système doit avoir une valeur d'ID APIC unique. Ce numéro est utilisé par les contrôleurs d'interruption pour l'adressage lors de la transmission des messages, et par tous les autres (par exemple, le système d'exploitation) pour identifier les processeurs logiques. La spécification de ce contrôleur d'interruption a évolué du PIC Intel 8259 au Dual PIC, APIC et xAPIC jusqu'au x2APIC.

Actuellement, la largeur du numéro stocké dans l'ID APIC a atteint 32 bits complets, même si dans le passé elle était limitée à 16, et même plus tôt - à seulement 8 bits. Aujourd'hui, les vestiges du passé sont dispersés dans le CPUID, mais CPUID.0xB.EDX renvoie les 32 bits de l'ID APIC. Sur chaque processeur logique qui exécute indépendamment l'instruction CPUID, une valeur différente sera renvoyée.

Clarification des liens familiaux
La valeur APIC ID elle-même ne vous dit rien sur la topologie. Pour savoir quels deux processeurs logiques sont situés à l'intérieur d'un processeur physique (c'est-à-dire qu'ils sont des hyperthreads « frères », lesquels sont à l'intérieur du même processeur et lesquels sont complètement dans des processeurs différents, vous devez comparer leurs valeurs d'ID APIC. Selon le degré de relation, certains de leurs bits coïncideront. Ces informations sont contenues dans les sous-listes CPUID.0xB, qui sont des opérandes codés en ECX. Chacun d'eux décrit la position du champ de bits d'un des niveaux de topologie dans EAX (plus précisément, le nombre de bits qui doivent être décalés vers la droite dans l'ID APIC pour supprimer les niveaux de topologie inférieurs), ainsi que le type de ce niveau - hyperthread, core ou processeur - dans ECX.

Pour les processeurs logiques situés à l'intérieur du même cœur, tous les bits d'ID APIC correspondront, à l'exception de ceux appartenant au champ SMT. Pour les processeurs logiques situés dans le même processeur, tous les bits sauf les champs Core et SMT. Étant donné que le nombre de sous-feuilles pour CPUID.0xB peut augmenter, ce schéma nous permettra de prendre en charge la description de topologies avec un plus grand nombre de niveaux, si le besoin s'en fait sentir à l'avenir. De plus, il sera possible d'introduire des niveaux intermédiaires entre ceux existants.

Une conséquence importante de l'organisation de ce schéma est que dans l'ensemble de tous les identifiants APIC de tous les processeurs logiques du système, il peut y avoir des « trous », c'est-à-dire ils n'iront pas séquentiellement. Par exemple, dans un processeur multicœur avec HT désactivé, tous les identifiants APIC peuvent s'avérer pairs, car le bit le moins significatif responsable du codage du numéro hyperthread sera toujours zéro.

Je note que CPUID.0xB n'est pas la seule source d'informations sur les processeurs logiques disponibles pour le système d'exploitation. Une liste de tous les processeurs disponibles, ainsi que leurs valeurs d'ID APIC, est codée dans la table MADT ACPI.

Systèmes d'exploitation et topologie

Les systèmes d'exploitation fournissent des informations sur la topologie des processeurs logiques aux applications utilisant leurs propres interfaces.

Sous Linux, les informations de topologie sont contenues dans le pseudofichier /proc/cpuinfo ainsi que dans la sortie de la commande dmidecode. Dans l'exemple ci-dessous, je filtre le contenu de cpuinfo sur un système quad-core sans HT, ne laissant que les entrées liées à la topologie :

Texte masqué

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processeur\|physique\ id\|siblings\|core\|cores\|apicid" processeur : 0 identifiant physique : 0 frères et sœurs : 4 identifiant de cœur : 0 cœurs de processeur : 2 apicid : 0 apicid initial : 0 processeur : 1 identifiant physique : 0 frères et sœurs : 4 identifiant de cœur : 0 cœurs de processeur : 2 apicid : 1 apicid initial : 1 processeur : 2 identifiant physique : 0 frères et sœurs : 4 identifiant de cœur : 1 cœurs de processeur : 2 apicid : 2 apicid initial : 2 processeur : 3 identifiant physique : 0 frères et sœurs : 4 identifiant de cœur : 1 cœurs de processeur : 2 apicid : 3 apicid initial : 3

Sous FreeBSD, la topologie est signalée via le mécanisme sysctl dans la variable kern.sched.topology_spec au format XML :

Texte masqué

utilisateur@hôte : ~$ sysctl kern.sched.topology_spec kern.sched.topology_spec : 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 Groupe FILGroupe SMT 2, 3 Groupe FILGroupe SMT 4, 5 Groupe FILGroupe SMT 6, 7 Groupe FILGroupe SMT

Sous MS Windows 8, les informations de topologie sont visibles dans le Gestionnaire des tâches.

Quelles sont les différences entre les processeurs de smartphone quad-core et octa-core ? L'explication est assez simple. Les puces à huit cœurs possèdent deux fois plus de cœurs de processeur que les puces à quatre cœurs. À première vue, un processeur à huit cœurs semble deux fois plus puissant, non ? En réalité, rien de tel ne se produit. Pour comprendre pourquoi un processeur à huit cœurs ne double pas les performances d’un smartphone, quelques explications s’imposent. est déjà arrivé. Les processeurs à huit cœurs, dont on ne pouvait que rêver il y a peu, sont de plus en plus répandus. Mais il s'avère que leur tâche n'est pas d'augmenter les performances de l'appareil.

Processeurs quadricœurs et huit cœurs. Performance

Les termes « octa-core » et « quad-core » eux-mêmes reflètent le nombre de cœurs de processeur.

Mais la principale différence entre ces deux types de processeurs, du moins depuis 2015, réside dans la manière dont les cœurs de processeur sont installés.

Avec un processeur quadricœur, tous les cœurs peuvent fonctionner simultanément pour permettre un multitâche rapide et flexible, des jeux 3D plus fluides, des performances de caméra plus rapides, et bien plus encore.

Les puces modernes à huit cœurs, quant à elles, sont simplement constituées de deux processeurs quadricœurs qui répartissent différentes tâches entre eux en fonction de leur type. Le plus souvent, une puce à huit cœurs contient un ensemble de quatre cœurs avec une vitesse d'horloge inférieure à celle du deuxième ensemble. Lorsqu’une tâche complexe doit être accomplie, le processeur le plus rapide s’en charge naturellement.


Un terme plus précis que « octa-core » serait « double quad-core ». Mais cela n’a pas l’air si joli et ne convient pas à des fins de marketing. C'est pourquoi ces processeurs sont appelés huit cœurs.

Pourquoi avons-nous besoin de deux ensembles de cœurs de processeur ?

Quelle est la raison de la combinaison de deux ensembles de cœurs de processeur, se transmettant des tâches, dans un seul appareil ? Pour garantir l’efficacité énergétique.

Un processeur plus puissant consomme plus d’énergie et la batterie doit être chargée plus souvent. Et les batteries constituent un maillon beaucoup plus faible d’un smartphone que les processeurs. En conséquence, plus le processeur du smartphone est puissant, plus il a besoin d'une batterie de grande capacité.

Cependant, pour la plupart des tâches sur smartphone, vous n’aurez pas besoin de performances informatiques aussi élevées qu’un processeur moderne peut fournir. La navigation entre les écrans d'accueil, la vérification des messages et même la navigation sur le Web sont des tâches moins gourmandes en ressources processeur.

Mais la vidéo HD, les jeux et le travail avec des photos sont de telles tâches. Par conséquent, les processeurs à huit cœurs sont assez pratiques, même si cette solution peut difficilement être qualifiée d'élégante. Un processeur plus faible gère des tâches moins gourmandes en ressources. Plus puissant - plus gourmand en ressources. En conséquence, la consommation d'énergie globale est réduite par rapport à la situation où seul un processeur doté d'une fréquence d'horloge élevée prendrait en charge toutes les tâches. Ainsi, le double processeur résout principalement le problème de l’augmentation de l’efficacité énergétique plutôt que des performances.

Caractéristiques technologiques

Tous les processeurs modernes à huit cœurs sont basés sur l'architecture ARM, appelée big.LITTLE.

Cette architecture big.LITTLE à huit cœurs a été annoncée en octobre 2011 et permettait à quatre cœurs Cortex-A7 basse performance de fonctionner conjointement avec quatre cœurs Cortex-A15 hautes performances. Depuis, ARM a répété cette approche chaque année, proposant des puces plus performantes pour les deux ensembles de cœurs de processeur sur la puce à huit cœurs.

Certains des principaux fabricants de puces pour appareils mobiles concentrent leurs efforts sur ce gros exemple "octa-core". L'une des premières et des plus remarquables était la propre puce de Samsung, la célèbre Exynos. Son modèle à huit cœurs est utilisé depuis le Samsung Galaxy S4, du moins dans certaines versions des appareils de l'entreprise.

Plus récemment, Qualcomm a également commencé à utiliser big.LITTLE dans ses puces CPU Snapdragon 810 à huit cœurs. C'est sur ce processeur que reposent de nouveaux produits aussi connus sur le marché des smartphones, comme le G Flex 2, devenu LG.

Début 2015, NVIDIA a présenté Tegra X1, un nouveau processeur mobile super puissant destiné aux ordinateurs automobiles. La principale caractéristique du X1 est son GPU exigeant pour les consoles, qui est également basé sur l'architecture big.LITTLE. Autrement dit, il deviendra également huit cœurs.

Y a-t-il une grande différence pour l’utilisateur moyen ?

Y a-t-il une grande différence entre un processeur de smartphone quadricœur et huit cœurs pour l'utilisateur moyen ? Non, en fait, c'est très petit, dit Jon Mandi.

Le terme « octa-core » prête quelque peu à confusion, mais il désigne en réalité une duplication de processeurs quadricœurs. Le résultat est deux ensembles quadricœurs fonctionnant indépendamment, combinés à une seule puce pour améliorer l’efficacité énergétique.

Un processeur à huit cœurs est-il nécessaire dans chaque smartphone moderne ? Cela n'est pas nécessaire, estime Jon Mundy et cite l'exemple d'Apple, qui assure une efficacité énergétique décente de ses iPhone avec seulement un processeur dual-core.

Ainsi, l'architecture ARM big.LITTLE à huit cœurs est l'une des solutions possibles à l'un des problèmes les plus importants concernant les smartphones : la durée de vie de la batterie. Selon John Mundy, dès qu'une autre solution à ce problème sera trouvée, la tendance consistant à installer deux ensembles quadricœurs dans une seule puce et des solutions similaires cessera.

Connaissez-vous d’autres avantages des processeurs octa-core pour smartphone ?

Lorsque vous achetez un nouvel ordinateur portable ou construisez un ordinateur, le processeur est la décision la plus importante. Mais il existe beaucoup de jargon, notamment concernant les noyaux. Quel processeur choisir : dual-core, quad-core, six-core ou huit-core. Lisez l'article pour comprendre ce que cela signifie réellement.

Dual core ou quad core, le plus simple possible

Restons simple. Voici tout ce que vous devez savoir :

  • Il n'y a qu'une seule puce processeur. Cette puce peut avoir un, deux, quatre, six ou huit cœurs.
  • Actuellement, un processeur à 18 cœurs est le meilleur que vous puissiez obtenir sur les PC grand public.
  • Chaque « cœur » est la partie de la puce qui effectue le traitement. Essentiellement, chaque cœur est une unité centrale de traitement (CPU).

Vitesse

Désormais, une logique simple veut que plus de cœurs rendent votre processeur globalement plus rapide. Mais ce n'est pas toujours le cas. C'est un peu plus compliqué.

Plus de cœurs ne donnent plus de vitesse que si un programme peut diviser ses tâches entre les cœurs. Tous les programmes ne sont pas conçus pour répartir les tâches entre les cœurs. Nous en reparlerons plus tard.

La vitesse d'horloge de chaque cœur est également un facteur de vitesse décisif, tout comme l'architecture. Un processeur double cœur plus récent avec une vitesse d'horloge plus élevée surpassera souvent un ancien processeur quadricœur avec une vitesse d'horloge inférieure.

Consommation d'énergie

Un plus grand nombre de cœurs entraîne également une consommation d'énergie du processeur plus élevée. Lorsque le processeur est allumé, il alimente tous les cœurs, pas seulement ceux impliqués.

Les fabricants de puces tentent de réduire la consommation d'énergie et de rendre les processeurs plus économes en énergie. Mais la règle générale est qu'un processeur quadricœur consommera plus d'énergie de votre ordinateur portable qu'un processeur double cœur (et videra donc la batterie plus rapidement).

Libération de chaleur

Chaque cœur affecte la chaleur générée par le processeur. Encore une fois, en règle générale, un plus grand nombre de noyaux entraîne des températures plus élevées.

En raison de cette chaleur supplémentaire, les fabricants doivent ajouter de meilleurs radiateurs ou d'autres solutions de refroidissement.

Prix

Plus de cœurs ne signifient pas toujours un prix plus élevé. Comme nous l'avons dit plus tôt, la vitesse d'horloge, les versions architecturales et d'autres considérations entrent en jeu.

Mais si tous les autres facteurs sont égaux, un plus grand nombre de cœurs atteindra un prix plus élevé.

Tout sur le logiciel

Voici un petit secret que les fabricants de processeurs ne veulent pas que vous sachiez. Il ne s'agit pas du nombre de cœurs que vous utilisez, mais du logiciel que vous exécutez dessus.

Les programmes doivent être spécifiquement conçus pour tirer parti de plusieurs processeurs. Ce type de « logiciel multithreading » n’est pas aussi courant qu’on pourrait le penser.

Il est important de noter que même s’il s’agit d’un programme multithread, la raison pour laquelle il est utilisé est également importante. Par exemple, le navigateur Web Google Chrome prend en charge plusieurs processus, ainsi que le logiciel de montage vidéo Adobe Premier Pro.

Adobe Premier Pro propose différents moteurs pour travailler sur différents aspects de votre montage. Compte tenu des nombreuses couches impliquées dans le montage vidéo, cela est logique puisque chaque noyau peut travailler sur une tâche différente.

De même, Google Chrome propose différents noyaux à exécuter sur différents onglets. Mais c’est là que réside le problème. Une fois que vous ouvrez une page Web dans un onglet, elle est généralement statique par la suite. Aucun traitement supplémentaire n'est nécessaire ; le reste du travail consiste à stocker la page dans la RAM. Cela signifie que même si le noyau peut être utilisé pour créer l'arrière-plan, ce n'est pas nécessaire.

Cet exemple de Google Chrome illustre à quel point même un logiciel multithread peut ne pas vous apporter une réelle amélioration des performances.

Deux cœurs ne doublent pas la vitesse

Supposons donc que vous disposiez du bon logiciel et que tous vos autres matériels soient identiques. Un processeur quad core sera-t-il deux fois plus rapide qu'un processeur dual core ? Non.

L'augmentation du nombre de cœurs ne résout pas le problème de mise à l'échelle du logiciel. La mise à l'échelle des cœurs est la capacité théorique de tout logiciel à attribuer les bonnes tâches aux bons cœurs, de sorte que chaque cœur calcule à sa vitesse optimale. Ce n’est pas ce qui se passe réellement.

En réalité, les tâches sont réparties de manière séquentielle (comme le font la plupart des programmes multithread) ou de manière aléatoire. Par exemple, disons que vous devez effectuer trois tâches pour réaliser une activité et que vous disposez de cinq activités de ce type. Le logiciel demande au noyau 1 de résoudre le problème 1, tandis que le noyau 2 résout le deuxième et que le noyau 3 résout le troisième ; Pendant ce temps, le noyau 4 est inactif.

Si la troisième tâche est la plus difficile et la plus longue, il serait alors logique que le logiciel divise la troisième tâche entre les cœurs 3 et 4. Mais ce n'est pas ce qu'il fait. Au lieu de cela, même si les cœurs 1 et 2 termineront la tâche plus rapidement, l'action devra attendre que le cœur 3 soit terminé, puis calculer les résultats des cœurs 1, 2 et 3 ensemble.

C’est une manière détournée de dire que le logiciel, tout comme aujourd’hui, n’est pas optimisé pour tirer pleinement parti des plusieurs cœurs. Et doubler les cœurs n’équivaut pas à doubler la vitesse.

Où davantage de cœurs seront-ils vraiment utiles ?

Maintenant que vous savez à quoi servent les cœurs et leurs limites de performances, vous devriez vous demander : « Ai-je besoin de plus de cœurs ? Eh bien, cela dépend de ce que vous comptez en faire.

Si vous jouez fréquemment à des jeux informatiques, davantage de cœurs sur votre PC vous seront sans aucun doute utiles. La grande majorité des nouveaux jeux populaires des grands studios prennent en charge une architecture multithread. Le jeu vidéo dépend encore largement du type de carte graphique dont vous disposez, mais un processeur multicœur est également utile.

Tout professionnel travaillant avec des programmes vidéo ou audio bénéficiera de davantage de cœurs. Les outils d'édition audio et vidéo les plus populaires utilisent un traitement multithread.

Photoshop et conception

Si vous êtes un concepteur, des vitesses d'horloge plus élevées et davantage de cache CPU augmenteront mieux la vitesse que davantage de cœurs. Même le logiciel de conception le plus populaire, Adobe Photoshop, prend largement en charge les processus monothread ou légèrement threadés. Un grand nombre de cœurs ne constitueront pas une incitation significative à cela.

Navigation Web plus rapide

Comme nous l'avons déjà dit, avoir plus de cœurs ne signifie pas une navigation Web plus rapide. Bien que tous les navigateurs modernes prennent en charge l'architecture multitraitement, les noyaux ne seront utiles que si vos onglets en arrière-plan sont des sites nécessitant beaucoup de puissance de traitement.

Tâches de bureau

Toutes les applications Office principales sont monothread, donc un processeur quadricœur n'ajoutera pas de vitesse.

Avez-vous besoin de plus de cœurs ?

En général, un processeur quadricœur fonctionnera plus rapidement qu'un processeur double cœur pour l'informatique générale. Chaque programme que vous ouvrez fonctionnera sur son propre noyau, donc si les tâches sont séparées, les vitesses seront meilleures. Si vous utilisez plusieurs programmes en même temps, basculez souvent entre eux et leur attribuez leurs propres tâches, choisissez un processeur avec un nombre élevé de cœurs.

Sachez simplement ceci : Les performances globales du système sont un domaine dans lequel il existe trop de facteurs. Ne vous attendez pas à une amélioration magique des performances en remplaçant un seul composant, même le processeur.

L'article est constamment mis à jour. Dernière mise à jour le 10/10/2013

À l'heure actuelle, le marché des processeurs se développe de manière si dynamique qu'il est tout simplement impossible de suivre tous les nouveaux produits et de suivre les progrès.
Mais nous n’en avons pas vraiment besoin.
Pour acheter un processeur, il nous suffit de savoir à quoi servira l'ordinateur, quelles tâches il effectuera et combien d'argent nous sommes prêts à dépenser.

Aujourd'hui, les leaders mérités du marché des processeurs sont deux plus grandes entreprises Intel Et DMLA.
Ils offrent le plus large choix de modèles dans toutes les catégories de prix. Et un tel choix de processeurs m'ouvre grand les yeux.
Et nous essaierons de vous aider à le comprendre afin que vous puissiez choisir et acheter un processeur productif pour un prix raisonnable.

Commençons par le fait que les principaux indicateurs de performances du processeur sont :

1) Architecture du processeur. Après tout, la nouvelle architecture sera toujours plus productive que la précédente (à fréquence identique).
2) Fréquence de fonctionnement. Plus la fréquence du processeur est élevée, plus il est productif.
3) taille de la mémoire cache des deuxième et troisième niveaux (L2 et L3) ;

Eh bien, et les indicateurs secondaires :
4) ;
5) processus technologique ;
6) un ensemble d'instructions ;
etc.

Bien que les consultants ingénieux des magasins tentent désormais de se concentrer davantage sur le nombre de cœurs, liant directement le nombre de cœurs à la vitesse de traitement des données et aux performances de l'ordinateur lui-même.

Nombre de cœurs ?

Aujourd'hui, les processeurs à huit, six, quatre, doubles et monocœurs de DMLA, ainsi que six, quatre, deux, monocœurs de INTEL.
Mais pour les programmes d'aujourd'hui et les besoins du joueur à domicile, un processeur dual ou quad-core fonctionnant à haute fréquence est suffisant.
Un processeur avec un grand nombre de cœurs (6-8) ne sera nécessaire que pour les programmes d'encodage de contenu vidéo et audio, de rendu d'images et d'archivage.

À l'heure actuelle, l'optimisation dans l'industrie du jeu se concentre principalement sur les processeurs dual-core ; seuls les logiciels et jeux les plus récents seront développés pour l'informatique multithread. Ainsi, si vous achetez un processeur pour les jeux, un processeur dual-core haute fréquence sera plus rapide qu'un processeur basse fréquence à trois ou quatre cœurs.

Attention! Vous n'êtes pas autorisé à afficher le texte masqué.


Et il s'est avéré que pour l'instant, les joueurs peuvent choisir un processeur dual-core moderne, en choisissant une solution avec un rapport performances/prix approprié.
Il convient de noter que les puces Intel disposent également de la technologie HyperThreading, qui permet d'exécuter deux tâches parallèles sur chaque cœur. Le système d'exploitation considère les processeurs à 2 cœurs comme à quatre cœurs et les processeurs à 4 cœurs comme à huit cœurs.
Les processeurs dotés d'un grand nombre de cœurs peuvent être demandés principalement dans les applications professionnelles et l'encodage vidéo.
Huit/six cœurs ne sont pas encore entièrement capables de charger n’importe quel jeu.

Résumons un peu les noyaux.

Pour un ordinateur de bureau, un processeur dual-core dans la gamme de prix inférieure suffira.
Comme le Pentium, le Celeron d'Intel ou l'A4, l'AthlonII X2 d'AMD.

Pour un ordinateur de jeu à domicile, vous pouvez acheter un processeur Intel dual-core avec une fréquence accrue ou un processeur quad-core d'AMD.
Tapez Core i3, Core i5 avec une fréquence de 3 GHz Intel ou A8, A10, Phenom™ II X4 avec une fréquence de 3 GHz AMD.

Eh bien, pour une station de travail « chargée » ou un système de jeu haut de gamme, vous aurez besoin d’un bon processeur quad-core de nouvelle génération.
À l'instar des Core i5, Core i7 d'Intel, puisque les processeurs AMD sont très rarement utilisés dans les machines performantes.

Nous avons entendu parler des processeurs Core i3, Core i5 et Core i7 dans l'article :

Performances du processeur ?

Comme indiqué ci-dessus, il est important le paramètre est l'architecture, sur lequel le processeur est basé/implémenté. Plus l'architecture est récente, plus le processeur est rapide dans les applications et les jeux. Car toute architecture ultérieure, qu'elle soit Intel ou AMD, sera toujours plus productive que la précédente.
Pour le moment, les processeurs de la famille sont pertinents Haswell(4ème génération) et Pont de lierre(3ème génération), ainsi que les architectures de processeurs Piledriver Famille Richland, Trinity de DMLA.

Aussi Les performances du processeur dépendent de sa fréquence de fonctionnement. Plus la fréquence de fonctionnement est élevée, plus le processeur est productif. La fréquence de fonctionnement actuelle des cœurs est actuellement de 3 GHz et plus.
Mais lorsque l'on compare les processeurs AMD et INTEL ayant la même vitesse d'horloge, cela ne signifie pas qu'ils sont égaux en performances.
Les caractéristiques architecturales permettent aux processeurs INTEL d'afficher une productivité plus élevée, même à des fréquences plus basses, que leurs concurrents.

Remarque : vous ne pouvez pas simplement additionner la fréquence de deux cœurs. Défini comme deux cœurs à XX GHz.

Un autre paramètre les performances sont la taille, le volume, la mémoire cache ultra-rapide des deuxième et troisième niveaux L2 et L3.
Il s'agit d'une mémoire à accès élevé conçue pour accélérer l'accès aux données traitées par le processeur.
Plus la mémoire cache est grande, plus les performances sont élevées.

Remarque : Core 2 Duo, Core 2 Quad ont uniquement L2, Core i5, Core i7 ont L2+L3, les processeurs AMD Athlon™ II X2 ont uniquement L2, Phenom™ II X4 ont L2+L3.

Pour les Core 2 antérieurs, l'indicateur était la fréquence FSB du processeur. La fréquence du bus par lequel le processeur communique avec la RAM.
Plus la fréquence du bus FSB est élevée, plus les performances du processeur sont élevées.

Remarque : les processeurs Core i3, Core i5 et Core i7 d'Intel n'ont pas de FSB ; comme les derniers processeurs AMD, le transfert de données entre la mémoire et le processeur s'effectue directement.
Cette méthode de transfert de données a considérablement augmenté la productivité.
Les processeurs de la famille Core i7 LGA1366 ne disposent pas non plus de bus FSB, mais disposent d'un bus QPI haut débit.

Processus(norme de conception de processeur) détermine principalement la taille structurelle des éléments qui composent le processeur.
En particulier, la dissipation thermique et la consommation électrique des processeurs modernes dépendent du processus de fabrication.
Plus cette valeur est petite (procédé technologique), moins le processeur génère de chaleur et moins il consomme d'énergie.
Les processeurs Core 2 antérieurs étaient fabriqués à l'aide de technologies 45-65 nm. Les nouveaux Haswell et Ivy Bridge Corei3, Corei5, Core i7 de quatrième et troisième génération à 22 nm, Sandy Bridge® Corei3, Corei5, Core i7 de deuxième génération d'Intel et Bulldozer d'AMD sont fabriqués à l'aide de la technologie 32 nm.

Ensemble d'instructions- il s'agit d'un ensemble de codes de contrôle et de méthodes d'adressage des données acceptables pour le processeur. Le système de telles commandes est strictement lié à un type spécifique de processeur.
Plus le jeu d'instructions du processeur est large, plus les données sont traitées efficacement et rapidement.

Configuration boîte (BOX) ou plateau (Tray/OEM) ?

Équipement de boîte (BOX) est un ensemble :
- le processeur lui-même ;
- refroidisseur avec pâte thermique appliquée (radiateur + ventilateur) ;
- instructions et documentation.

Une caractéristique distinctive du package BOX est l'extension de garantie sur le processeur - 3 ans.
Il est préférable d'acheter des processeurs BOX pour les systèmes multimédia de bureau et de maison dans lesquels il n'est pas prévu de modifier le refroidissement pour un refroidissement plus efficace.
Mais les processeurs BOX sont un peu plus chers que les mêmes TRAY.

Processeur de bacs (Tray/OEM) représente uniquement le processeur. Pas de glacière ni de documents.

Contrairement à BOX, la garantie du processeur Tray n’est que de 1 an.
Les processeurs Tray/OEM sont utilisés par les entreprises qui assemblent des ordinateurs de marque prêts à l'emploi. Et aussi des joueurs-overclockers enthousiastes, pour qui la garantie (après l'overclocking, la garantie est supprimée du produit) et le refroidissement natif ne sont pas importants. Un plus performant est immédiatement installé sur le processeur.
Les processeurs à plateaux sont légèrement moins chers.

Intel ou AMD ?

Il y a toujours eu de vifs débats sur ce sujet lors de forums et de conférences. En général, ce sujet est éternel. Les partisans d'Intel diront que ces processeurs sont meilleurs que la concurrence à tous égards. Et vice versa. Je suis moi-même un partisan d'Intel.

Si nous comparons les processeurs de ces deux sociétés avec la même fréquence et le même nombre de cœurs, alors les processeurs Intel seront plus productifs. Cependant, dans la fourchette de prix, AMD a l'avantage.

Si vous assemblez vous-même un système budgétaire avec un minimum de finances, les processeurs AMD sont votre choix. Si vous disposez d'un système informatique de jeu ou de productivité, le choix doit être fait en faveur d'Intel.

Il y a encore un point : les cartes mères pour processeurs Intel sont également plus chères, et la plate-forme AMD est donc moins chère. Lorsque vous choisissez un processeur pour votre PC, vous devez décider des priorités initiales, construire un système peu coûteux basé sur AMD ou un système plus productif mais plus coûteux basé sur Intel.

Chaque entreprise propose de nombreux modèles de processeurs dans son assortiment, allant des modèles économiques, par exemple Celeron d'Intel et Sempron/Duron d'AMD, au Core i7 haut de gamme d'Intel, en passant par l'A10 d'AMD.

Dans différentes applications, les résultats sont très différents, donc dans certains processeurs AMD gagnent, dans d'autres - Intel, le choix appartient donc toujours à l'utilisateur.

AMD n'a qu'un seul avantage indéniable : le prix. Et un inconvénient est que les processeurs AMD ne sont pas aussi fiables structurellement et sont un peu plus chauds.

Intel a également un avantage : les processeurs sont structurellement plus fiables et stables, et également moins chauds. Inconvénient : le prix est plus élevé que celui d'un concurrent.

À en juger par les tests actuels performances de jeu Les processeurs entre INTEL et AMD ressemblent à ceci :




Résumons :

Cela signifie que pour acheter le processeur de jeu le plus puissant pour votre ordinateur, vous devez choisir un processeur avec :
1) l'architecture la plus récente ;
2) fréquence de base maximale (de préférence 3 GHz et plus) ;
3) taille maximale du cache L2/L3 ;
4) un large ensemble d'instructions disponibles ;
5) processus de fabrication minimal.

Après avoir lu cet article, je pense que chacun pourra décider quel processeur acheter pour son ordinateur.
Vous pouvez toujours acheter des processeurs pour beaucoup d'argent, mais si seules les tâches quotidiennes qui ne nécessitent pas beaucoup de puissance de calcul sont effectuées sur l'ordinateur, l'argent sera gaspillé.

Cela dépend en grande partie du nombre de cœurs qu’il comprend. Par conséquent, de nombreux utilisateurs souhaitent savoir comment connaître le nombre de cœurs de processeur. Si cette problématique vous intéresse également, alors cet article devrait vous aider.

Comment connaître le nombre de cœurs d'un processeur sous Windows

Le moyen le plus simple de connaître le nombre de cœurs d’un processeur est de regarder le modèle du processeur puis de regarder sur Internet pour voir de quoi il est équipé. Pour ce faire, ouvrez la fenêtre « Afficher les informations de base sur votre ordinateur ». Cette fenêtre peut être ouverte de plusieurs manières :

  • Ouvrez le menu Démarrer et accédez à " ". Après cela, ouvrez la section « Système et sécurité », puis la sous-section « Système » ;
  • Faites un clic droit sur l'icône « Poste de travail » et sélectionnez « Propriétés ».
  • Ou appuyez simplement sur la combinaison de touches Win+Break ;

Après avoir ouvert cette fenêtre, faites attention.

Saisissez le nom de ce processeur dans un moteur de recherche et rendez-vous sur le site officiel du fabricant.

Cela vous amènera à une page avec . Ici, vous devez trouver des informations sur le nombre de cœurs.

Si vous disposez de Windows 8 ou Windows 10, vous pouvez connaître le nombre de cœurs de processeur (combinaison de touches CTRL-SHIFT-ESC) dans l'onglet « Performances ».

Sous Windows 7 et les versions antérieures de Windows, les informations sur le nombre de cœurs ne sont pas affichées dans le Gestionnaire des tâches. Au lieu de cela, il affiche un graphique de charge distinct pour chaque cœur. Si vous disposez d'un processeur AMD, le nombre de ces graphiques sera égal au nombre de cœurs.

Mais si vous possédez un processeur Intel, le nombre de graphiques n'est pas fiable, car le processeur peut utiliser la technologie Hyper-threading, qui double le nombre réel de cœurs.

Comment connaître le nombre de cœurs de processeur à l'aide de programmes spéciaux

Vous pouvez également utiliser des programmes spéciaux pour afficher les caractéristiques de votre ordinateur. Dans ce cas, le programme CPU-Z est le mieux adapté. Exécutez ce programme sur votre ordinateur et regardez la valeur « Cœurs », qui s'affiche en bas de la fenêtre sur l'onglet « CPU ».

Cette valeur correspond au nombre de cœurs de votre processeur.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :