Instruction Pipeline Timing Control for Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face delays and inefficiencies, particularly in processing sequences with looped instructions, due to serial execution of instructions and reliance on external memory operations, which is problematic in low-latency applications like wireless telecommunications.

Innovation Solution

A method and system for delivering instructions to parallel function units using instruction pipelines with timing values to determine the relative execution order, minimizing delays between sequences and preventing overlap, allowing for efficient parallel execution of instructions within the processing element.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If instructions are executed serially in order of receipt, then the execution order is simple and deterministic, but the processing speed and throughput are limited

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction delivery mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction delivery mechanism is segmented into multiple independent instruction pipelines (first instruction pipeline, second instruction pipeline, etc.), each capable of independently delivering instructions to function units. This segmentation allows parallel instruction delivery without requiring complex centralized control, thus improving processing speed while keeping individual pipeline complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from serial instruction execution (one-dimensional time sequence) to parallel instruction execution by introducing multiple instruction pipelines (adding spatial dimension). Instructions are delivered simultaneously through different pipelines to different function units, enabling parallel processing while maintaining simple deterministic execution within each pipeline.

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

2Productivity

If multiple instruction sequences are interleaved to reduce delays, then parallel execution efficiency is improved, but timing coordination and overlap prevention become more difficult

Engineering Contradiction:
Improveparallel execution efficiencyVSAvoidtiming control mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses preliminary action by pre-fetching instructions from future cycles and storing them in buffer registers before they are needed. Instructions are prepared in advance and held ready for immediate execution, eliminating wait states and reducing delays between instruction sequences without requiring complex real-time timing coordination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Buffer registers serve as intermediaries between instruction fetch and execution stages. These buffers temporarily hold instructions, decoupling the timing of instruction delivery from execution requirements. This intermediary mechanism allows multiple instruction sequences to be interleaved efficiently while simplifying timing control, as the buffers automatically manage the timing coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If looped instruction sequences are processed with strict ordering, then data packet order is maintained, but processing latency increases

Engineering Contradiction:
Improvedata packet orderVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by allowing instruction pipelines to operate independently with flexible timing. Looped instruction sequences can be processed in parallel across multiple pipelines with different timing characteristics, enabling the system to dynamically adjust execution timing to minimize latency while maintaining output order through proper pipeline synchronization at the function unit level.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9990204B2Data processing
Publication Date: 2018.06.05 BLUWIRELESS TECH
  • US9990204B2 patent drawing
  • US9990204B2 patent drawing
  • US9990204B2 patent drawing

AI summary

A processing element comprises a plurality of function units (16) operable to execute respective functions in dependence upon received instructions in parallel with one another. An instruction controller includes a plurality of instruction pipelines (42). Each of the pipelines (42) is associated with a function unit (16) of the processing element, and is operable to deliver instructions to the function unit concerned for execution thereby. Each pipeline also includes a timing controller operable to receive timing information for a received instruction, and to determine an initial location in the pipeline into which the instruction is to be loaded, and an instruction handler operable to receive an instruction for the function unit associated with the instruction pipeline concerned, and to load that instruction into the initial location determined by the timing controller.