Was ist der Unterschied zwischen MultiCore und MultiProcessor? [Duplikat]


Antworten:


28

Eine CPU oder Zentraleinheit ist das, was üblicherweise als Prozessor bezeichnet wird. Ein Prozessor enthält viele diskrete Teile, wie beispielsweise einen oder mehrere Speichercaches für Befehle und Daten, Befehlsdecoder und verschiedene Arten von Ausführungseinheiten zum Durchführen von arithmetischen oder logischen Operationen.

Ein Multiprozessorsystem enthält mehr als eine solche CPU, so dass sie parallel arbeiten können. Dies wird als SMP oder Symmetric MultiProcessing bezeichnet.

Eine Multi- Core- CPU verfügt über mehrere Ausführungskerne auf einer CPU. Dies kann je nach Architektur unterschiedliche Bedeutungen haben. Grundsätzlich bedeutet dies jedoch, dass eine bestimmte Teilmenge der CPU-Komponenten dupliziert wird, sodass mehrere "Kerne" bei separaten Vorgängen parallel arbeiten können. Dies wird als CMP (Chip Level Multiprocessing) bezeichnet.

Beispielsweise kann ein Multicore-Prozessor einen separaten L1-Cache und eine separate Ausführungseinheit für jeden Kern haben, während er einen gemeinsam genutzten L2-Cache für den gesamten Prozessor hat. Das bedeutet, dass der Prozessor zwar über einen großen Pool langsamerer Caches verfügt, jedoch separate schnelle Speicher- und Artithmetik- / Logikeinheiten für jeden von mehreren Kernen hat. Dies würde es jedem Kern ermöglichen, Operationen zur gleichen Zeit wie die anderen durchzuführen.

Es gibt noch eine weitere Unterteilung namens SMT , Simultaneous Multithreading. Hier wird eine noch kleinere Teilmenge der Komponenten eines Prozessors oder Kerns dupliziert. Beispielsweise verfügt ein SMT-Kern möglicherweise über doppelte Thread-Planungsressourcen, sodass der Kern für das Betriebssystem wie zwei separate "Prozessoren" aussieht, obwohl er nur über einen Satz von Ausführungseinheiten verfügt. Eine übliche Implementierung davon ist Intels Hyperthreading.

Sie könnten also ein Multiprozessor-, Multicore-, Multithread-System haben. So etwas wie zwei Quad-Core-Hyperthread-Prozessoren bieten aus Sicht des Betriebssystems 2x4x2 = 16 logische Prozessoren.

Unterschiedliche Workloads profitieren von unterschiedlichen Setups. Ein Single-Threaded-Workload, der auf einem hauptsächlich für einen bestimmten Zweck bestimmten Computer ausgeführt wird, profitiert von einem sehr schnellen Single-Core / CPU-System. Workloads, die von stark parallelisierten Systemen wie SMP / CMP / SMT-Setups profitieren, umfassen Systeme mit vielen kleinen Teilen, an denen gleichzeitig gearbeitet werden kann, oder Systeme, die für viele Aufgaben gleichzeitig verwendet werden, z Surfen Sie im Internet, spielen Sie ein Flash-Spiel und schauen Sie sich gleichzeitig ein Video an. Im Allgemeinen tendiert Hardware heutzutage immer mehr zu hochparallelen Architekturen, da die meisten Single-CPU / Core-Raw-Geschwindigkeiten "schnell genug" sind, um die üblichen Arbeitslasten für die meisten Modelle zu erreichen.


Was ist mit Wärme, welches Setup? Wenn Sie viele Prozessoren in ein CPU-Gehäuse stecken, konzentriert sich die Wärme sehr auf einen Punkt und erfordert bessere Kühlmöglichkeiten. Stimmt das? Wenn dies zutrifft, warum bleiben die Hersteller dann nur aus Kostengründen bei diesem Design? Oder gibt es andere Probleme bei der Verwendung getrennter Kerne zu überwinden?
Codebeat

18

Alle gaben genug Erklärungen. Immer noch, wenn du nicht verstehst. Schau dir das an:

Alt-Text


Zwei Abfragen ab dem Bild, das Sie aufstellten 1) Was ist APIC 2) Das Diagramm in der letzten Zeile der Zellen für Multicore und Multiprozessor (2 Diagramme in der ersten und dritten Spalte der letzten Zeile des Rasters) scheinen zu sein dasselbe, mit Ausnahme der gestrichelten / durchgezogenen Linien / quadratischen Grenzen um die ALU. Was meinen sie?
Goldenmean

2
@goldenmean: 1. APIC ist de.wikipedia.org/wiki/… . Es empfängt Interrupts von anderen Geräten und handelt. Ich könnte mehr erklären , wenn Sie einige Kenntnisse über die internen Abläufe Betriebssysteme 2) Nun, durchgezogene Linie Mittel haben , dass sie zwei verschiedene Chips / Matrizen wie in der ersten Reihe gezeigt und die gestrichelte Linie zeigt , dass sie sowohl auf einem einzelnen Chip oder Chip
Klauen

