Was sind die Threads im Prozessor und was machen sie?

2 Antworten

Threads imitieren ein Stück weit eine Kern. Man kann sich das vorstellen, wie einen Taschenrechner mit zwei Nummernfeldern und zwei Ausgabemonitoren. Während der Taschenrechner rechnet, kannst du schon die nächste Rechnung eingeben. Ist er dann Fertig, kannst du ihm die vorbereitete Rechnung auftragen, die fertige Rechnung auslesen und eine neue Rechnung fertig machen.

Ein Normaler Kern bekommt eine Rechnung - Rechnet - Gibt das Ergebnis aus - Bekommt eine Rechnung - Rechnet - etc.
Er hat also einen Zulauf und eine Ausgabe,

Ein Kern mit Hyperthreading hingegen hat 2 Zuläufe und kann so effeltiever rechnen.

Hyperthreading imitiert also eigentlich einen Kern. Bei Programmen, die nur auf einem Kern laufen, bringt Hyperthreading deswegen nichts. Bei Programmen, die mehrere Kerne in Anspruch nehmen können, bringt es einen kleinen Leistungszuwachs, weil die Kerne nicht so lange auf ihr neue Aufgabe warten müssen.

ich hoffe, du hast es verstanden. Auf Youtube gibt es auch ein paar Videos darüber.

lg m0rz

Woher ich das weiß:Hobby – Belesen, Hobby PC-Bauer

ServerHilfe 
Beitragsersteller
 21.06.2016, 18:29

Also ein Thread= 1/2 Imitierten Kern?
Und ein HyperThead= 1 Imitierten Kern?

Also ein Prozessor mit 4 Kernen und 4 Threads hat 4 echte Kerne und 2 Imitierte Kerne? Also 6 Kerne?

Und ein Prozessor mit 4 Kernen und 4 HyperThreads hat 4 echte Kerne und 4 Imitierte Kerne= sozusagen 8 Kerne?

Z.b ein Xeon E7(so heisst der Glaubs) mit 20 Kernen und 44 Threads gleich 42 Kerne?! Ist das nicht ein bisschen zu over Kill?

0
m0rz97  21.06.2016, 18:41
@ServerHilfe

Threads sind keine Kerne. Die minimieren nur die Pausen, die ein Kern manchmal machen muss, wenn er keine Arbeit hat. Um diese Pausen zu minimieren, werden dem Kern dann immer die Prozesse vorgelegt. Er kann dadurch ein Ergebnis ausgeben, während er schon anfängt das nächste zu rechnen.

Wenn du ein Feuer mit einer Eimerkette löscht und es nur eine Person gibt, die auskippt und eine, die die Eimer vollmacht, dann hat die Eimerkette zwischendurch immer keinen Eimer.

Wenn jetzt jeweils zwei Personen die Eimer voll und leer machen, dann stehen diese Personen zwar rum, aber die Eimerkette und die Anzahl der Eimer, die ankommen ist höher.

ein i5 6600 mit 4 Kernen und 4 Threads ist also eine Eimerkette nach dem ersten Beispiel.

ein i7 6700 mit 4 Kernen und 8 Threads ist also eine Eimerkette nach dem zweiten Beispiel.

Die Prozessoren können aber Pro Thread trotzdem nur eine Aufgabe übernehmen. Ein Kern kann also mit 2 Aufgaben beladen werden, die er dann beide Bearbeiten kann. Das kann ein normaler Kern auch, aber durch die Threads wird sowas viel effektiver.

Ein Thread ist kein Kern! Und dein Computer sieht ihn auch nicht wirklich als Kern an. Er beläd die Kerne auf die selbe Weise, aber die Threads timen die Aufgaben besser, als jeder Kern das mit nur einem Thread kann.

So weit hab ich das jedenfalls verstanden. 100%-ig hab ich da aber auch noch nicht durchgeblickt.

Jetzt verstanden? :D Ist ein wenig kompliziert. Wie genau und wozu musst du das denn wissen?

0

Ganz einfach erklärt:

Ein Thread ist ein Arbeitsgang. Je mehr Threads deine CPU hat, desto mehr Arbeitsgänge kann es gleichzeitig in Angriff nehmen.