Microcontroller Task Dispatch for Accelerator Function Units
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current heterogeneous processor systems face inefficiencies due to fixed system memory allocation for accelerator function units (AFUs), requiring context switches and inefficient task distribution, leading to suboptimal performance in multi-user and multi-task environments.
Innovation Solution
A processing system with a microcontroller that dispatches and allocates command packets using a round-robin mechanism across task queues, ensuring even distribution and prioritization based on process requirements, thereby optimizing AFU utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the AFU is directly connected to the main bus and system memory, then the AFU can access system memory directly, but the system memory space available to the AFU is fixed and task copying between user space and kernel space requires context switch operations that consume resources
Solution Approach 1:
The patent introduces a buffer memory as an intermediary component between the AFU and system memory. The buffer memory stores task data and facilitates efficient data transfer, eliminating the need for direct AFU-system memory connections and complex context switching operations. This mediator approach resolves the contradiction by simplifying memory allocation while maintaining high task execution efficiency.
2Adaptability or versatility
If several AFUs are arranged in one chip to satisfy the need to share AFUs between several applications, then AFU sharing is enabled, but without coordination and distribution among the AFUs, the task distribution will be unbalanced and the AFU performance cannot be fully utilized
Solution Approach 1:
The patent implements a dynamic task distribution mechanism where the controller dynamically assigns tasks to different AFUs based on current system state, task characteristics, and AFU availability. This dynamic approach enables balanced utilization of multiple AFUs while maintaining flexibility for sharing across different applications, resolving the contradiction between adaptability and productivity.
Solution Approach 2:
The patent segments the system into multiple independent AFUs, each capable of handling specific tasks, with a controller that manages task distribution. This segmentation allows parallel processing across multiple AFUs while maintaining individual AFU functionality, enabling both application sharing and efficient utilization through coordinated task assignment.
3Productivity
If tasks are copied from user space to kernel space for AFU execution, then tasks can be executed by the AFU, but context switch operations are required that use up too many resources
Solution Approach 1:
The buffer memory acts as an intermediary storage space where task data can be prepared and staged before AFU execution. This eliminates the need for frequent context switching between user and kernel space, as tasks can be set up in the buffer memory once and then executed efficiently by the AFU, reducing resource consumption while maintaining execution capability.
Data Source
AI summary
A processing system includes at least one core, several accelerator function units (AFU) and a microcontroller. The core is utilized to operate several processes and develop at least one task queue corresponding to each of the processes. The processing core generates several command packets and pushes them into the corresponding task queue. The AFU executes the command packets. The microcontroller is arranged between the AFU and the core to dispatch the command packet to a corresponding AFU for execution. When the corresponding AFU executes the command packet of a specific process of the processes, the microcontroller assigns the corresponding AFU to execute other command packets in the task queue of the specific process at a higher priority.


