Linked by David Adams on Wed 4th Aug 2010 18:28 UTC, submitted by estherschindler
Permalink for comment 435421
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
Features
Linked by Thom Holwerda on 05/20/13 11:29 UTC
Linked by Thom Holwerda on 05/18/13 21:33 UTC
Linked by David Adams on 05/16/13 4:23 UTC
Linked by Thom Holwerda on 05/11/13 21:41 UTC
Linked by Thom Holwerda on 05/08/13 14:22 UTC
Linked by Thom Holwerda on 05/02/13 15:28 UTC
Linked by Thom Holwerda on 04/29/13 21:06 UTC
Linked by Thom Holwerda on 04/24/13 22:24 UTC
Linked by Thom Holwerda on 04/18/13 11:21 UTC
Linked by Thom Holwerda on 04/16/13 9:29 UTC
More Features »
Sponsored Links



Member since:
2009-08-19
"At some point, the pipeline may stall. It has to wait for data, or for another hardware component in the computer, whatever. We’re not talking about a hung application; this is a delay of a few milliseconds while data is fetched from RAM. Still, other threads have to wait in a non-hyperthreaded pipeline, so it looks like:
thread1— thread1— (delay)— thread1—- thread2— (delay)— thread2— thread3— thread3— thread3—"
I don't get a clear picture of this added to what they told me about OS scheduling at college. I remember that was something like "when waiting for resources, the process is kicked from the CPU and put in the 'Blocked' list". See this beauty:
http://en.wikipedia.org/wiki/File:Process_states.svg
Now, according to the article, Hyperthreading is an invention for dumb OSes who are not able to put blocked processes into a 'Blocked list' out of the CPU or what?