PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich verstehe´das nicht...(HT)


MegaManX4
2002-11-14, 20:12:45
Bin ich der einzige der den Sinn dieses Absatzes von anandtech über Hyper Threading nicht versteht?

"Another situation where execution units remain idle is when you're processing data streams using instructions that inherently take longer to execute than simpler ones. The problem with streaming situations is that there are usually very long dependency chains where you cannot execute multiple instructions in parallel because the outcome of one operation is necessary in order to process the next instruction. This is quite common with video encoding which is why we see such large performance increases with HT enabled in our DiVX tests."

Wie kann DivX Encoding denn bitteschön von HT profitieren, wenn Divx von Ergebnissen abhängig ist, die berechnet werden müssen damit mit dem Ergebnis als Basis weitergerechnet werden kann. Anand schreibt also das HT mit Streaming Anwendungen nicht gut funktionieren kann, im nächsten Satz schreibt er aber wieder etwas ganz anderes (HT ist doch hauptsächlich für die Parallelisierung von Threads entwickelt worden, bloß gibt es bei DivX lange Abhängigkeits-Ketten->nix mit paralell)...Ich bitte um Gedankenentwirrung :).

Thomas

Muh-sagt-die-Kuh
2002-11-14, 22:34:53
Die meist zum encoden benutzte Software VirtualDub ist multithreaded, muss die CPU in einem Thread warten führt sie währenddessen die unabhängigen Instruktionen des anderen Threads aus und steigert so die Gesamtleistung.

BlackBirdSR
2002-11-14, 23:21:22
Anand spricht hier von der Auslastung der Funktionseinheiten..
es ist oftmals nicht möglich bei einem Befehl der mal eben 32Taktzyklen verschluckt jeden weiteren Zyklus einen neuen Befehl zu starten.

Hat man nun eine zweite CPU (logische) kann man in dieser Zeit völlig andere Aufgaben übernehmen die nichts damit zu tun haben, da Virtual Dub z.B Multithreaded ist, wird da automatisch ein unabhängiger Thread an die 2te CPU geleitet..
Das ist der Punkt an dem der P4 schon mal etwas tun kann während die FPU noch am dividieren ist ;)

Unregistered
2002-11-15, 00:13:20
und sie braucht ja lang genug zum dividieren...

MegaManX4
2002-11-15, 00:19:57
Wenn das so einfach wäre, hätte ich den Thread nicht aufgemacht.

Das Problem ist ja das DivX von Ergebnissen abhängig ist um seine Berechnungen weiterführen zu können.
Der Fall das einige Recheneinheiten Dividieren und andere Einheiten Addieren ist somit nicht gegeben, das Schreibt anand ja auch. der P4 könnte erst Addieren wenn das Ergebnis der Division vorliegt.

Ich denke eher das der P4 hier keine Vorteile bei der eigentlichen Codierung hat, denn die basiert ja auf Ergebnisreihen. Er könnte aber auf der einen Einheit das Bild codieren und über andere Einheiten die Ausgabe des gerade errechneten Bildes realisieren, um es einfach auszudrücken.

Thomas.