I understand what the idle loop *does*; it scans the interrupt queue for inputs and waits for a running process to request operating system time….but what does the idle loop actually *do* when running?
I mean, on a four-core system are all four cores still running full-bore (whatever full-bore means for a particular system, whether it’s running at max or in a stepped down, lower-power mode) parsing a never-ending queue of NOOPs interspersed with periodic queue checks or does the processor actually spin-down (so to speak) and only wake every few milliseconds or what actually happens there?
In: 3
1. Cores have variables levels of operating capacity. So no, without significant external loads, the cores aren’t going “full bore”.
2. Some modern processors win actually spin down cores that are not very active. It has these optimisations like you mention. Where it checks once ever few microseconds.
3. Short of that, yes. The CPU stays in a never-ending noop loop.
Latest Answers