Instruction Fusion Circuitry for Parallel Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in executing program instructions due to the inability to effectively fuse multiple instructions into fewer, more efficient fused instructions, which limits processing speed and energy efficiency.

Innovation Solution

The system incorporates instruction queue circuitry, fusion circuitry to identify and replace fusible groups of program instructions with fused instructions, and decoder circuitry to decode these post-fusion instructions in parallel, allowing for a wider window of fusible group identification without compromising timing or requiring extensive decoder circuitry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the decoder circuitry decodes more instructions in parallel (increasing X), then the processing speed improves, but the device complexity and resource requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoiddecoder circuitry complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the instruction processing into two distinct stages: fusion circuitry that operates on a window of Y instructions to identify fusible groups, and decoder circuitry that decodes only X instructions in parallel. This segmentation allows the system to achieve high throughput without requiring an excessively complex decoder, as the fusion stage pre-processes instructions to reduce the decoding burden.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fusion circuitry performs preliminary action by identifying and marking fusible groups of instructions before they reach the decoder. By pre-processing the instruction stream to combine fusible instructions into fused operations, the system reduces the number of instructions the decoder must handle, enabling faster processing without proportionally increasing decoder complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the fusion circuitry examines a wider window of instructions (increasing Y), then the number of fusible groups identified increases, but the loss of time for scanning increases

Engineering Contradiction:
Improveinstruction fusion efficiencyVSAvoidscanning time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The fusion circuitry continuously processes the instruction stream by maintaining a window of Y instructions and systematically examining each instruction for fusibility. This continuous processing ensures that the wider window is utilized efficiently without idle time, maximizing the identification of fusible groups while minimizing scanning delays through uninterrupted analysis.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system optimizes the window size parameter Y to balance fusion efficiency and scanning time. By carefully selecting Y to be greater than X but not excessively large, the system achieves high instruction fusion rates while keeping the scanning time within acceptable limits, effectively tuning the parameter to resolve the contradiction between thoroughness and speed.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple fusible groups are identified and replaced within a wider window, then the number of instructions to be executed decreases, but the device complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidfusion circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The fusion circuitry is designed with segmented functionality that systematically processes the window of Y instructions through distinct phases: fetching instructions, comparing adjacent instructions for fusibility, identifying fusible groups, and replacing them with fused operations. This segmented approach manages complexity by breaking down the fusion process into manageable, modular stages rather than requiring a monolithic complex circuit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fusion circuitry dynamically adapts its operation based on the characteristics of the instruction stream. It flexibly identifies fusible groups wherever they occur within the window without requiring a fixed rigid structure, allowing the circuit to efficiently handle varying instruction patterns while maintaining manageable complexity through adaptive rather than static processing logic.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11416252B2Program instruction fusion
Publication Date: 2022.08.16 ARM LTD
  • US11416252B2 patent drawing
  • US11416252B2 patent drawing
  • US11416252B2 patent drawing

AI summary

A data processing system includes an instruction pipeline containing instruction queue circuitry, fusion circuitry and decoder circuitry. The fusion circuitry serves to identify fusible groups of program instructions within a Y-wide window of program instructions and supply a stream of program instructions including such replacement fused program instructions to a X-wide decoder circuitry which decodes X program instructions in parallel using parallel decoders.