Configurable per-task state counters for processing cores in multi-tasking processing systems
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/46
G06F-009/50
G06F-009/48
출원번호
US-0330331
(2014-07-14)
등록번호
US-9785473
(2017-10-10)
발명자
/ 주소
Moyer, William C.
Pillar, John F.
출원인 / 주소
NXP USA, Inc.
인용정보
피인용 횟수 :
0인용 특허 :
8
초록▼
Configurable per-task state counters for processing cores in multi-tasking processing systems are disclosed along with related methods. In part, the disclosed embodiments include a work scheduler and a plurality of processing cores. The work scheduler assigns tasks to the processing cores, and the p
Configurable per-task state counters for processing cores in multi-tasking processing systems are disclosed along with related methods. In part, the disclosed embodiments include a work scheduler and a plurality of processing cores. The work scheduler assigns tasks to the processing cores, and the processing cores concurrently process multiple assigned tasks using a plurality of processing states. Further, task state counters are provided for each assigned task, and these task state counters are incremented for each cycle that the task stays within selected processing states to generate per-task state count values for the assigned tasks. These per-task state count values are reported back to the work scheduler when processing for the task ends. The work scheduler can then use one or more of the per-task state count values to adjust how new tasks are assigned to the processing cores.
대표청구항▼
1. A method for operating a multi-tasking processing system, comprising: assigning multiple tasks to each of a plurality of processing cores for a multi-tasking processing system, each processing core being configured to process the multiple tasks using a plurality of processing states;at each proce
1. A method for operating a multi-tasking processing system, comprising: assigning multiple tasks to each of a plurality of processing cores for a multi-tasking processing system, each processing core being configured to process the multiple tasks using a plurality of processing states;at each processing core: concurrently processing the multiple tasks using the plurality of processing states; andfor each of the multiple tasks: enabling counting of processing of cycles for two or more of the plurality of processing states and disabling counting of processing cycles for one or more of the plurality of processing states, wherein the plurality of processing states for which counting is selectively enabled and disabled comprises at least a waiting state, an inhibit state, and an executing state; andgenerating a per-task state count value for the task, wherein the per-task state count value represents a number of processing cycles spent in the two or more processing states for which counting is enabled and does not represent an overall time for the task from initiation to completion;assigning new tasks to each of the plurality of processing cores based upon the per-task state count values generated by the plurality of processing cores; andprocessing the new tasks using the plurality of processing cores. 2. The method of claim 1, wherein at each processing core, the method further comprises reporting the per-task state count values to a work scheduler for the multi-tasking processing system. 3. The method of claim 1, further comprising for each processing core selecting processing states to track for that processing core. 4. The method of claim 3, further comprising adjusting the selected processing states for each processing core based upon at least one of an operational state of the multi-tasking processing system or performance of the multi-tasking processing system. 5. The method of claim 3, wherein the selecting step comprises setting one or more bits within a configuration register for each processing core to select the processing states. 6. The method of claim 5, further comprising setting one or more bits within the configuration register for each processing core to enable or disable task state counting. 7. The method of claim 1, wherein the plurality of processing states for which counting is selectively enabled and disabled further comprises at least one of an unassigned state and an accelerating state. 8. The method of claim 1, further comprising storing the per-task state count values from the plurality of processing cores in a data storage medium. 9. The method of claim 1, wherein the generating step for each task comprises incrementing a value within a counter field for a count register for each task being concurrently processed by the processing core. 10. The method of claim 9, further comprising setting one or more bits within the count register to indicate an overflow condition and to disable further counting. 11. A multi-tasking processing system, comprising: a plurality of processing cores, each processing core being configured to concurrently process multiple tasks using a plurality of processing states; anda work scheduler processor configured to assign multiple tasks to each of the plurality of processing cores and to assign new tasks to each of the plurality of processing cores based upon per-task state count values generated by the plurality of processing cores;wherein each processing core comprises: a core task scheduler configured to schedule processing of the multiple tasks within the processing core;a plurality of task state counters, each task state counter being associated with one of the multiple tasks; anda task state tracker configured to enable counting of processing of cycles for two or more of the plurality of processing states and to disable counting of processing cycles for one or more of the plurality of processing states, wherein the plurality of processing states for which counting is selectively enabled and disabled comprises at least a waiting state, an inhibit state, and an executing state;wherein the task state tracker is further configured to generate a per-task state count value for each task using the plurality of task state counters, the per-task state count value for each task representing a number of processing cycles spent in the two or more processing states for which counting is enabled and does not represent an overall time for the task from initiation to completion; andwherein the plurality of processing cores are further configured to process the new tasks. 12. The multi-tasking system of claim 11, wherein each processing core is further configured to report the per-task state count values from the task state counters to the work scheduler processor. 13. The multi-tasking processing system of claim 12, further comprising a data storage medium configured to store the per-task state count values from the plurality of processing cores. 14. The multi-tasking processing system of claim 11, wherein each of the plurality of processing cores is further configured to allow programmable selection of the processing states to track for that processing core. 15. The multi-tasking processing system of claim 14, further comprising a configuration register associated with each core task scheduler, and wherein one or more bits within the configuration register are used to select the processing states. 16. The multi-tasking processing system of claim 15, wherein one or more bits within the configuration register are used to enable or disable task state counting. 17. The multi-tasking processing system of claim 11, wherein the plurality of task state counters each comprise a count register having a counter field. 18. The multi-tasking processing system of claim 17, wherein one or more bits within each count register are used to indicate an overflow condition and to disable further counting. 19. The multi-tasking processing system of claim 11, wherein the plurality of processing states for which counting is selectively enabled and disabled further comprises at least one of an unassigned state and an accelerating state.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (8)
Biswas, Anumita; Singh, Vijay; Son, Sonny; Berryman, Bill; Noveck, Dave; Shah, Peter; Goldschmidt, Jason, Combined network and application processing in a multiprocessing environment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.