Hardware Task Manager Buffer Counters for Adaptive Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital systems face limitations in transferring instruction and data efficiently among components, leading to constraints on computing performance due to bus speed and complex communication requirements in multi-processor or parallel processor designs.

Innovation Solution

A hardware task manager is implemented to coordinate buffer use among tasks in a processing system by maintaining counters for input and output buffers, indicating availability and readiness, allowing tasks to execute only when sufficient resources are available, thereby optimizing buffer utilization and task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If complex communication facilities are designed to optimize speed and flexibility for multi-processor systems, then data transfer efficiency improves, but device complexity increases

Engineering Contradiction:
Improvedata transfer speedVSAvoidinterconnection facility complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments the interconnection facility into multiple independent channels, each handling specific communication tasks. This allows parallel data transfer operations to occur simultaneously across different channels, improving overall speed while keeping each individual channel relatively simple in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of communication by adding multiple interconnection channels that operate in parallel. This dimensional expansion from single-channel to multi-channel architecture enables simultaneous data transfers, achieving both high speed and manageable complexity through structured organization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If buffer resources are allocated to ensure task execution readiness, then task execution reliability improves, but loss of time due to resource allocation overhead increases

Engineering Contradiction:
Improvetask execution readinessVSAvoidresource allocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-allocating and pre-configuring buffer resources before tasks are ready to execute. Buffer status is monitored and prepared in advance, so when a task becomes ready, the required resources are already in place, eliminating allocation delays and ensuring immediate execution reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms that continuously monitor buffer status and task readiness conditions. This real-time feedback allows the system to dynamically adjust resource allocation, ensuring that buffers are ready when needed while minimizing unnecessary allocation overhead by only activating resources when actually required.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7653710B2Hardware task manager
Publication Date: 2010.01.26 CORNAMI INC
  • US7653710B2 patent drawing
  • US7653710B2 patent drawing
  • US7653710B2 patent drawing

AI summary

A hardware task manager for managing operations in an adaptive computing system. The task manager indicates when input and output buffer resources are sufficient to allow a task to execute. The task can require an arbitrary number of input values from one or more other (or the same) tasks. Likewise, a number of output buffers must also be available before the task can start to execute and store results in the output buffers. The hardware task manager maintains a counter in association with each input and output buffer. For input buffers, a negative value for the counter means that there is no data in the buffer and, hence, the respective input buffer is not ready or available. Thus, the associated task can not run. Predetermined numbers of bytes, or “units,” are stored into the input buffer and an associated counter is incremented. When the counter value transitions from a negative value to a zero the high-order bit of the counter is cleared, thereby indicating the input buffer has sufficient data and is available to be processed by a task.