Was ist der „Unterschied“ zwischen Hyperthreading und Multithreading? Und was ist CMT und SMT?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der Unterschied ist Branding. Im Endeffekt beschreiben die alle das gleiche.

SMT ist der allgemeine Begriff, Intel nennt ihre Implementierung Hyperthreading, IBM oder AMD nannten es CMT.

Multithreading ist dann nochmal allgemeiner die Bezeichnung für das Verwenden mehrerer Threads gleichzeitig.

Woher ich das weiß:eigene Erfahrung – Ich habe selber lange im PC gearbeitet

MK0523X 
Fragesteller
 08.01.2020, 11:35

Danke.

0

Du versuchst dinge zu vergleichen, die nicht direkt vergleichbar sind nur verwandt.

Es ist wie die Frage "Was ist der Unterschied zwischen einem Fuß und einem Schuh?"

Multithreading ist eine Software Konzept das quasi ermöglicht einen einzelnen Prozess auf mehrere Threads aufzuteilen und gleichzeitig abzuarbeiten.

Hyperthreading hingegen bezieht sich auf eine sehr spezifische, von Intel entwickelte Hardwaretechnologie, die es einem einzelnen Prozessorkern ermöglicht, mehrere Ausführungsthreads effizienter auszuführen.


MK0523X 
Fragesteller
 08.01.2020, 11:30

Das hast du aus dem Internet und einfach nur in den übersetzer gepackt. Das weiß ich auch, deswegen habe ich auch „Unterschied“ geschrieben.

0
ohwehohach  08.01.2020, 11:35
@MK0523X

Wenn Du es wüsstest, dann hättest Du die Frage in dieser Form ja wohl kaum stellt. Und die Antwort ist nicht aus einem Übersetzer, sondern sagt genau das, was es eben ist:

Multithreading ist ein Konzept, Hyperthreading eine Hardwaretechnologie.

Deine Frage ist wie: Was ist der Unterschied zwischen einem Antrieb und einem V8-Motor.

2
ohwehohach  08.01.2020, 11:45
@MK0523X

SMT ist eine generelle Bezeichnung für eine Technologie, die es erlaubt, dass "echtes" Multithreading möglich ist. Sprich, der Prozessor kann zwar nicht in einem Kern gleichzeitig mehrere Threads ausführen, aber er kann effizienter zwischen einzelnen Threads wechseln. Ohne diese Technologie wäre zwar gleichzeitiges Multithreading möglich, wenn jeder Kern einen Thread ausführt, aber auf einem Kern wäre die Ausführung mehrerer Threads auf einem Kern langsamer.

Intels Umsetzung von SMT heißt HTT (Hyper-Threading-Technology).

2
PeterKremsner  08.01.2020, 12:00
@MK0523X

Steht doch genau da was der Unterschied zwischen Hyperthreading und Multithreading ist.

Hyperthreading passiert in Hardware.

Multithreading passiert in Software. Multithreading kann ja auch auf Systemen mit nur einem Prozessorkern und ohne Hyperthreading eingesetzt werden. Die beiden Dinge haben direkt nichts miteinander zu tun, außer dass durch Hyperthreading mehrere Softwarethreads (mit Einschränkungen) auf einem Prozessor laufen können.

0