Quelle est la différence entre un système multicœur et un système multiproc?

18

Je me demande quelle est la différence entre un ordinateur dual core et un ordinateur avec 2 processeurs sur la carte mère .. Je pense que c'est quelque chose lié aux threads mais je ne le comprends pas très bien ..

interdire
la source

Réponses:

19

Plusieurs processeurs permettent à votre ordinateur de faire littéralement deux choses à la fois (au lieu de ne faire apparemment que deux choses à la fois, mais en fait de permuter entre les tâches extrêmement rapidement).

Plusieurs cœurs sont identiques. L'avantage de plusieurs cœurs sur plusieurs processeurs est qu'ils partagent certains bits du processeur, par exemple le cache de deuxième niveau, ce qui leur permet de travailler encore plus efficacement s'ils ont des données partagées. Cela les rend beaucoup moins chers à fabriquer. Un seul processeur double cœur occupe également moins de place que deux processeurs simple cœur, ce qui est un facteur important de nos jours avec tout le monde qui passe aux ordinateurs portables.

Il peut y avoir des différences de performances, mais vous ne remarquerez probablement rien.

John Fouhy
la source
2
Non seulement prendre moins de place, mais aussi générer moins de chaleur (en utilisant moins d'énergie) et ne nécessitant qu'un seul ventilateur de refroidissement.
CarlF
13

Voir cette image qui montre la différence entre Multi Processor, Hyper Threaded et Multi Core:

entrez la description de l'image ici

les griffes
la source
2

Eh bien, il s'agit de redimensionner horizontalement plutôt que verticalement. Dans le passé, ils rendaient les processeurs de plus en plus rapides. Au fil du temps, la vitesse du processeur est passée d'une poignée de mégahertz à des vitesses allant jusqu'à 3 gigahertz. Cependant, lorsque la vitesse de 3 gigahertz a été atteinte, les fabricants de processeurs avaient trouvé une limite à la mesure dans laquelle ils pouvaient pousser la vitesse sur un seul cœur de processeur.

Pendant cette course à la vitesse, pour les applications qui avaient besoin de plus de puissance (comme les serveurs et les fermes de rendu CGI), les cartes mères CPU multi-socket ont été introduites. Cela a permis de placer plus d'un processeur (généralement deux) sur la carte mère. Les systèmes d'exploitation qui pouvaient utiliser plusieurs CPU à la fois pouvaient exécuter des logiciels qui tiraient parti de cette fonctionnalité en répartissant la charge sur ces deux CPU, augmentant ainsi la vitesse d'exécution.

Avance rapide à aujourd'hui. La limite de vitesse du processeur est quelque peu atteinte et au lieu de se mettre à l'échelle verticalement (ce qui la rend plus rapide), les fabricants de processeurs commencent à évoluer horizontalement en plaçant plusieurs cœurs sur une seule puce. Actuellement, les puces dual core sont très courantes et bientôt les quad core seront la norme. Imaginez maintenant que vous aviez placé deux cœurs quadruples sur une seule carte mère. Cela signifierait que le système d'exploitation aurait accès à 8 CPU, tous fonctionnant à environ 3 gigahertz.

Outre les processeurs multicœurs, il existe également un «faux» processeur double cœur qui utilise une technologie appelée «hyper-threading». Avec l'hyper-threading, le CPU émule la présence de deux CPU quand il n'y a en réalité qu'un seul cœur réel présent. Le CPU sait comment utiliser ce qui serait normalement un temps d'arrêt en planifiant les instructions d'une manière spécifique, pour gagner en efficacité.

Luc
la source
3
-1: Cette réponse comporte de nombreuses inexactitudes. (1) 3 GHz n'est pas une "limite de vitesse", il existe des processeurs qui fonctionnent à des fréquences supérieures à 3 GHz. La limite rencontrée par le fabricant de CPU consistait à installer des processeurs plus performants dans une enveloppe de puissance durable. (2) Votre deuxième paragraphe implique que des cartes mères multi-CPU ont été introduites car la "limite de vitesse" a été atteinte. En fait, les cartes mères multi-socket étaient environ 5 à 10 ans auparavant (peut-être même plus, je ne peux pas trouver une date exacte à laquelle les serveurs PC sont devenus multi-core).
hanleyp
Je sais que ce n'est pas correct à 100% et j'ai essayé de garder ma réponse en termes simples. C'est juste une version simplifiée pour que les gens comprennent en quelque sorte la différence. Je suis sûr que lorsque les gens veulent vraiment connaître les tenants et les aboutissants, ils enquêteront davantage pour eux-mêmes. Le paragraphe 2 commence par "En attendant", ce qui signifie que les processeurs ont été créés plus rapidement et que les cartes mères multi-socket ont été créées (il y a environ 10 ans).
Luke
C'est super. Je voulais simplement souligner ce qui, à mon avis, devait être clarifié. Je vais annuler mon vote, mais je ne peux pas sauf si vous modifiez la réponse d'une manière ou d'une autre.
hanleyp
Je suis heureux de faire des changements, mais que voulez-vous exactement que je change? Qu'il y a des CPU qui vont jusqu'à 3,2 gigahertz ou peut-être un peu plus? Pouvez-vous clarifier s'il vous plait?
Luke
2
-1: Vous expliquez pourquoi nous voyons des systèmes multicœurs, mais ce n'est pas ce que le questionneur a demandé. Vous n'avez pas expliqué la différence entre plusieurs cœurs et plusieurs processeurs.
John Fouhy
1

Du point de vue du développement logiciel, il y a relativement peu de différence.

Certaines applications multi-thread incorrectement écrites peuvent accidentellement fonctionner sur un processeur multi-core, mais pas sur une carte mère multi-processeur, mais je ne perdrais pas trop de sommeil à ce sujet, car ... eh bien ... nous parlons incorrectement logiciel écrit.

La principale différence entre les deux scénarios pour le même nombre total de cœurs disponibles (par exemple, 1 processeur 4 cœurs contre 2 processeurs 2 cœurs) est que dans le cas du scénario multiprocesseur, il y a généralement une plus grande mémoire agrégée -largeur de bande. Cela signifie que pour toute charge de travail gourmande en mémoire, vous pouvez être mieux avec ce dernier. Notez cependant que les primitives de verrouillage peuvent en fait être un peu plus lentes (en fonction de l'implémentation matérielle), de sorte que les algorithmes qui utilisent beaucoup de synchronisation peuvent en fait être moins performants sur ce dernier.

Même ainsi, je ne m'inquiéterais pas trop de la différence même alors, car si vous travaillez dans un domaine où cette différence est importante, vous le savez probablement déjà (connaissances spécifiques au domaine).

jerryjvl
la source