Wie bereits erwähnt, haben Sie ein Dual-Core-System mit 2 Threads pro Core.
Dies wird von Intel als Hyperthreading vermarktet und wurde im Laufe der Jahre auf verschiedene Arten von verschiedenen Herstellern durchgeführt.
Um es in seiner einfachsten Form zu erklären, besteht jeder CPU-Kern aus einem "Kern" und verschiedenen Architekturen um diesen Kern, die Status- und Prozessinformationen für jeden Thread speichern. Ein einzelner Thread-Kern verfügt über die Architektur, um die Zustandsinformationen eines Threads gleichzeitig zu speichern. Ein Hyperthread-Kern speichert zwei unterschiedliche Sätze von Zustandsinformationen, sodass zwei separate Prozesse gleichzeitig ausgeführt werden können, solange sie verschiedene Teile des Kerns erfordern ( Dies ist wahrscheinlich, da der Kern aus mehreren Einheiten verschiedener Verarbeitungseinheiten besteht.
Um die Sichtweise der CPU auf das System zu vereinfachen, wird jeder Hyperthread als separate CPU angesehen, sodass ein Dual-Core-Prozessor mit zwei Threads pro Core als Quad-Core-Prozessor angezeigt wird.
Es ist auch möglich, dass das Betriebssystem Core-Parking verwendet (eine Funktion in neueren Intel-Prozessoren), wodurch das Betriebssystem die Hälfte eines Hyperthread-Kerns aussetzen kann, sodass die Leistung eines einzelnen Threads dann nicht benötigt wird, wenn die zusätzliche Verarbeitungsfähigkeit des Hyperthreads nicht erforderlich ist wird erhöht, da der Core seinen Cache nicht mehr auf 2 Threads verteilt und den Cache auf dem Core nun vollständig einem einzelnen Thread zuweisen kann.
Der Grund ist Hyperthreading , das Ihr Prozessor unterstützt. Hyperthreading ist nicht das Äquivalent eines zusätzlichen Prozessors, kann jedoch die Leistung bei Multithread-Anwendungen erheblich steigern. Für jeden physisch vorhandenen Prozessorkern adressiert das Betriebssystem zwei virtuelle Prozessoren und teilt die Arbeitslast nach Möglichkeit auf diese auf.
quelle
Die Dinge sind viel komplexer als zu Zeiten eines CPU-Befehls pro Taktzyklus.
Es gibt jetzt eine Pipeline für jede Anweisung, die aus mehreren Schritten besteht. Ich habe bis zu 41 gehört, obwohl das vor einer Weile war und ich habe keine Ahnung, wie aktuelle CPU-Pipelines aussehen. Ich weiß, dass Sie, wenn die Pipeline lang genug ist, einen neuen Befehl in der Pipeline beginnen können, bevor der letzte Befehl abgeschlossen ist, manchmal im selben Taktzyklus, sodass Ihr einzelner Kern effektiv zwei Dinge gleichzeitig ausführt.
Hier gibt es jedoch einen Trick. Sie können dies nicht nur verwenden, um die Geschwindigkeit zu beschleunigen, mit der Ihr Prozessor Anweisungen aus einem bestimmten Programm abbaut. Es liegt ein Korrektheitsproblem vor: Die nächste Anweisung kann vom noch unbestimmten Ergebnis der vorherigen Anweisung abhängen. Um die Vorteile der langen Pipeline sicher zu nutzen , präsentiert der Chip dem Betriebssystem-Scheduler zwei separate Prozessorkerne und alternative Anweisungen, die an jeden Kern gesendet werden, so dass sich nie zwei Anweisungen an denselben "Kern" gleichzeitig in der Pipeline befinden. Auf diese Weise können wir sicher sein, dass sich gleichzeitig ausgeführte Anweisungen nicht gegenseitig stören. Dies wird als Hyperthreading bezeichnet .
Es ist erwähnenswert, dass Hyperthreading zwar die Menge an Arbeit, die Sie aus Ihrer CPU herausholen, erheblich erhöhen kann, aber bei weitem nicht so gut ist, wie dass es so viele physische Kerne gibt. Abhängig von Ihrer Arbeitsbelastung bedeutet dies möglicherweise nur eine geringe Verbesserung um 15% oder sogar eine Verbesserung um 40%. Unter bestimmten Umständen möchten Sie die Funktion möglicherweise sogar deaktivieren, damit die verbleibenden Kerne den vollständigen exklusiven Zugriff auf den L1 / L2-Cache für diesen Kern haben (dies wird manchmal mit dedizierten Datenbankservern durchgeführt).
Wenn Ihr Chip 2 Kerne mit 4 Threads anzeigt, bedeutet dies, dass es sich um einen Dual-Core-Prozessor handelt, der Hyperthreading unterstützt.
quelle
Schauen Sie sich diese Intel-Seite an - sie enthält viele Animationen, die zeigen, wie Hyperthreading Ihre Aufgaben beschleunigt.
Das
Utilization of Processor Resources
ist die beste Animation, schaut sie euch an und klickt auf den "Weiter" -Button.quelle
Einfach ausgedrückt lautet die Antwort ja. Jeder Kern Ihrer CPU kann zwei unabhängige Threads unterstützen, also insgesamt 4. Dies bedeutet jedoch nicht, dass es die gleiche Leistung wie eine Quad-Core-Single-Threaded-CPU hat. Praktisch ist die Leistung einer Dual-Core-CPU mit zwei Threads niedriger als die einer Quad-Core-CPU mit einem Thread. Wie der AMD Phenom X4.
quelle