Ich frage mich, was der Unterschied zwischen einem Dual-Core-Computer und einem Computer mit 2 Prozessoren auf der Hauptplatine ist. Ich denke, es hängt etwas mit den Threads zusammen, aber ich verstehe es nicht sehr gut.
quelle
Ich frage mich, was der Unterschied zwischen einem Dual-Core-Computer und einem Computer mit 2 Prozessoren auf der Hauptplatine ist. Ich denke, es hängt etwas mit den Threads zusammen, aber ich verstehe es nicht sehr gut.
Mehrere Prozessoren lassen Ihren Computer buchstäblich zwei Dinge gleichzeitig erledigen (anstatt scheinbar nur zwei Dinge gleichzeitig zu erledigen, sondern tatsächlich nur extrem schnell zwischen Aufgaben zu wechseln).
Mehrere Kerne sind gleich. Der Vorteil mehrerer Kerne gegenüber mehreren Prozessoren besteht darin, dass sie einige Bits der CPU gemeinsam nutzen, z. B. den Cache der zweiten Ebene, wodurch sie noch effizienter arbeiten können, wenn sie über gemeinsam genutzte Daten verfügen. Dies macht sie in der Herstellung viel billiger. Eine einzelne Dual-Core-CPU benötigt außerdem weniger Platz als zwei Single-Core-CPUs. Dies ist heutzutage ein wichtiger Faktor, wenn alle auf Laptops umsteigen.
Es kann einige Leistungsunterschiede geben, aber nichts, was Sie wahrscheinlich bemerken werden.
Sehen Sie sich dieses Bild an, das den Unterschied zwischen Multi-Prozessor, Hyper-Threaded und Multi-Core zeigt:
quelle
Sie sollten mit Multi-Core- und Multithread- Artikeln bei Wikipedia beginnen.
quelle
Nun, es geht darum, horizontal statt vertikal zu skalieren. Früher haben sie die CPU immer schneller gemacht. Mit der Zeit stieg die Geschwindigkeit der CPUs von nur wenigen Megahertz auf Super-Geschwindigkeiten von bis zu 3 Gigahertz. Als die 3-Gigahertz-Geschwindigkeit erreicht war, hatten die CPU-Hersteller eine Grenze gefunden, wie weit sie die Geschwindigkeit eines einzelnen CPU-Kerns steigern konnten.
Während dieses rasanten Rennens wurden für Anwendungen, die mehr Strom benötigten (wie Server und CGI-Renderfarmen), die Multi-Socket-CPU-Motherboards eingeführt. Dies erlaubte es, mehr als eine CPU (normalerweise zwei) auf dem Motherboard zu platzieren. Betriebssysteme, auf denen mehrere CPUs gleichzeitig verwendet werden können, können Software ausführen, die diese Funktion nutzt, indem sie die Last auf diese beiden CPUs verteilen und so die Ausführungsgeschwindigkeit erhöhen.
Schneller Vorlauf zur Gegenwart. Das CPU-Geschwindigkeitslimit ist etwas erreicht, und anstatt sich vertikal zu skalieren (um es zu beschleunigen), beginnen die CPU-Hersteller, sich horizontal zu skalieren, indem sie mehrere Kerne auf einem einzigen Chip platzieren. Derzeit sind Dual-Core-Chips weit verbreitet und bald werden die Quad-Cores der Standard sein. Stellen Sie sich nun vor, Sie hätten zwei Quad-Cores auf einem einzigen Motherboard platziert. Dies würde bedeuten, dass das Betriebssystem Zugriff auf 8 CPUs haben würde, die alle bei etwa 3 Gigahertz laufen.
Neben Multi-Core-CPUs gibt es auch eine "gefälschte" Dual-Core-CPU, die eine als "Hyper-Threading" bekannte Technologie verwendet. Beim Hyper-Threading emuliert die CPU die Anwesenheit von zwei CPUs, wenn in Wirklichkeit nur ein tatsächlicher Kern vorhanden ist. Die CPU weiß, wie sie die normalerweise auftretenden Ausfallzeiten nutzen kann, indem sie Anweisungen auf eine bestimmte Weise plant, um mehr Effizienz zu erzielen.
quelle
Aus Sicht der Softwareentwicklung gibt es relativ wenig Unterschiede.
Einige falsch geschriebene Multi-Thread-Anwendungen funktionieren möglicherweise versehentlich auf einem Multi-Core-Prozessor, aber nicht auf einem Multi-Prozessor-Motherboard, aber ich würde nicht zu viel Schlaf verlieren, da ... nun ... wir falsch reden geschriebene Software.
Der Hauptunterschied zwischen den beiden Szenarien für die gleiche Gesamtanzahl verfügbarer Kerne (z. B. 1x 4-Kern-Prozessor im Vergleich zu 2x 2-Kern-Prozessor) besteht darin, dass im Fall des Multiprozessor-Szenarios in der Regel ein größerer Gesamtspeicher vorhanden ist Bandbreite. Dies bedeutet, dass Sie für jede speicherintensive Arbeitsauslastung mit letzterer möglicherweise besser dran sind. Beachten Sie jedoch, dass das Sperren von Grundelementen (abhängig von der Hardwareimplementierung) tatsächlich etwas langsamer sein kann, sodass Algorithmen, die viel Synchronisation verwenden, bei letzteren möglicherweise eine schlechtere Leistung erzielen.
Trotzdem würde ich mich auch dann nicht allzu sehr um den Unterschied kümmern, denn wenn Sie in einem Bereich arbeiten, in dem dieser Unterschied von Bedeutung ist, wissen Sie höchstwahrscheinlich bereits Bescheid (domänenspezifisches Wissen).
quelle