web-dev-qa-db-fra.com

Quelle est la différence entre MultiCore et MultiProcessor?

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

Quelle est la différence entre MultiCore et MultiProcessor s'il vous plaît?

24
Fulano

Un CPU ou unité centrale de traitement est ce que l'on appelle généralement un processeur. Un processeur contient de nombreuses parties distinctes, telles qu'un ou plusieurs caches de mémoire pour les instructions et les données, des décodeurs d'instructions et divers types d'unités d'exécution permettant d'effectuer des opérations arithmétiques ou logiques.

Un système multiprocesseur contient plusieurs CPU de ce type, ce qui leur permet de fonctionner en parallèle. C'est ce qu'on appelle SMP, ou Symmetric MultiProcessing.

Un processeur multi core possède plusieurs cœurs d'exécution sur un processeur. Cela peut signifier différentes choses selon l'architecture exacte, mais cela signifie fondamentalement qu'un certain sous-ensemble des composants de la CPU est dupliqué, de sorte que plusieurs "cœurs" puissent fonctionner en parallèle sur des opérations distinctes. C'est ce qu'on appelle CMP, Multiprocessing au niveau de la puce.

Par exemple, un processeur multicœur peut avoir un cache L1 et une unité d'exécution distincts pour chaque cœur, alors qu'il dispose d'un cache L2 partagé pour l'ensemble du processeur. Cela signifie que, même si le processeur dispose d'un grand pool de mémoire cache plus lente, il dispose de mémoires rapides et d'unités logiques/artithmétiques distinctes pour chacun des cœurs. Cela permettrait à chaque noyau d'effectuer des opérations en même temps que les autres.

Il existe encore une division supplémentaire appelée SMT , Multithreading simultané. C'est là qu'un sous-ensemble encore plus petit des composants d'un processeur ou d'un cœur est dupliqué. Par exemple, un cœur SMT peut avoir des ressources de planification de thread en double, de sorte qu'il ressemble à deux "processeurs" distincts pour le système d'exploitation, même s'il ne possède qu'un seul ensemble d'unités d'exécution. L'hyperthreading d'Intel est une implémentation courante.

Ainsi, vous pourriez avoir un système multiprocesseur, multicœur, multithread. Quelque chose comme deux processeurs hyperthreaded à quatre cœurs vous donnerait 2x4x2 = 16 processeurs logiques du point de vue du système d'exploitation.

Différentes charges de travail bénéficient de différentes configurations. Une charge de travail mono-thread exécutée sur une machine principalement destinée à un seul objectif bénéficie d'un système très rapide, mono-cœur/cpu. Les charges de travail bénéficiant de systèmes hautement parallélisés, tels que les configurations SMP/CMP/SMT, incluent celles qui comportent beaucoup de petites pièces pouvant être traitées simultanément ou les systèmes utilisés simultanément, par exemple un ordinateur de bureau utilisé pour surfer sur le Web, jouer à un jeu Flash et regarder une vidéo à la fois. En général, le matériel informatique tend de plus en plus à adopter des architectures hautement parallèles, car la plupart des vitesses brutes de processeur/cœur sont suffisamment "rapides" pour les charges de travail courantes de la plupart des modèles.

28
phoebus

Tout le monde a donné suffisamment d'explications. Toujours si tu ne comprends pas. Regardez ça:

alt text

18
claws

un processeur multicœur contient deux cœurs ou plus dans un seul paquet physique.

un système à plusieurs processeurs est un système contenant plusieurs processeurs physiques. chacun de ces processeurs peut contenir plusieurs cœurs (selon la réponse de WoodE).

quant à la façon dont ils comparent:
Dans un processeur multicœur, chacun des cœurs est généralement plus lent (en vitesse brute) qu’un processeur monocœur rapide. En outre, tous les cœurs de ce processeur partagent le même bus système et la même mémoire principale. Cependant, pour la plupart des tâches quotidiennes, le problème ne se pose pas et pour la plupart des utilisateurs, le système sera plus rapide car ils sont capables de réaliser plusieurs tâches simples en même temps.

dans un système multiprocesseur, les performances seront accrues dans les cas où plusieurs tâches de haute intensité sont exécutées. En fonction de la carte mère, cela peut être dû au fait que chaque processeur aura son propre bus dédié et/ou sa mémoire principale, ce qui leur permettra d’utiliser toutes les capacités de chacun pour ces tâches.

un système multiprocesseur multi-cœur serait un mélange des avantages et des inconvénients de chacun.

De plus, au fur et à mesure que de plus en plus de programmes multithreads (un programme capable de dire au processeur de travailler sur plus d’une tâche à la fois) sont développés, les désavantages d’un processeur multicœur diminuent.

2
Xantec

Du point de vue des ordinateurs de bureau/portables, le multiprocesseur dispose de deux processeurs distincts ou plus sur une machine.

Multi-core consiste à avoir plusieurs cœurs de traitement sur la même puce, essentiellement plusieurs processeurs sur un bit de silicium. Pour être considéré comme multicœur, chaque cœur doit être essentiellement un processeur complet - le fait que même les plus anciens puces Pentium aient plusieurs unités de calcul d’entier (permettant un traitement en pipeline plus efficace) ne compte pas.

Vous pouvez bien sûr avoir un agencement multicœur multi-processeurs, avec plusieurs processeurs multicœurs dans la même machine.

Les avantages et les inconvénients peuvent être compliqués, car de nombreuses variables doivent être prises en compte, mais voici quelques différences notables:

  • refroidissement: un processeur à deux cœurs produira souvent moins de chaleur perdue que deux unités distinctes à noyau unique répondant aux mêmes spécifications et ne nécessitant qu'un dissipateur thermique et un ventilateur, ce qui sera généralement meilleur marché (bien que toute la chaleur soit au même endroit deux, ce qui peut nécessiter des solutions de refroidissement de haute technologie)
  • rapidité en raison de la localisation du cache: sur la même puce, il est possible de rendre la cohérence/le partage du cache L2 (ou L3) plus efficace, car les cœurs n'ont pas besoin de se coordonner sur une longue distance via un bus de mémoire externe
  • différences de coût dues à la simplicité: la solution multicœur ne nécessite pas plusieurs prises sur la carte mère, etc.
2
David Spillett

à ma connaissance, un cœur est à l'intérieur d'un processeur, alors multicore veut dire un seul processeur puissant, multi-processeur est plusieurs processeurs sur une carte mère (je pense que réduire les problèmes de chauffage, ou peut-être même une charge utile partagée équivaut à de meilleures performances) pas sûr, mais d'après ce que j'ai lu, j'ai pensé que pour être précis

1
Dacota

En termes simples, un processeur multicœur est un processeur unique à plusieurs cœurs (le quadricœur a 4 cœurs, par exemple) où, en tant que système multiprocesseur, contient plusieurs processeurs sur la carte mère (qui peuvent également être multicœurs).

En ce qui concerne les avantages et les inconvénients de chacun, cela devient un peu plus compliqué.

Edit: correction orthographique.

1
WoodE

Le multicœur est constitué de plusieurs cœurs dans un seul puce . Les multiprocesseurs sont des matrices multiples.

1