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?
14 svar · 628 visningar · startad av Corp
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?
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.
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
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
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. ;)
Det där som Intel sa kan ju också vara rent säljsnack.
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
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
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 :)
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
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 ;)
Dåligt ordval i första inlägget bara.
hehe, jag är ganska bra på sånt själv :)
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å.
Japp, jag har också läst samtliga 15 sidor som refereras ovan ;)