5 ms·
Why does a CPU have to run? EDIT: > If the hardware doesn't make allowance for this, then the CPU will have to run useless instructions until it is needed for
by aportnoy 8y ago
Why does a CPU have to run?
EDIT:
> If the hardware doesn't make allowance for this, then the CPU will have to run useless instructions until it is needed for real work.
Do any consumer processors (think Intel iBlah) not support turning off the CPU when it's not needed?
- zaarn 8y agoSome cheap microprocessors do that, usually in devices where power consumption matters they have a small companion microprocessor (a micromicroprocessor so to speak) that will power down the big one if necessary and enter a sleep state itself to severely cut down on power consumption (some devices can go as low as microamps). Generally, most modern CPUs support turning off when not needed, however, this is generally referred to as power-on-standby (S3, IIRC). The CPU is off, most things are off, RAM is on. The CPU itself has to continue to run because there is almost no timeperiod larger than a few seconds in which there is truly nothing to do and shutting down CPU cores and clocking the remaining one is efficient enough.
- tomfanning 8y agoA good example of this: http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/ http://www.home-automation-community.com/arduino-low-power-h...
- Already__Taken 8y agoAnother good example are the javascript microcontroller boards. Because of the event-loop model of the Js engine, they can simply see there's no code to run and shift into power saving modes without the dev having to do anything special. example: https://www.espruino.com/Power+Consumption https://www.espruino.com/Power+Consumption
- brokenmachine 8y agoThat's great, I didn't realize there were micros that could do that automatically. Much simpler than the usual mucking around with registers.
- blihp 8y agoOnly obsolete x86 processors at this point (pre-P4 Intel, iirc) Pretty much until the early 2000's, PC processors essentially idled at full speed. There are probably some super-cheap, bottom-of-the-barrel, low-end ARM chips still being made somewhere that can't sleep or down-clock.
- Toenex 8y agoThat was one of the goals of the AMULET project at Manchester University.
- TickleSteve 8y agoNot really, AMULET was an asynchronous (i.e. un-clocked) ARM implementation intended to explore a new cpu design. The aim was low-power-usage, but they came at it from a different direction. This is referring to the OS control over power-states on a traditional (clocked) processor. AMULET gained its low-power capabilities from not clocking any unused functional blocks during normal usage, same aim, different strategy.
- dbuder 8y agoTurning the DRAM off would save more power.
- Deukhoofd 8y agoWell, turning off the CPU would mean having to turn it on again afterwards. I can imagine that taking time, and slowing down overall CPU performance.
- TickleSteve 8y agoAll processors in the last 15-20 years have had low-power states. Its standard fare really. dropping into low power mode in an idle loop has been standard practice for that long also. In embedded systems, the real difference is how you can schedule your application-level events to make optimal use of the low power states of both the core you're using, the other cores and on-board devices (e.g. FLASHs, ADCs, DACs, etc). This is how iOS and Android try to have an effect by managing the applications use of timers and wakeups from external devices (interrupts) so as to maximise the 'sleep' time.
- vel0city 8y agoI don't know of modern desktop/laptop CPUs that truly disable unused cores, but I do know modern parts will often reduce power usage/disable parts of a core/underclock cores to reduce heat output from those components and then boost clock speeds on other cores. https://community.amd.com/community/gaming/blog/2017/11/27/asdasd https://community.amd.com/community/gaming/blog/2017/11/27/a...