Chained-Instruction Dispatcher Circuit for Sequential Job Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing networking applications face challenges in efficiently orchestrating complex processing jobs across multiple processing engines, where the sequence of tasks is critical due to dependencies between sub-jobs, leading to inefficiencies in instruction dispatching and completion tracking.

Innovation Solution

A chained-instruction dispatcher circuit with dedicated hardwired digital logic, comprising multiple queue circuits that follow dispatch and go rules to manage instruction types, ensuring sequential completion and efficient resource reuse by using 'dispatch rules' and 'go signals' to coordinate processing engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a code-executing processor is used to fetch and execute instructions, then flexibility and adaptability are improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveinstruction dispatching flexibilityVSAvoiddispatcher circuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical system of a code-executing processor with a hardwired digital logic system. The dispatcher circuit uses dedicated hardware logic paths, queue circuits, and control signals instead of software-based instruction fetching and execution, thereby reducing processing overhead and device complexity while maintaining dispatching flexibility through configurable logic paths.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The dispatcher circuit is designed to autonomously manage instruction dispatching without requiring an external code-executing processor. The hardwired logic automatically tracks instruction completion status, manages queue circuits, and controls the flow of instructions to processing engines, making the system self-sufficient and reducing overall device complexity.

Inventive Principle:
Principle #25Self-service

2Reliability

If multiple processing engines are coordinated sequentially, then processing reliability is improved, but loss of time increases due to waiting for completion

Engineering Contradiction:
Improvesequential processing accuracyVSAvoidinstruction completion waiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where completion status of instructions is continuously monitored and fed back to the dispatcher circuit. Queue circuits track the status of each instruction, and upon completion, automatically trigger the next instruction in the sequence. This feedback-driven approach ensures sequential reliability while minimizing waiting time by immediately initiating subsequent operations upon completion detection.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The dispatcher circuit prepares and queues multiple instructions in advance before execution begins. By pre-loading the instruction sequence into queue circuits and maintaining ready-state instruction buffers, the system reduces idle waiting time between sequential operations while preserving the required execution order through controlled release mechanisms.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If instruction queues are maintained for tracking completion status, then measurement precision is improved, but device complexity increases due to additional circuitry

Engineering Contradiction:
Improveinstruction completion tracking accuracyVSAvoidqueue circuit structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the functions of instruction storage, completion status tracking, and dispatch control into integrated queue circuits. Rather than separate circuits for each function, the queue structures combine data holding with status bit management and control logic, thereby achieving precise tracking of instruction completion while minimizing the overall device complexity through functional consolidation.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If dedicated hardwired digital logic is used instead of a processor, then productivity is improved by reducing overhead, but ease of manufacture worsens due to complex logic design

Engineering Contradiction:
Improveprocessing throughputVSAvoidcircuit implementation difficulty
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The dispatcher circuit is segmented into modular functional blocks including separate queue circuits for different instruction types, dedicated completion status tracking units, and organized control logic paths. This segmentation allows the complex hardwired logic to be designed, tested, and manufactured in manageable modules, reducing implementation difficulty while maintaining high processing throughput through parallelizable structures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10031758B2Chained-instruction dispatcher
Publication Date: 2018.07.24 NETRONOME SYSTEMS INC
  • US10031758B2 patent drawing
  • US10031758B2 patent drawing
  • US10031758B2 patent drawing

AI summary

A dispatcher circuit receives sets of instructions from an instructing entity. Instructions of the set of a first type are put into a first queue circuit, instructions of the set of a second type are put into a second queue circuit, and so forth. The first queue circuit dispatches instructions of the first type to one or more processing engines and records when the instructions of the set are completed. When all the instructions of the set of the first type have been completed, then the first queue circuit sends the second queue circuit a go signal, which causes the second queue circuit to dispatch instructions of the second type and to record when they have been completed. This process proceeds from queue circuit to queue circuit. When all the instructions of the set have been completed, then the dispatcher circuit returns an “instructions done” to the original instructing entity.