x Core = 2*x Threads?

Lugia1ful

Cadet 3rd Year
Registriert
Apr. 2014
Beiträge
43
Mir ist bisher aufgefallen, dass all meine prozessoren bisher die doppelte anzahl an threads haben. ist das immer so bei intel, weil ich kann mich nicht daran erinneren mal ein quad core prozessor mit 4 threads von intel gesehen zu haben. und das waren schon einige.
Also kurz und kanpp ich will nur wissen, ob:
1 Core CPU = 2 Threads
2 Core CPU = 4 Threads
4 Core CPU = 8 Threads
6 Core CPU = 12 Threads
usw.
 
Auf einem Kern können zwei Threads laufen, wenn die CPU Hyperthreading bzw. Simultaneous Multithreading kann.

Bei manchen AMDs (den Bulldozern und Pildrivern) ist das dann wider etwas anders.
 
Das ist nur bei Prozessoren so, die Hyperthreading beherrschen (im Desktop also i7 und einige i3) Ansonsten entspricht die Threadzahl dem Core-Count

Quadcore-Prozessoren mit 4 Threads sind i5 und die alten Core2Quad-Schinken
 
Nein. Nur die die Hyperthreading können.
 
Wichtig zu verstehen ist auch noch, dass die durch Hyperthreading parallel abgearbeiten Threads nicht komplett parallel sind. Das geht wirklich nur mit unterschiedlichen Cores. Lediglich einige wenige Befehle werden in die Pipeline eingereit. Dadruch steigt nachtürlich die Performance allerdings bei weitem nicht um x2.
 
Lugia1ful schrieb:
(...) weil ich kann mich nicht daran erinneren mal ein quad core prozessor mit 4 threads von intel gesehen zu haben. und das waren schon einige.

Ungefähr jeder i5 ist ein reiner Quadcore mit vier physikalischen Kernen und vier Threads. i7er sind Quadcores mit 8 Threads, da sie SMT/HT unterstützen (muss die Software aber auch nutzen können, sonst verhält sich ein i7 wie ein entsprechender i5). Einige i3 und irgendwo im unüberschaubaren Zoo der Notebook-CPUs wahrscheinlich auch der eine oder andere i5 sind Dualcores mit SMT/HT, und haben somit auch vier Threads. Und Xeons gibt es meines Wissens auch mit und ohne SMT/HT (wobei die Mehrheit schon SMT/HT hat).
 
Das Hyperthreading bringt im Optimalfall ca. 30% Mehrleistung, wenn alle Threads genutzt werden. Bei einem i3 (2C/4T) ist das schon einge gute Sache, weile viele Anwendungen mittlerweile 4 Threads stellen können. Bei den i7 (4C/8T) ist der Vorteil gegenüber dem i5 (4C/4T) in der Praxis geringer, außgenommen stark parallellisierbare Anwendungen wie Videodeoberechnungen.

Aber per Hythreading simulierte Kerne sind echten Kernen natürlich weit unterlegen. Darum ist der Leistungsunterschied zwischen i3 (2C/4T) und i5 (4C/4T) erheblich größer, als i5 zu i7.
 
promashup schrieb:
HT konnten sogar schon die alten Pentiums.
Ein Q9550 hingegen war aber ein reiner Quad Core mit 4 Threads, jeder Desktop i5 auch<--FALSCH !!!.
4C/8T haben nur die i7 bzw. die meisten Xeons.

ein i5 660/661 = DualCore mit 4 Threads (SMT) ;)
 
Nein das ist nicht immer so und je nach Modell unterschiedlich.

Ich wage mich auch nicht das auf i5 oder i7 etc. zu verallgemeinern da es immer Ausnahmen gibt (T Versionen etc. )

Für die Meisten Intel iX ab Sandy bridge(2000iwas) gilt das jedoch. Es gibt selbst Xeons bei denen das nicht der Fall ist.

Bei AMD ist das so ne Sache mit Modulen und den Kernen ...
 
MOS1509 schrieb:
Aber per Hythreading simulierte Kerne sind echten Kernen natürlich weit unterlegen

Der Satz ist so falsch und hält sich doch so lang.

Es gibt keine Unterscheidung zwischen echten und simulierten Kernen. Es werden nicht mal Kerne simuliert.
Ein 4Kerner hat 4 Kerne. Immer. Der i5 und der i7.

Die Hyperthreading CPUs haben pro Kern 2 Execution Units. Und die sind exakt gleich schnell, da sie die Befehle vom gleichen kern abarbeiten lassen.

