Processor Thread Data Dependency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-thread processor technologies fail to maintain dependency relationships between a read instruction and multiple write instructions, leading to inefficiencies in data transfer and processing, particularly in media processing applications where complex operations and multiple standards are involved.

Innovation Solution

A processor with a setting unit that ensures usage information is updated to indicate completion of writing in a memory area, allowing controlled execution of read instructions only when writing is complete, thereby maintaining dependency relationships across threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a read instruction is executed after multiple write instructions to the same memory area, then data integrity should be maintained, but existing address-based management technology fails to support this scenario

Engineering Contradiction:
Improvedata integrityVSAvoidsupport for multiple write instructions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the dependency management by introducing instruction-specific flags (first flag for write completion, second flag for read permission) rather than managing entire memory addresses. This allows independent tracking of each write instruction's completion status and enables the read instruction to wait for all necessary write completions while maintaining support for multiple write operations to the same memory area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary flag bits as mediators between write instructions and read instructions. These flags act as intermediate state indicators that coordinate the execution sequence without requiring direct address-based dependency tracking, enabling reliable data integrity while supporting complex multi-write scenarios.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multi-thread processing is implemented to improve performance, then operating efficiency increases, but dependency relationships between threads become complex and difficult to manage

Engineering Contradiction:
Improveoperating efficiencyVSAvoiddependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service dependency management where each instruction automatically sets and checks its own dependency flags. The write instruction sets the first flag when completed, and the read instruction checks this flag before execution. This self-managing approach allows multi-thread processing to maintain high productivity while reducing the complexity of external dependency management mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the management parameter from address-based to instruction-flag-based. By using binary flag states (set/not set) rather than address comparisons, the system simplifies dependency tracking in multi-thread environments, enabling efficient parallel execution while maintaining correct dependency relationships through simple flag checks and sets.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8898671B2Processor that executes a plurality of threads by promoting efficiency of transfer of data that is shared with the plurality of threads
Publication Date: 2014.11.25 PANASONIC HOLDINGS CORP
  • US8898671B2 patent drawing
  • US8898671B2 patent drawing
  • US8898671B2 patent drawing

AI summary

Provide is a processor that can maintain a dependency relationship between a plurality of instructions and one read instruction. The processor comprises: a setting unit configured to set, when an instruction that exists at a location ensuring that writing into a memory area has been completed is executed, usage information indicating whether writing into the memory area has been completed such that the usage information indicates that writing into a memory area during execution of one thread has been completed; and a control unit configured to (i) perform execution of a read instruction to read data stored in the memory area when the usage information indicates that writing into the memory area during execution of the one thread has been completed, and (ii) suppress execution of the read instruction when the usage information indicates that writing into the memory area during execution of the one thread has not been completed.