Dies sollte lauten: "Schauen Sie sich dieses Bild an, wenn Sie nicht verstehen, dass alle genug Erklärungen gaben"
Teoman Shipahi

2

Ein Mehrkernprozessor enthält zwei oder mehr Kerne in einem physischen Paket.

Ein Multiprozessorsystem ist ein System, das mehr als einen physischen Prozessor enthält. Jeder dieser Prozessoren kann mehrere Kerne enthalten (wie von WoodE beantwortet).

Im Vergleich:
In einem Multi-Core-Prozessor ist jeder der Kerne im Allgemeinen langsamer (in der Rohgeschwindigkeit) als ein schneller Single-Core-Prozessor. Außerdem teilen sich alle Kerne in diesem Prozessor den gleichen Systembus und Hauptspeicher. Für die meisten täglichen Aufgaben ist dies jedoch kein erkennbares Problem, und für die meisten Benutzer wird sich das System schneller anfühlen, da sie in der Lage sind, einfachere Aufgaben gleichzeitig auszuführen.

In einem System mit mehreren Prozessoren wird die Leistung in Fällen erhöht, in denen mehrere Aufgaben mit hoher Intensität ausgeführt werden. Abhängig vom Motherboard kann dies daran liegen, dass jeder Prozessor über einen eigenen dedizierten Bus und / oder Hauptspeicher verfügt, sodass er für diese Aufgaben alle Funktionen nutzen kann.

Ein Multi-Prozessor-Multi-Core-System ist eine Mischung aus Vor- und Nachteilen.

Wenn mehr Multithread-Programme entwickelt werden (ein Programm, das den Prozessor anweisen kann, an mehr als einer Task gleichzeitig zu arbeiten), verringern sich auch die Nachteile eines Mehrkernprozessors.


2

Aus der Sicht eines Desktops / Laptops verfügt der Multiprozessor über zwei oder mehr separate CPUs in einer Maschine.

Multi-Core hat mehrere Prozessorkerne auf demselben Chip, im Wesentlichen mehrere CPUs auf einem Bit Silizium. Um als Multi-Core zu gelten, sollte jeder Core im Wesentlichen eine volle CPU sein - die Tatsache, dass selbst die frühesten Pentium-Chips mehrere ganzzahlige Recheneinheiten hatten (was ein effizienteres Pipelining ermöglicht), zählt nicht.

Sie könnten natürlich eine Mehrkernanordnung mit mehreren Prozessoren haben, wobei sich mehr als ein Mehrkernprozessor auf derselben Maschine befindet.

Die Vor- und Nachteile können kompliziert sein, da viele Variablen zu berücksichtigen sind. Einige bemerkenswerte Unterschiede sind jedoch:

  • Kühlung: Eine Zwei-Kern-CPU produziert häufig weniger Abwärme als zwei separate Ein-Kern-Einheiten derselben Spezifikation und benötigt nur einen Kühlkörper und einen Lüfter, was in der Regel günstiger ist (obwohl sich die gesamte Wärme an einem Ort befindet und nicht auf mehrere verteilt ist) zwei, für die möglicherweise Hightech-Kühllösungen erforderlich sind)
  • Geschwindigkeit aufgrund der Cachelokalität: Auf dem gleichen Chip gibt es Möglichkeiten, die L2- (oder L3-) Cachekohärenz / -freigabe effizienter zu gestalten, da die Kerne nicht über eine längere Distanz über einen externen Speicherbus koordinieren müssen
  • Kostenunterschiede aufgrund der Einfachheit: Für die Multi-Core-Lösung sind nicht mehrere Sockel auf dem Motherboard usw. erforderlich

1

Grundsätzlich ist ein Multicore-Prozessor ein einzelner Prozessor mit mehreren Kernen (Quad-Core hat beispielsweise 4 Kerne), wobei ein Multiprozessorsystem mehr als einen Prozessor auf der Hauptplatine enthält (der wiederum auch Multicore sein kann).

Wenn es um das Für und Wider eines jeden geht, wird es etwas komplizierter.

Bearbeiten: Rechtschreibkorrektur.



1

Meines Wissens befindet sich ein Kern innerhalb eines Prozessors. Multi-Core würde also bedeuten, dass ein einzelner starker Prozessor, Multi-Prozessor mehrere Prozessoren auf einem Motherboard sind (ich nehme an, dass Heizprobleme geringer sind oder sogar eine gemeinsame Nutzlast einer besseren Leistung gleichkommt). Ich bin mir nicht sicher, aber nach dem, was ich gelesen habe, habe ich mir das genau vorgestellt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.