Task based adaptative profiling and debugging
First Claim
1. A method of generating energy profiles for a specific task in a processing device executing multiple tasks, comprising the steps of:
- receiving a first task identifier indicative of an active task in a processing component;
receiving hardware activity signals each indicative of a hardware event in the processing device;
storing a second task identifier indicating a task to be monitored;
comparing the first and second task identifiers and generating a predetermined signal if the first and second task identifiers match;
measuring activity corresponding to the task to be monitored by counting hardware activity signals received during generation of said predetermined signal.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
78 Citations
20 Claims
-
1. A method of generating energy profiles for a specific task in a processing device executing multiple tasks, comprising the steps of:
-
receiving a first task identifier indicative of an active task in a processing component; receiving hardware activity signals each indicative of a hardware event in the processing device; storing a second task identifier indicating a task to be monitored; comparing the first and second task identifiers and generating a predetermined signal if the first and second task identifiers match; measuring activity corresponding to the task to be monitored by counting hardware activity signals received during generation of said predetermined signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A processing device for multitasking multiple tasks comprising:
-
circuitry for receiving a first task identifier selected from among a plurality of possible task identifiers indicative of an active task in a processing component; circuitry for receiving hardware activity signals each indicative of a hardware event in the processing device; a memory for storing a plurality of second task identifier, each second task identifier corresponding to a task to be monitored; a comparator for comparing the first and second task identifiers and generating a predetermined second task identifier match signal if the first task identifier matches a corresponding one of said second task identifiers; a plurality of counters, each counter corresponding to one of said stored plurality of second task identifiers, each counter enabled to count said hardware activity signals when said comparator generates a corresponding predetermined second task identifier match signal. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification