Was bedeuten 2 Core 4-Threads in der CPU?

78676
user734861

Ich wollte wissen, was 2 Cores 4 Threads für eine CPU bedeuten? Ich spreche von dieser CPU, die ich habe

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

Ich dachte zunächst, dass i5 4 Kerne hatte, aber ich glaube, dass ich falsch liege. Ich verstehe einen Thread als einen Teil des Codes, der gleichzeitig (gleichzeitig) mit anderen Threads ausgeführt werden kann. Was bedeuten also 4 Threads in diesem Datenblatt? Unterscheidet es sich von den programmatischen Threads. Unterscheidet sich die Anzahl der Threads von dem Programm-Thread, den wir erstellen. Wenn es nur 2 Kerne hat, ist es dann richtig, dass Sie nur 2 parallele Programme ausführen können, obwohl es 4 Threads hat?

20
Sobald Sie einige Hintergrundrecherchen zu http://en.wikipedia.org/wiki/Hyper-threading durchgeführt haben, sollte es für Sie sinnvoller sein. Der Prozessor, den Sie haben, kann tatsächlich 4 Anweisungen gleichzeitig ausführen. Sie sollten verstehen, dass sogar eine einzelne Kern-CPU die Möglichkeit hat, mehrere Programme auszuführen. Es hat einfach NICHT die Möglichkeit, zwei Anweisungen gleichzeitig auszuführen. Sie scheinen nicht klar zu sein, wie ein Programm tatsächlich funktioniert. Ramhound vor 10 Jahren 2
@Ramhound Sie meinten vermutlich 4 Anweisungen * Streams *. Da der i5 superskalar ist, kann er mehrere Befehle auch aus einem einzigen Befehlsstrom parallel ausführen. Durch gleichzeitiges Multithreading kann die Parallelität auf Thread-Ebene in Parallelität auf Befehlsebene umgewandelt werden, wodurch die Auslastung der Ausführungsressourcen erhöht wird. Paul A. Clayton vor 10 Jahren 0
Ich habe meine Aussage auf ein Minimum reduziert. Die Anzahl der Anweisungen pro Taktzyklus ist die Differenz zwischen einem Pentium D und dem vierten Core i5 minus der Größe des Würfels und natürlich dem Leistungsbedarf (nochmals vereinfacht). Ramhound vor 10 Jahren 0
Mögliches Duplikat von [Hyper-Threading und Dual-Core, Was ist der Unterschied?] (Http://superuser.com/questions/133082/hyper-threading-und-dual-core-was-der-Unterschied) Ciro Santilli 新疆改造中心 六四事件 法轮功 vor 9 Jahren 1
Diese Antwort kann folgende Informationen enthalten: https://superuser.com/questions/1198459/threads-versus-cores-and-rated-cpu-clock-speed-what-is-the-effect/1235784#1235784 Jamie Hanrahan vor 7 Jahren 0

4 Antworten auf die Frage

13

Ihr i5 verfügt über zwei Kerne. Jeder Kern kann zwei Threads ausführen, da Intels Hyperthreading 4 Threads ausführt. Darüber hinaus wechselt er bei hohen Geschwindigkeiten zwischen Prozessen. Hier ist eine nette Erklärung zum Multithreading, wenn Sie mehr wissen möchten, aber im Wesentlichen kann Ihre CPU 4 Prozesse gleichzeitig ausführen und mit hoher Geschwindigkeit zwischen den Prozessen wechseln.

> "Darüber hinaus wechselt es mit hoher Geschwindigkeit zwischen Prozessen." Was macht das Schalten von S / W-Vorgängen schneller? Talespin_Kit vor 8 Jahren 0
@Talespin_Kit Ich denke, @ Slowki bezog sich auf die Art und Weise, wie eine CPU für mehrere Prozesse verwendet wird, also ist sie nicht auf 4 Dinge beschränkt. Es gibt 4 Fäden von vielen Dingen. Matt Sephton vor 7 Jahren 0
3
Rev

Ich bin mir nicht sicher, welche Kenntnisse Sie über Computerarchitektur haben. Der Core i5, den Sie hier erwähnt haben, implementiert eine Form von Multithreading, die als Simultaneous Multithreading (SMT) bezeichnet wird. Das Markenzeichen von Intel für die Implementierung von SMT ist Hyperthreading.

Neben SMT gibt es noch andere Formen des Multithreading, wobei zeitliches Multithreading eine ist. Zum Beispiel feinkörniges zeitliches Multithreading, bei dem der Prozessor in jedem Zyklus zwischen verschiedenen Threads wechseln kann und somit eine pseudo-parallele Ausführung mehrerer Programme ermöglicht. Auf ähnliche Weise kann es grobkörniges zeitliches Multithreading geben, bei dem ein Prozessor zwischen Threads wechseln kann, wenn er auf eine Operation mit hoher Latenzzeit trifft, wie z. B. einen Hauptspeicherzugriff auf den aktuellen Thread. Die genauen Schaltpunkte können je nach Implementierung und Anforderungen variieren, z. B. Fairness oder Echtzeittermine.

SMT unterscheidet sich von der Kontextwechselphilosophie für Multithreading dadurch, dass zwei oder mehr Threads gleichzeitig auf einem Prozessor ausgeführt werden. Während die Implementierung variieren kann, besteht das Hauptziel darin, die funktionalen Einheiten im Prozessor zu nutzen, die sich im Leerlauf befinden, wenn nur ein Thread ausgeführt wurde, und auch die weit verbreitete Superskalarität des Prozessors auszunutzen. Sie können sich temporäres Multithreading als Zeitaufteilung der Prozessorressourcen vorstellen, SMT als räumliche Aufteilung der Ressourcen.

Eine detaillierte Analyse kann in Tullsens 1995er Publikation gefunden werden:

http://dl.acm.org/citation.cfm?id=224449

0
tizoc

"Wenn es nur 2 Kerne hat, ist es dann richtig, dass Sie nur 2 parallele Programme ausführen können, obwohl es 4 Threads hat?" Wenn es zwei Kerne hat, wird die Berechnung durch 2 geteilt. Parallelität. Wenn Ihr System jedoch Hyper-Threading hat, kann es die 2 Berechnungen in demselben Kern durchführen. Warum zeigt derselbe Kern dem Betriebssystem als 2 Kerne an ... logische Kerne.

0
khoreyrs

Nehmen Sie die Anzahl der Threads und teilen Sie sie durch die Anzahl der Kerne. Dadurch kann die Anzahl der Threads gleichzeitig pro Prozessorkern ausgeführt werden.

In früheren Zeiten [bei früheren Intel-Modellen] war Hyperthreading auf 1 Core beschränkt, der gleichzeitig 2 Threads ODER mehrere Cores mit 1 Befehlssatz (auch als Thread) pro Core ausgeführt wurde (ziemlich ineffizient, wenn Sie mich fragen). Aber mit einer besseren Rechenleistung und späteren Entwicklungen wie Ihrem i5-Prozessor haben Sie, wie ich es nennen möchte, einen Multi-Core-Hyperthread-Prozessor, der mehrere Kerne mit mehreren Befehlssätzen (auch Threads) pro Kern hat.

In Ihrem Fall erhält 1 Kern 2 Threads. Wenn Sie also rechnen, haben Sie insgesamt = 4 Befehlssätze (Threads).

Ein anderes Beispiel: Anzahl Kerne = 4, Anzahl Fäden = 8 | 8/4 = 2, so dass jeder Kern 2 Threads gleichzeitig verarbeitet (nicht sicher, welches Prozessormodell dies tut, aber ich bin fast sicher, dass einer existiert).

Hoffe das hilft meinem Freund! Viel Spaß beim Rechnen!

Quelle: PEARSON IT-Zertifizierung CompTIA A + Examp Cram Cert. Handbuch