Reconfigurable Processor Mini-Cores Loop Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional reconfigurable architectures, such as Coarse-Grained Arrays (CGAs), face difficulties in achieving high utilization of function units, especially when the number of function units is large, due to the challenges in efficiently scheduling loop iterations.

Innovation Solution

A reconfigurable processor based on mini-cores (MCs) is introduced, where each MC includes a group of function units capable of executing loop iterations independently, with a local scheduler mapping loop iterations and a global scheduler adjusting the mapping relationship to generate loop skew and handle dependencies between iterations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional modulo scheduling algorithms are used to increase function unit utilization, then utilization can be obtained when the number of function units is small, but when a large number of function units are used, it becomes difficult to obtain high utilization

Engineering Contradiction:
Improvefunction unit utilizationVSAvoidnumber of function units
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the array processing units into multiple independent mini-cores, where each mini-core is a self-contained processing unit capable of executing loop iterations independently. This segmentation allows each mini-core to be scheduled separately, enabling efficient utilization even when the total number of function units is large. The local scheduler within each mini-core manages its own function units, avoiding the scheduling complexity that arises in conventional approaches when scaling up the number of function units.

Inventive Principle:
Principle #1Segmentation

2Reliability

If loop iterations are executed sequentially to handle dependencies, then dependency constraints are satisfied, but processing speed decreases

Engineering Contradiction:
Improvedependency constraint satisfactionVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent introduces a global scheduler that performs preliminary scheduling of loop iterations across multiple mini-cores before execution. The global scheduler analyzes dependency relationships between loop iterations and assigns them to appropriate mini-cores in advance, determining the optimal start time for each iteration. This preliminary action enables loop iterations with dependencies to be executed in parallel across different mini-cores rather than sequentially, maintaining dependency constraint satisfaction while significantly improving processing speed through parallel execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9632978B2Reconfigurable processor based on mini-cores, schedule apparatus, and method thereof
Publication Date: 2017.04.25 SAMSUNG ELECTRONICS CO LTD
  • US9632978B2 patent drawing
  • US9632978B2 patent drawing
  • US9632978B2 patent drawing

AI summary

A reconfigurable processor based on mini-cores (MCs) includes a plurality of MCs, each MC of the MCs including a group of function units (FUs), the group of FUs having a capability of executing a loop iteration independently. The MCs include a first MC configured to execute a first loop iteration, and a second MC configured to execute a second loop iteration.