Definition Prozessor vs. Kern (Multiprozessor vs. Multicore)

Definition Prozessor vs. Kern (Multiprozessor vs. Multicore)

Nachdem ich viele Links gelesen habe, stört es mich, dass es so viele Überschneidungen zwischen einfachen Definitionen wie CPU, Prozessor, Kern usw. gibt.

https://stackoverflow.com/questions/19225859/unterschied-zwischen-kern-und-prozessor

Lassen Sie uns zunächst klären, was eine CPU und was ein Kern ist. Eine zentrale Verarbeitungseinheit (CPU) kann mehrere Kerneinheiten haben,diese Kerne sind ein Prozessor für sich, kann ein Programm ausführen, ist aber in sich geschlossen auf demselben Chip.

Was ist der Unterschied zwischen MultiCore und MultiProcessor?

Eine CPU oder Central Processing Unit ist das, was man üblicherweise bezeichnet alsProzessor.

Also, welches ist es?

Eine CPU (Central Processing Unit) enthält (1-viele) Kerne. Jeder Kern kann je nach Hyperthreading-Technologie (1-viele) Threads ausführen – er führt sozusagen die eigentliche Berechnung durch.

Was ist also ein Prozessor? Bezieht sich das auf die CPU, den gesamten Chip als Ganzes? Bezieht es sich auf einen Kern einer CPU? Und was genau bedeutet Multiprozessor/Multicore? Sind das Synonyme?

Antwort1

Ja, Prozessor ist ein allgemeiner Begriff, der jede Art von CPU beschreibt, unabhängig von den Kernen. Dasselbe gilt für CPU. Es bedeutet nicht Single- oder Multi-Core und kann sich auf beides beziehen.

Eine zentrale Verarbeitungseinheit (CPU) ist die elektronische Schaltung in einem Computer, die die Anweisungen eines Computerprogramms ausführt, indem sie die in den Anweisungen angegebenen grundlegenden Rechen-, Logik-, Steuer- und Eingabe-/Ausgabeoperationen (E/A) durchführt. Der Begriff wird in der Computerbranche mindestens seit den frühen 1960er Jahren verwendet. Traditionell bezieht sich der Begriff „CPU“ auf einen Prozessor, genauer gesagt auf dessen Verarbeitungseinheit und Steuereinheit (CU), wodurch diese Kernelemente eines Computers von externen Komponenten wie Hauptspeicher und E/A-Schaltungen unterschieden werden.

Die Verarbeitungsleistung von Computern wird durch die Verwendung von Mehrkernprozessoren erhöht, was im Wesentlichen bedeutet, dass zwei oder mehr einzelne Prozessoren (in diesem Sinne Kerne genannt) in einen integrierten Schaltkreis eingesteckt werden. Im Idealfall wäre ein Dual-Core-Prozessor fast doppelt so leistungsfähig wie ein Single-Core-Prozessor. In der Praxis ist der Leistungsgewinn aufgrund mangelhafter Softwarealgorithmen und Implementierungen viel geringer, nur etwa 50 %. Durch die Erhöhung der Anzahl der Kerne in einem Prozessor (d. h. Dual-Core, Quad-Core usw.) erhöht sich die Arbeitslast, die bewältigt werden kann. Dies bedeutet, dass der Prozessor nun zahlreiche asynchrone Ereignisse, Interrupts usw. verarbeiten kann, die bei Überlastung die CPU stark belasten können. Man kann sich diese Kerne als verschiedene Stockwerke in einer Verarbeitungsanlage vorstellen, wobei jedes Stockwerk eine andere Aufgabe bearbeitet. Manchmal bearbeiten diese Kerne dieselben Aufgaben wie benachbarte Kerne, wenn ein einzelner Kern nicht ausreicht, um die Informationen zu verarbeiten.

Aufgrund spezifischer Fähigkeiten moderner CPUs, wie etwa Hyper-Threading und Uncore, die eine gemeinsame Nutzung tatsächlicher CPU-Ressourcen bei gleichzeitiger Steigerung der Auslastung beinhalten, ist die Überwachung von Leistungsniveaus und Hardwareauslastung allmählich zu einer komplexeren Aufgabe geworden.

Anders verhält es sich jedoch bei Multiprozessorsystemen. Dabei handelt es sich um einen Computer mit einem Motherboard, das mehr als einen Prozessor unterstützt (normalerweise 2 bis 8 CPUs, aber einige Supercomputer verwenden spezielle Hardware, die die Verwendung von viel mehr auf einem einzigen Motherboard ermöglicht). Dabei gibt es einen Haken: Multiprozessorcomputer können (und tun dies normalerweise auch) Multi-Core-CPUs verwenden. Ich habe zum Beispiel mehrere Multiprozessorserver gebaut, die zwei IntelXeon 5560 Quad-Core-CPUs. Diese spezielle CPU bietet eine Technologie namens Hyper-Threading. Hyper-Threading ist eine Technologie, die die 4 (Quad-)Kerne praktisch in Hälften teilt, was Ihnen effektiv insgesamt 8 Kerne pro CPU gibt. Da wir mit Hyper-Threading 8 Kerne pro CPU haben und das System ein Multiprozessor ist, ist das Endergebnis ein System mit 16 Kernen. Jeder Kern kann einen Thread unabhängig von den anderen Kernen verarbeiten, was bedeutet, dass Sie viel mehr Leistung zum Verarbeiten von Informationen haben als mit einer einzelnen CPU.

Bildbeschreibung hier eingeben

Antwort2

Der Begriff „Prozessor“ lässt sich nur schwer definieren. Wie bei vielen Wörtern kommt es auf den Kontext an, in dem er verwendet wird.

AProzessorwie definiert durchDictionary.comIst

die Schlüsselkomponente eines Computergeräts, die die Schaltkreise enthält, die für die Interpretation und Ausführung der in das Gerät eingespeisten elektrischen Signale erforderlich sind

In gewisser Weise hat ein Computer also viele „Prozessoren“. Alles, von der CPU, die den Großteil der „Denkarbeit“ für den Computer übernimmt, bis zur GPU (steuert das Display) ist technisch gesehen ein Prozessor.

Was die Kerne betrifft, bestehen viele moderne CPUs (zum Zeitpunkt der Abfassung dieses Artikels) aus mehreren Prozessoren. Dies ermöglicht eine schnellere Leistung, da die Arbeit auf die Kerne aufgeteilt wird. Die CPU (Zentrale Verarbeitungseinheit) bezieht sich einfach auf die Art und Weise, wie das Betriebssystem die CPU sieht – als eine Einheit, die Informationen nach Bedarf verarbeitet.

d. h. eine Multicore-CPU hat mehr als einen Kern (ohne HyperThreading), während dies bei einer Single-Core-CPU nicht der Fall ist.

Hyper-Threadingist ein ganz anderes Durcheinander.

Dadurch kann das Betriebssystem mehrere unabhängige Aufgaben gleichzeitig ausführen, was häufig zu einer höheren Leistung führt, aber nicht auf allen CPUs verfügbar ist.

verwandte Informationen