Let's adjust the clock frquency (while keeping VCC constant for now). Does this help ?
Frequency scaling is software controlled: update PLL division ratio. PLL has inertia: e.g. 1~millisecond.
Let's compare with dynamic clock gating:
Clock Gating. | Frequency Adjustment. | |
Control: | automatic, | manual. |
Granularity: | register / FSM, | macroscopic. |
Clock Tree: | mostly free runs, | slows down. |
Response time: | instant, | acceptable. |
Can vary voltage: | no, | yes. |
To compute quickly and halt we need a higher frequency clock but consume the same number of active cycles.
So the work-rate product, af, unchanged, so no power difference ?
Actually un-stopped regions consume power proportional to f.
Zeno: Tortoise and Achilles ?
Tortoise is best: keep going steadily and end just in time. (He appeals even more when we vary the voltage.)
But, dynamic clock gating still good for: bursty, localised activity.