Speculative Parallel Decode Units for Instruction Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing processing circuitry pipeline bottleneck restricts instruction processing speed and resource utilization, particularly in terms of power and silicon area, necessitating improvements in efficiency and resource management.

Innovation Solution

The implementation of a pointer-based fetch queue with combinatorial logic to speculatively produce and decode multiple potential instructions in parallel, optimizing resource usage and pipeline stages by focusing on the most likely non-speculative instructions for execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a traditional pipeline is used for instruction processing, then the structure is simple and resources are used efficiently, but the processing speed is bottlenecked by the pipeline throughput

Engineering Contradiction:
Improveinstruction processing speedVSAvoidpipeline structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by speculatively decoding instructions before they are fully ready for execution. The decode circuitry speculatively decodes instructions from the fetch queue in advance, producing speculative decoded instructions that can be immediately used if the speculation is correct, thereby eliminating waiting time in the pipeline and improving overall processing speed without adding significant structural complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the decode units operate speculatively and dynamically adjusting the instruction flow based on speculation outcomes. The system dynamically selects which speculative decoded instructions to commit to execution based on validation, allowing the pipeline to adapt its behavior in real-time to maximize throughput while maintaining simple underlying hardware structures

Inventive Principle:
Principle #15Dynamics

2Productivity

If parallel decode units are used to increase throughput, then processing speed improves, but power consumption and silicon area increase

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent uses copying by creating speculative copies of decoded instructions rather than maintaining multiple permanent decode units. The single decode unit produces speculative copies of decoded instructions that can be validated and committed if correct, allowing high throughput equivalent to multiple parallel units while using only one physical decode unit, thereby reducing power consumption and silicon area

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent applies parameter changes by altering the operational mode of the decode unit to work speculatively. By changing the decode unit's behavior from sequential, deterministic decoding to speculative, parallel-like operation, the system achieves higher throughput without increasing the number of physical units, thus avoiding the associated power and area costs

Inventive Principle:
Principle #35Parameter changes

3Productivity

If speculative decoding is performed, then processing efficiency improves, but the complexity of instruction extraction and validation increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinstruction extraction circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies extraction by separating the speculative decoding function from the commit/execution function. The instruction extraction circuitry extracts only the valid speculative decoded instructions after validation, leaving the complex speculative generation and validation logic isolated in dedicated circuitry. This modular extraction approach manages complexity by clearly delineating functional boundaries between speculation generation and instruction commitment

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11775305B2Speculative usage of parallel decode units
Publication Date: 2023.10.03 ARM LTD
  • US11775305B2 patent drawing
  • US11775305B2 patent drawing
  • US11775305B2 patent drawing

AI summary

Aspects of the present disclosure relate to an apparatus comprising fetch circuitry. The fetch circuitry comprises a pointer-based fetch queue for queuing processing instructions retrieved from a storage, and pointer storage for storing a pointer identifying a current fetch queue element. The apparatus comprises decode circuitry having a plurality of decode units, and fetch queue extraction circuitry to, based on the pointer, extract the content of a plurality of elements of the fetch queue; apply combinatorial logic to speculatively produce, from the content of said fetch queue entries, a plurality of speculative potential instructions; and transmit each speculative potential instruction to a corresponding one of said decode units. Each decode unit is configured to decode the corresponding speculative potential instruction. The instruction extraction circuitry is configured to extract a subset of said plurality of speculative potential instructions, and transmit said determined subset to pipeline component circuitry.