Warum zeigt mein Intel i7-920 8 Kerne anstelle von 4 Kernen an?

20

Wenn ich zum Task-Manager gehe, sehe ich 8 Prozessoren, aber ich weiß, dass ich 4 habe. Warum?

Alt-Text

Patrick Desjardins
quelle

Antworten:

39

Hyperthreading .

Hyper-Threading abstrahiert das Wechseln von Aufgaben von den Betriebssystemen. Normalerweise muss ein Betriebssystem mit dem Planen von Prozessen auf verschiedenen CPUs fertig werden und sicherstellen, dass jede auf dem System ausgeführte Aufgabe ihren angemessenen Anteil an der CPU hat, jedoch nicht zu viel (wenn etwas anderes dies wünscht).

Hyper-Threading ist eine Möglichkeit, dem Betriebssystem den zweiten Prozess der Aufgabenteilung zumindest für kurze Zeit zu nehmen. Der Grund dafür ist, dass der Prozessor den Taskwechsel viel schneller ausführen kann, als das Betriebssystem dies vorschreibt. Durch die Darstellung von zwei logischen Prozessoren, wenn es tatsächlich nur einen gibt, muss das Betriebssystem nur halb so viele Aufgabenwechseloperationen ausführen, aber mehr CPU-Zeitplanung. Das Nettoergebnis ist jedoch angeblich eine schnellere Maschine für Multitasking-Vorgänge.

Die tatsächlichen Vorteile hängen stark von der Arbeitsbelastung ab, die Sie ausführen. Für die meisten Menschen ist es kein Problem, das Gerät ein- oder auszuschalten. 4 vs 8 Threads sind wie die Wahl zwischen einem Ferrari oder einem Lamborghini für Heimanwender.

In Serverszenarien kann dies jedoch einen großen Unterschied bewirken. Beispielsweise können Hypervisoren durch die Verwendung von Hyperthreading häufig eine große Geschwindigkeitssteigerung erzielen, da sie sehr strenge Anforderungen an die CPU-Zeitplanung haben.

SQL Server erhalten diese Erhöhung jedoch häufig nicht, da es oft besser ist, vier "große" Threads als acht "mittelgroße" Threads zu haben.

Mark Henderson
quelle
3
Als geschätzter Superuser empfehle ich Ihnen, diese Antwort noch einmal zu lesen und weitere Details hinzuzufügen . Der Link erklärt nichts darüber, was Hyperthreading ist oder was es tut.
James Mertz
11

Das mein Freund Hyper-Threading ist .

Hyperthreading ist eine Form des simultanen Multithreading , bei dem die Vorteile der superskalaren Architektur genutzt werden. Mehrere Anweisungen, die parallel auf separaten Daten arbeiten. Sie erscheinen dem Betriebssystem als zwei Prozessoren, sodass das Betriebssystem zwei Prozesse gleichzeitig planen kann . Außerdem können zwei oder mehr Prozesse dieselben Ressourcen verwenden. Wenn ein Prozess fehlschlägt, können die Ressourcen problemlos neu zugewiesen werden. Das Betriebssystem muss simultanes Multi-Threading (SMT) unterstützen.

James Mertz
quelle
1
"Schönheit" ist umstritten. In einigen Fällen beeinträchtigt Hyperthreading die Leistung.
MDMarra
Es hängt alles davon ab, was Sie tun
Prestomation
Seid ihr jetzt glücklich? : D (
1
"Das, mein Freund, ist Hyper-Threading in all seiner Schönheit!" :)
Ich werde mit der Beauty-Version gehen. Obwohl ich unter bestimmten Umständen Berichte über negative Auswirkungen auf die Leistung gehört habe, konnte ich nicht duplizieren. Hyperthreading war für mich immer schneller. Sogar in seinen älteren Formen.
Brian Knoblauch
6

Die i7-Familie ist ein Quad-Core-Prozessor mit 8 Threads. Normale Quad-Cores haben 4 Threads. Da Hyper-Threading aktiviert ist, erkennt Ihr Computer diese 8 Threads als Prozessoren.

Kabel
quelle