Instruction Controller Pipelines for Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face delays in executing sequences of instructions, particularly when these sequences include 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 apparatus for delivering instructions to parallel function units using an instruction controller with multiple pipelines and registers, where instructions are timed and scheduled to minimize delay between sequences, ensuring that instructions from different sequences do not overlap in execution, allowing for efficient parallel execution.

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 single-dimension serial instruction execution to multi-dimension parallel execution by introducing multiple instruction pipelines that can operate simultaneously. Instructions from different sequences can be delivered through different pipelines in parallel, effectively adding a temporal dimension to instruction execution and overcoming the serial execution bottleneck.

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

2Productivity

If multiple instruction sequences are interleaved to reduce delays, then parallel execution efficiency improves, but ensuring correct execution order becomes more difficult

Engineering Contradiction:
Improveparallel execution efficiencyVSAvoidexecution order correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Instructions are tagged with sequence identification information and timing values before being delivered to pipelines. This preliminary tagging allows the system to pre-establish the execution order requirements, ensuring that even when instructions from different sequences are interleaved in parallel, their correct execution order is maintained through the embedded timing and sequence metadata.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback mechanisms where instruction delivery is controlled based on timing values and sequence identification. The instruction controller monitors the state of multiple pipelines and adjusts instruction delivery timing accordingly, ensuring that instructions execute in the correct order while maintaining parallel execution efficiency.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If external memory operations are used for data input/output, then data storage capacity is sufficient, but processing latency increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidprocessing latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements a nested memory structure where registers are embedded within the processing element, and these registers can be nested within larger memory systems. This nesting allows frequently accessed data to be stored in fast, on-chip registers, reducing the need for slow external memory operations while maintaining sufficient storage capacity through the hierarchical structure.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

Registers act as intermediaries between external memory and function units. Instead of directly accessing external memory for every operation, data is first loaded into registers which serve as a buffer and cache layer. This intermediary structure reduces processing latency by providing fast access to frequently used data while maintaining the capacity of external memory for larger data sets.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10198268B2Data processing
Publication Date: 2019.02.05 BLUWIRELESS TECH
  • US10198268B2 patent drawing
  • US10198268B2 patent drawing
  • US10198268B2 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 an instruction register (41) having a plurality of register entries, each of which is operable to store an instruction word therein, and a plurality of instruction pipelines (42). Each of the pipelines (42) is associated with a function unit (16), 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.