A multiprocessor system (10) includes a plurality of processing modules,
such as MPUs (12), DSPs (14), and coprocessors/DMA channels (16). Power
management software (38) in conjunction with profiles (36) for the
various processing modules and the tasks to executed are used to build
scenarios which meet predetermined power objectives, such as providing
maximum operation within package thermal constraints or using minimum
energy. Actual activities associated with the tasks are monitored during
operation to ensure compatibility with the objectives. The allocation of
tasks may be changed dynamically to accommodate changes in environmental
conditions and changes in the task list. Temperatures may be computed at
various points in the multiprocessor system by monitoring activity
information associated with various subsystems. The activity measurements
may be used to compute a current power dissipation distribution over the
die. If necessary, the tasks in a scenario may be adjusted to reduce
power dissipation. Further, activity counters may be selectively enabled
for specific tasks in order to obtain more accurate profile information.