Re: idle state
- From: "randyhyde@xxxxxxxxxxxxx" <randyhyde@xxxxxxxxxxxxx>
- Date: 29 Nov 2006 08:20:45 -0800
bob@xxxxxxxxxxxxxx wrote:
randyhyde@xxxxxxxxxxxxx wrote:
mike7411@xxxxxxxxx wrote:
I'm trying to understand what occurs at a processor level when an OS
such as Windows is idle. Is there an assembler statement tells the
processor to take a break until an interrupt occurs or something
similar? I couldn't find it.
Such instructions do exist, but they generally get used in embedded
systems not in OSes such as Windows. If nothing else is going on, the
OS generally turns down the clock frequency, reduces power as much as
possible, and spins.
Cheers,
Randy Hyde
Interesting. What instruction might it use to lower the clock
frequency? OUT? Also, how low might the clock go?
It isn't so much an instruction as it is writing data to an external
(to the CPU) hardware device (e.g., clock controller). You could use an
OUT or a MOV instruction, for example, to send this data to that
device. As far as how slow the CPU can be clocked, that's a function of
the CPU. Early (and embedded CPUs) had a static design and the clock
could be stopped completely. IIRC, the x86 chips generally have a
dynamic design and must run at some minimal clock frequency in order to
keep things "refreshed" on the chip. I do not know what this minimal
frequency is (and, indeed, it probably varies by chip). Of course, if
you completely stop the clock, no computation would take place anyway
and it would take some sort of external event to tell the clock
controller to restart the CPU, so you wouldn't want to do that anyway.
Cheers,
Randy Hyde
.
- References:
- Re: idle state
- From: bob
- Re: idle state
- Prev by Date: Re: Rid of Multi-Pass
- Next by Date: Re: Rid of Multi-Pass
- Previous by thread: Re: idle state
- Next by thread: Re: idle state
- Index(es):
Relevant Pages
|