See you, CPU!
Chris Johnson has released version 2.01 of CPU monitoring and regulating software CPUClock (mirror), which amongst other things is able to watch the processor’s temperature and automatically adjust the clock speed appropriately.
The clock speed controls hark back to the Acorn A4 laptop, when RISC OS was given the ability to switch the CPU between two speeds, to reduce power and maximise battery life when the system isn’t working too hard. Since then, the relevant SWI calls have gained more scope for monitoring and controlling the processor, and with more modern hardware there can be a range of processor speeds available, rather than just ‘Fast’ or ‘Slow’.
Using those ‘Portable’ SWIs, then, CPUClock offers the following facilities:
It can provide an ongoing display of the ‘current’ CPU speed, ‘Fast’ or ‘Slow’ – which by default updates once per second.
It can directly monitor (and display) the CPU die temperature.
If the temperature rises too much, the software can automatically reduce the clock speed, and increase it again when the temperature falls. The temperature settings can be user defined.
RISC OS will use the ‘maximum’ clock speed of the processor for ‘Fast’ and the ‘minimum’ speed for ‘Slow’ – CPUClock allows these defaults to be changed, and for the ‘Fast’ speed in particular, reducing the maximum during warm periods may be practical; with a higher ambient temperature, the normal maximum may result in the processor to get too warm too quickly, but reducing it may allow the computer to work at a (slightly lower) faster speed for longer periods.
There is support for the real time clock module from CJE Micro’s – some versions of which include a temperature sensor. If fitted, CPUClock can read that sensor and therefore display the case temperature.
This version sees the core functionality moved from the WIMP front-end into the CPUClock module, which means that CPU temperature monitoring and auto-regulation of the CPU’s clock speed will continue to work in the background, even when multi-tasking is halted in the WIMP, such as when running something (a game, perhaps) full screen. It runs on OMAP3, OMAP4, IGEPv5, and Titanium-based hardware, and requires versions of RISC OS 5.23 released after 10th January, 2016 – and preferably after 10th March, 2016.
It can also run on iMX6-based systems but the latest release ROMs for that platform do not yet have the CPUClk device API fully implemented, and this is needed by CPUClock for its full functionality. Version 2.0 therefore reverts to a simple CPU speed monitor when run on iMX6 computers, such as the ARMX6. Version 1.10 of the application, however, uses a modified version of CPUTmpMon to measure the processor temperature, so that version is an option – but since this version lacks the change mentioned above, it only works while the WIMP is fully multi-tasking.