Triggered Instruction Processing Element Input Channel Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processor architectures face inefficiencies in data processing due to their program-counter based design, which limits instruction flow flexibility and processing bandwidth, especially when handling multiple trigger conditions and data flow management.

Innovation Solution

The implementation of a triggered instruction architecture with a processing element that uses execution circuitry and input channel processing circuitry to manage tagged data items, allowing dynamic selection of buffer structures based on tag values for efficient data allocation and processing, thereby eliminating the need for dedicated load instructions and reducing the likelihood of data blocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a program-counter based architecture is used, then instruction execution order is simple and predictable, but instruction flow flexibility and processing bandwidth are limited

Engineering Contradiction:
Improveinstruction execution simplicityVSAvoidprocessing bandwidth
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a dynamic instruction selection mechanism where the processing element can choose from multiple triggered instructions based on satisfied trigger conditions. This replaces the static program-counter based sequential execution with a dynamic selection process that adapts to current machine state, enabling flexible instruction flow while maintaining simplicity through automated condition evaluation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the instruction pool into multiple triggered instructions with independent trigger conditions. Each triggered instruction can be evaluated and selected independently based on whether its trigger conditions are satisfied, allowing parallel evaluation of multiple instruction options and increasing processing bandwidth without complicating the execution model.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If branch instructions are used for control flow, then program flow management is simple, but instruction processing bandwidth is reduced

Engineering Contradiction:
Improvecontrol flow management simplicityVSAvoidinstruction processing bandwidth
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent extracts the control flow management function from dedicated branch instructions and integrates it into the triggered instruction mechanism. Trigger conditions inherently encode control flow decisions, eliminating the need for separate branch instructions and allowing computation instructions to directly manage both data processing and control flow, thereby increasing instruction processing bandwidth.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The triggered instruction mechanism serves multiple functions simultaneously: it performs data computation, evaluates control flow conditions, and manages instruction selection all within a single unified framework. This multi-functionality eliminates the need for separate dedicated instructions for each function, increasing the effective instruction processing bandwidth.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If multiple triggered instructions with different trigger conditions are available, then instruction execution flexibility is improved, but decision complexity increases

Engineering Contradiction:
Improveinstruction execution flexibilityVSAvoiddecision making complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The processing element automatically evaluates trigger conditions and selects appropriate triggered instructions without external intervention. The machine state itself serves as the decision-making mechanism, with trigger conditions being inherently satisfied or not satisfied based on current state, eliminating complex external decision logic while maintaining high flexibility.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The trigger condition evaluation mechanism provides automatic feedback about which instructions are ready for execution based on current machine state. This feedback loop continuously monitors trigger conditions and enables automatic instruction selection, reducing decision complexity by letting the system state itself guide the selection process rather than requiring complex external control logic.

Inventive Principle:
Principle #23Feedback

4Ease of operation

If dedicated load instructions are used for data loading, then data retrieval is simple and controlled, but processing bandwidth is reduced

Engineering Contradiction:
Improvedata retrieval controlVSAvoidprocessing bandwidth
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges data loading and computation functions into a single integrated operation. Triggered instructions can directly access data from memory or other sources as part of their execution, eliminating the need for separate dedicated load instructions. This combination allows the processing element to maintain control over data retrieval while increasing overall processing bandwidth by reducing instruction count and improving pipeline utilization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12045622B2Input channel processing for triggered-instruction processing element
Publication Date: 2024.07.23 ARM LTD
  • US12045622B2 patent drawing
  • US12045622B2 patent drawing
  • US12045622B2 patent drawing

AI summary

One or more triggered-instruction processing elements are provided, a given triggered-instruction processing element comprising execution circuitry to execute processing operations in response to instructions according to a triggered instruction architecture. Input channel processing circuitry receives a given tagged data item (comprising a data value and a tag value) for a given input channel, and in response controls enqueuing of the data value of the given tagged data item to a selected buffer structure selected from among at least two buffer structures mapped onto register storage accessible to one or more of the triggered-instruction processing elements in response to a computation instruction for controlling performance of a computation operation. The selected buffer structure is selected based at least on the tag value, so data values of tagged data items specifying different tag values for the given input channel are allocatable to different buffer structures.