Du machst einen Fehler wenn du zwischen echt und simuliert unterscheidest.

Der OS Scheduler sorgt dann dafür, daß 2 Threads nicht auf die 2 Execution Units desselben Cores geschoben werden, sondern eben auf unterschiedliche Cores.

Nicht echt und echt gibt es da nicht.

Hyperthreading greift erst dann, wenn jeder Kern ausgelastet ist. Dann werden Threads auf die 2. Execution Units geschoben, die bei Vollauslastung aber dann eben auch nicht mehr viel reissen können.
 
Was ich damit sagen möchte ist, dass 4 physikalische Kerne ohne HT 2 Physikalischen Kernen mit HT weit überlegen sind. Das Hyperthreading sorgt lediglich dafür, dass die physikalischen Kerne besser ausgelastet werden. Deswegen ist ein i5 (4C/4T) einem i3 (2C/4T) weit überlegen.
 
Das stimmt ja auch alles.

Allerdings kenn ich ja die Fragen hier im Forum wie man sicherstellen kann dass seine Software auf einem der echten Kerne und nicht auf einem der virtuellen Kerne läuft.

Daher hab ich hier mal erneut geschrieben dass es keine Unterscheidung zwischen echt und virtuell gibt.
 
Es gibt auch Leute, die verstehen das Prinzip von HT / SMT nicht. Im Betriebssystem werden z.B. 4 Kerne angezeigt, so dass der Unterschied zwischen einem i3 (2C/4T) und i5 (4C/4T) nicht verstanden wird. Einige Leute sagen auch, mein i7 hat 8 Kerne, was natürlich, physikalisch betrachtet, falsch ist.

Mir ist die Arbeit des Scheduler bei meinem i7 auch schon aufgefallen. Anscheind gehören die logischen Kerne 0+1 ,2+3, 4+5 und 6+7 jeweils zu einem physikalischen Kern, weil bei vier laufenden Threads jeweils nur einer von beiden logischen Kernen belastet wird.
 
Interessant welche Diskussionen hier zu einer simplen Frage entstehen :D:D
 
Ja, das geht schnell. Aber solche Diskussionen machen ja auch Spaß. Ich bin aus zwei Gründen in diesem Forum:

1. Weil gelegendlich Hilfe zu Computerproblemen suche
2. Um mich eben an interessanten Diskossionen zu beteiligen.
 
MOS1509 schrieb:
Es gibt auch Leute, die verstehen das Prinzip von HT / SMT nicht. Im Betriebssystem werden z.B. 4 Kerne* angezeigt, so dass der Unterschied zwischen einem i3 (2C/4T) und i5 (4C/4T) nicht verstanden wird. Einige Leute sagen auch, mein i7 hat 8 Kerne, was natürlich, physikalisch betrachtet, falsch ist.

Manche Leute sagen auch, AMD baue seit einiger Zeit Octacore-CPUs für den Endkundenmarkt. Und die undurchsichtigen Marketing-Aussagen der jeweiligen Firmen helfen auch nicht dabei, Licht ins Dunkel zu bringen. Da wird halt gerne suggeriert, dass jeder im Taskmanager angezeigte Thread einem physikalischen Core entsprechen würde.

*PS: kleine Anmerkung: ich glaube Windows zeigt dir nur logische Threads, keine physikalischen Kerne an.

edit: nope, grade nachgeschaut, der Windows Taskmanager besteht darauf, dass jeder Thread eine eigene CPU sei.
 
CD schrieb:
Manche Leute sagen auch, AMD baue seit einiger Zeit Octacore-CPUs für den Endkundenmarkt. Und die undurchsichtigen Marketing-Aussagen der jeweiligen Firmen helfen auch nicht dabei, Licht ins Dunkel zu bringen. Da wird halt gerne suggeriert, dass jeder im Taskmanager angezeigte Thread einem physikalischen Core entsprechen würde.

*PS: kleine Anmerkung: ich glaube Windows zeigt dir nur logische Threads, keine physikalischen Kerne an.

edit: nope, grade nachgeschaut, der Windows Taskmanager besteht darauf, dass jeder Thread eine eigene CPU sei.

Im Geräte Manager wird mir mein Quad core i7 870 auch 8 mal angezeigt, obwohl es 8 Threads sind und keine 8 Kerne
EDIT: Wäre ein Traum für mich 8 Kerne, und dann noch mit hyperthreading
 
Zuletzt bearbeitet:
Zurück
Oben