Batteries are a key technology for all mobile electronic devices. For portable computing, extending battery life through energy saving is still in an infancy state. All I've seen so far are "gross" controls. That is to say, the whole device has an overall power control system that reducing CPU speed either manually or based on a "time-out" system.
I've long believed that there is a better way. A proper energy management system would be "sub-routine" based on the application level. In general a subroutine call would, at the programmer's discretion set a flag to "bump-up" the system power. This would be done by incrementing a flag byte in the system. The system would see the flag set for "greater than 0" and kick the CPU into high speed. Depending on the subroutine levels the number might go much higher than "1". As the subroutine that called the "bump-up" function exits it would call a "drop-down" system call to decrement the flag. If the flag reaches "0" then the CPU would drop down into a lower power state.
I don't know any system currently in use that uses this sort
of control. If you know of one, send me a note.
[1997/01/28]