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.
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. ;)
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 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.
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 :)
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
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 ;)
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å.