Quelle est la différence entre MultiCore et MultiProcessor?

Duplication possible:
Quelle est la différence entre le proc multicore et le système multiproc?

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

Une CPU ou une unité de traitement centralisée est ce qu'on appelle habituellement un processeur. Un processeur contient de nombreuses parties distinctes, comme une ou plusieurs caches de mémoire pour les instructions et les données, les décodeurs d'instructions et divers types d'unités d'exécution pour effectuer des opérations arithmétiques ou logiques.

Un système multiprocesseur contient plus d'un tel processeur, ce qui leur permet de travailler en parallèle. C'est ce qu'on appelle SMP ou Multiprocessing symétrique.

Une CPU multi- core possède plusieurs cœurs d'exécution sur une CPU. Maintenant, cela peut signifier différentes choses en fonction de l'architecture exacte, mais cela signifie essentiellement qu'un certain sous-ensemble des composants de la CPU est dupliqué, de sorte que plusieurs «noyaux» peuvent fonctionner en parallèle sur des opérations distinctes. C'est ce qu'on appelle CMP, multiprocessus à niveau Chip.

Par exemple, un processeur multicœur peut avoir un cache L1 séparé et une unité d'exécution pour chaque noyau, alors qu'il possède un cache L2 partagé pour l'ensemble du processeur. Cela signifie que si le processeur dispose d'un gros bassin de mémoire cache plus lente, il dispose d'une mémoire rapide distincte et d'unités artithmétiques / logiques pour chacun de plusieurs noyaux. Cela permettrait à chaque core d'effectuer des opérations en même temps que les autres.

Il existe une division encore plus longue, appelée SMT , Multithreading simultanée. C'est là où un sous-ensemble encore plus petit des composants d'un processeur ou du noyau est dupliqué. Par exemple, un noyau SMT peut avoir des ressources de planification de threads en double, de sorte que le noyau ressemble à deux "processeurs" distincts au système d'exploitation, même s'il ne possède qu'un ensemble d'unités d'exécution. Une implémentation commune de ce type est Hyperthreading d'Intel.

Ainsi, vous pourriez avoir un système multiprocesseur, multicore, multithread. Quelque chose comme deux processeurs quadri-core, hyperthreaded vous donnerait 2x4x2 = 16 processeurs logiques du point de vue du système d'exploitation.

Les différentes charges de travail bénéficient de différentes configurations. Une charge de travail simple threadée effectuée sur une machine à la fois simple à utiliser bénéficie d'un système très rapide, monocœur / cpu. Les charges de travail qui bénéficient de systèmes hautement parallèles tels que les configurations SMP / CMP / SMT comprennent celles qui ont beaucoup de petites pièces pouvant être utilisées simultanément, ou des systèmes qui sont utilisés pour beaucoup de choses à la fois, comme un ordinateur de bureau utilisé Surfez sur le Web, jouez à un jeu Flash et regardez une vidéo en même temps. En général, le matériel de nos jours se développe de plus en plus vers des architectures hautement parallèles, car la plupart des vitesses brutes CPU / core sont «assez rapides» pour les charges de travail courantes dans la plupart des modèles.

Tout le monde a donné suffisamment d'explications. Encore si vous ne comprenez pas. Regardez ceci:

Texte alt

À partir d'un point de vue de bureau / ordinateur portable, le multiprocesseur possède deux CPU plus distinctes dans une machine.

Multi-core possède plusieurs noyaux de traitement sur la même puce, essentiellement plusieurs CPU sur un bit de silicium. Pour être considéré comme multi-core, chaque noyau devrait être essentiellement un processeur complet – le fait que même les premières puces de Pentium possédaient plusieurs unités de calcul d'entiers (permettant un pipelinage plus efficace) ne comptent pas.

Vous pouvez évidemment disposer d'un multi-processeur à processeurs multiples, avec plus d'un processeur multi-core dans la même machine.

Les avantages et les inconvénients peuvent être compliqués car il y a beaucoup de variables à considérer, mais certaines différences notables sont les suivantes:

  • Refroidissement: une CPU à deux composants produira souvent moins de chaleur résiduelle que deux unités individuelles distinctes de la même spécification et ne nécessitera qu'un dissipateur thermique et un ventilateur qui sera généralement moins cher (bien que la chaleur soit dans un seul endroit, pas répartie sur Deux, qui peuvent nécessiter des solutions de refroidissement de haute technologie)
  • Vitesse due à la localisation du cache: être sur la même puce, il existe des possibilités de rendre la cohérence / partage du cache L2 (ou L3) plus efficace car les noyaux n'ont pas besoin de se coordonner sur une distance plus longue sur un bus de mémoire externe
  • Différences de coûts en raison de la simplicité: la solution multi-core ne nécessite pas de sockets multiples sur la carte mère et ainsi de suite

En termes de base, un processeur multicœurs est un processeur unique avec plusieurs noyaux (quad-core possède 4 cœurs, par exemple) où, en tant que système multiprocesseur, contient plus d'un processeur sur la carte mère (qui peut également être multicouches).

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

Modifier: correction d'orthographe.

Multicore est plusieurs carottes en un seul morceau . Les multiprocesseurs sont des matrices multiples.

À ma connaissance, un noyau est à l'intérieur d'un processeur, de sorte que multi-core signifierait un seul processeur puissant, le multiprocesseur est plusieurs processeurs sur une carte mère (je considère que les problèmes de chauffage sont plus faibles ou peut-être même une charge utile partagée équivaut à une meilleure performance) Pas sûr, mais à partir de ce que j'ai lu, j'ai pensé que c'était précis

Un processeur multi-core contient deux ou plusieurs noyaux dans un seul paquet physique.

Un système de processeur mutli est un système qui contient plus d'un processeur physique. Chacun de ces processeurs peut contenir plusieurs cœurs (comme WoodE a répondu).

Quant à leur comparaison:
Dans un processeur multi-cœur, chacun des noyaux est généralement plus lent (en vitesse brute) qu'un processeur simple à un seul noyau. En outre, tous les noyaux de ce processeur partagent le même bus système et la mémoire principale. Cependant, pour la plupart des tâches quotidiennes, ce n'est pas un problème notable et, pour la plupart des utilisateurs, le système se sentira plus rapide car il est capable de faire des tâches plus simples à la fois.

Dans un système multiprocesseur, les performances seront augmentées dans les cas où il y a plusieurs tâches d'intensité élevée effectué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 lui permettra d'utiliser les capacités complètes de chacun pour ces tâches.

Un multi-processeur multi-core système serait un mélange des avantages et des inconvénients de chacun.

En outre, à mesure que de plus en plus de programmes mutli-threaded (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 multi-core vont diminuer.