webForumDet fria alternativet

Hyperthreading?

14 svar · 628 visningar · startad av Corp

CorpMedlem sedan maj 2003124 inlägg
#1

Någon som testat detta? Jag har det på cpun, men aldrig riktigt förstått hur det fungerar...

Det hänger en hel del på minnena oxå va? för att det ska kunna arbeta parallellt?

legisMedlem sedan juli 20044 453 inlägg
#2

Tja, i vanliga fall (läs förr) så kunde processorer bara hantera en tråd i taget. Dvs den exekverar en förfrågan i taget och därför läggs alla förfrågningar på kö. Med HT så kan helt enkelt två trådar exekveras samtidigt. Det kan sägas vara en fattigmans-dual-CPU-maskin.

QimenMedlem sedan juni 20015 009 inlägg
#3

Hyperthreading innebär inte att CPU:n kan exekvera två trådar samtidigt utan kan köa 2 trådar direkt, utan hyperthreading går det bara "köa" en tråd. SUN:s nya cpu, UltraSparc-processor vid namn Niagara, har däremot 8 kärnor där varje kärna kan exekvera 4 trådar parallellt vilket innebär 32 trådar samtidigt.

Mer att läsa om detta här:
http://blogs.sun.com/roller/page/jonathan/20040910#the_difference_between_humans_and
http://forum.sweclockers.com/showthread.php?threadid=337636

legisMedlem sedan juli 20044 453 inlägg
#4

Vadå köa 2 st samtidigt? Det köas massor samtidigt även i vanliga fall. Bara för sakens skull klistrar jag in direkt från Intels egen förklaring:

Hyper-Threading Technology (HT Technology)1 is a groundbreaking technology that enables a processor to execute two threads in parallel

QimenMedlem sedan juni 20015 009 inlägg
#5

Okej, jag ger mig på den biten, är osäker där. Hade dock för mig att jag läst någonstans att HT innebär att en tråd körs medan den andra förbereds eller något i den stilen, vilket gör att cpun kan arbeta snabbare än en vanlig. Men i vilket fall som helst, så är SUN:s cpu riktigt intressant. ;)

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Det där som Intel sa kan ju också vara rent säljsnack.

RobbanMedlem sedan dec. 19992 555 inlägg
#7

Hyper-Threading Technology (HT Technology)1 is a groundbreaking technology that enables a processor to execute two threads in parallel

Säljsnack för att göra det lite mer lättförståeligt, skulle jag tro. :)

En processor med HT kan hålla i två trådar, men den exekverar bara en tråd i taget. Till skillnad från ett SMP-system där flera trådar faktiskt exekveras parallellt.

Man har duplicerat ett antal register i processorn och det är därför det ur operativsystemets synvinkel ser ut som två processorer. Men det är fortfarande bara en processor och den kör fortfarande bara en tråd i taget.

En lite mer ingående beskrivning hittas på:

http://www.intel.com/technology/itj/2002/volume06issue01/art01_hyper/p01_abstract.htm

QimenMedlem sedan juni 20015 009 inlägg
#8

Robban skrev:

En processor med HT kan hålla i två trådar, men den exekverar bara en tråd i taget. Till skillnad från ett SMP-system där flera trådar faktiskt exekveras parallellt.

Weee då hade jag för mig rätt. :) :birp

legisMedlem sedan juli 20044 453 inlägg
#9

hehehe, nja inte riktigt. Med HT så köas inte 2 trådar medan en exekveras (vilket var hur jag tolkade ditt inlägg) utan de exekveras samtidigt i den meningen att de ligger på vars en virtuell processor. Kön kan vara lååååång. Det är bara att ta en dumpfil och lista trådarna :)

QimenMedlem sedan juni 20015 009 inlägg
#10

Jag skrev:

Hade dock för mig att jag läst någonstans att HT innebär att en tråd körs medan den andra förbereds eller något i den stilen

Robban skrev:

En processor med HT kan hålla i två trådar, men den exekverar bara en tråd i taget. Till skillnad från ett SMP-system där flera trådar faktiskt exekveras parallellt.

legis skrev:

hehehe, nja inte riktigt. Med HT så köas inte 2 trådar medan en exekveras (vilket var hur jag tolkade ditt inlägg) utan de exekveras samtidigt i den meningen att de ligger på vars en virtuell processor. Kön kan vara lååååång. Det är bara att ta en dumpfil och lista trådarna

:OO

legisMedlem sedan juli 20044 453 inlägg
#11

Mitt svar i post 4 däruppe var givetvis ett svar på det du skrev i post 3. Mitt sista svar är en kommentar till den diskussionsdelen jag var inblandad i. Att du efteråt skrivit ett modifierat svar har jag inte kommenterat. Du är möjligtvis inte journalist, de har en förmåga att klistra ihop saker i den ordning som passar dem ;)

QimenMedlem sedan juni 20015 009 inlägg
#12

Dåligt ordval i första inlägget bara.

legisMedlem sedan juli 20044 453 inlägg
#13

hehe, jag är ganska bra på sånt själv :)

RobbanMedlem sedan dec. 19992 555 inlägg
#14

Med HT så köas inte 2 trådar medan en exekveras (vilket var hur jag tolkade ditt inlägg) utan de exekveras samtidigt i den meningen att de ligger på vars en virtuell processor.

Njä. Enbart en tråd exekveras i taget, som sagt. Vinsten med HT ligger i att, under den tiden en tråd är "idle" av en eller annan anledning, så kan den andra tråden exekveras i stället (i en processor utan HT så skulle hela processorn "idla" i dessa fall). Det handlar alltså om att utnyttja processorn bättre. Men man exekverar fortfarande bara en tråd i taget. För att exekvera flera trådar parallellt behöver du flera processorer (eller flera kärnor i en och samma processor).

Tror f.ö. du och Qimen menar olika typer av köer. HT kan ju ses som att processorn kör en tråd medan den håller den andra på kö. Sedan har naturligtvis operativsystemet en kö av trådar och processer som skall exekveras, men det ligger ju på en annan nivå.

legisMedlem sedan juli 20044 453 inlägg
#15

Japp, jag har också läst samtliga 15 sidor som refereras ovan ;)

131 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)