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. As each task
in a scenario is executed, a control word associated with the task can be used
to enable/disable circuitry, or to set circuits to an optimum configuration.