Multi-Core Micro-Scheduler for Priority-Driven Interrupt Preemption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multi-core system-on-chip architectures face inefficiencies due to the lack of effective preemption management between cores, particularly in scenarios requiring dynamic task prioritization, leading to suboptimal performance and resource utilization.

Innovation Solution

A mechanism is introduced for a multi-core system that offloads function executions to an auxiliary processor while considering task request priority levels, using a main processor to generate and prioritize task requests, communicate them to the auxiliary processor through a shared memory and interrupt signals, and manage preemption based on priority levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a conventional auxiliary processor executes tasks sequentially without preemption, then the system structure remains simple, but the system responsiveness and resource utilization deteriorate

Engineering Contradiction:
Improvesystem structureVSAvoidsystem responsiveness
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic task preemption in the auxiliary processor by introducing an execution queue and priority-based scheduling mechanism. The auxiliary processor can now dynamically switch between tasks based on priority levels and interrupt signals, transforming the static sequential execution model into a dynamic preemptive scheduling system that improves responsiveness while maintaining architectural simplicity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an execution queue as an intermediary data structure between the mailbox receiver and the task execution unit in the auxiliary processor. This queue mediates the task scheduling process by storing task requests with priority levels and managing the preemption logic, allowing the system to achieve complex preemptive scheduling without complicating the core processor architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If task requests are processed without priority levels, then the processing logic remains simple, but the resource utilization and task criticality management deteriorate

Engineering Contradiction:
Improveprocessing logicVSAvoidtask criticality management
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by associating different priority levels with different task requests in the execution queue. Each task is assigned a specific priority level (e.g., high, medium, low) that determines its scheduling behavior and preemption characteristics. This allows the system to differentiate and manage tasks with varying criticality requirements without requiring a complete overhaul of the processing logic

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces priority level as a new parameter for task requests, transforming the单一的 task processing model into a multi-parameter scheduling system. The priority level parameter enables the auxiliary processor to make intelligent scheduling decisions, select tasks based on urgency, and implement preemption strategies that adapt to different task criticality requirements

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If the auxiliary processor waits for mailbox communication for each task, then the communication protocol remains simple, but the processing efficiency and overhead deteriorate

Engineering Contradiction:
Improvecommunication protocolVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements preliminary action by having the auxiliary processor maintain an execution queue that pre-stores task requests received from the main processor. Instead of waiting for each individual mailbox communication event to trigger task execution, the auxiliary processor can preemptively manage and execute tasks from the queue based on priority and interrupt signals, significantly improving processing efficiency while keeping the mailbox communication protocol simple

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250272141A1Preemption in an interrupt driven micro-scheduler
Publication Date: 2025.08.28 STMICROELECTRONICS INT NV
  • US20250272141A1 patent drawing
  • US20250272141A1 patent drawing
  • US20250272141A1 patent drawing

AI summary

According to an embodiment, a method for scheduling preemption in a multi-core system is proposed. The method includes generating a plurality of task requests, each task request corresponding to a job to be executed by an auxiliary processor and having a respective priority level; storing the plurality of task requests in the shared memory; selecting a first task request from the plurality of task requests stored in the shared memory with a highest priority level; communicating the first task request to the auxiliary processor; suspending an execution of a current task in response to receiving the interrupt signal; retrieving the respective priority level of the first task request; adding the first task request and its respective priority level to an execution queue; and executing a task from the execution queue having a highest priority.