Processor Pipeline Dynamic Delay Assignment for Instruction Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-order processors face inefficiencies in handling latency between dependent instructions, as they either stall other instructions or use inflexible mechanisms that introduce unnecessary delays, limiting overall instruction throughput without sacrificing power efficiency.

Innovation Solution

Dynamic delay assignment and dynamic functional unit placement within the processor pipeline allow instructions to be issued in-order while flexibly managing latency by determining delays based on operation dependencies, enabling instructions to execute through multiple stages without changing their execution time, thus improving throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If in-order processing is used, then power efficiency is maintained, but instruction throughput is limited due to inability to handle latency between dependent instructions

Engineering Contradiction:
Improveinstruction throughputVSAvoidclock cycles required for execution
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies dynamics by making the pipeline stage configuration variable rather than fixed. Each pipeline stage can be dynamically configured to have different numbers of functional units based on the specific instructions being executed. This allows the system to adapt the execution architecture in real-time to handle latency dependencies between instructions, improving throughput while maintaining in-order processing and power efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of pipeline stage configuration from static to dynamic. By allowing the number of functional units in each pipeline stage to be configured based on instruction dependencies and latency requirements, the system can optimize execution time without changing the fundamental in-order processing architecture, thus improving throughput while maintaining power efficiency.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If fixed pipeline stages are used, then device complexity is reduced, but flexibility in managing latency between dependent instructions is limited

Engineering Contradiction:
Improveflexibility in managing latencyVSAvoidpipeline configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic configurability to the pipeline stages, allowing the number of functional units in each stage to be adjusted based on the specific instructions and their latency dependencies. This dynamic approach provides flexibility in managing latency without requiring complete redesign of the pipeline architecture, achieving adaptability with controlled complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the pipeline into multiple stages, each of which can be independently configured with different numbers of functional units. This segmentation allows flexible management of latency between dependent instructions by adjusting individual stages without affecting the entire pipeline, providing adaptability while keeping overall device complexity manageable through modular configuration.

Inventive Principle:
Principle #1Segmentation

3Speed

If more functional units are added to pipeline stages, then instruction execution speed increases, but power consumption increases

Engineering Contradiction:
Improveinstruction execution speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies dynamics by configuring the number of functional units in each pipeline stage based on the specific instructions being executed and their latency requirements. Rather than having a fixed or maximum number of functional units always active, the system dynamically adjusts the configuration to match actual execution needs, thereby increasing instruction execution speed when necessary while reducing power consumption when fewer functional units are required.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of functional unit quantity from fixed to variable based on instruction characteristics. By configuring the number of functional units in each pipeline stage according to the latency dependencies and execution requirements of specific instructions, the system achieves higher instruction execution speed when needed while maintaining lower power consumption by avoiding unnecessary functional units during simpler execution scenarios.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9690590B2Flexible instruction execution in a processor pipeline
Publication Date: 2017.06.27 MARVELL ASIA PTE LTD
  • US9690590B2 patent drawing
  • US9690590B2 patent drawing
  • US9690590B2 patent drawing

AI summary

Executing instructions in a processor includes: selecting or more instructions to be issued together in the same clock cycle of the processor from among a plurality of instructions, the selected one or more instructions occurring consecutively according to a program order; and executing instructions that have been issued, through multiple execution stages of a pipeline of the processor. The executing includes: determining a delay assigned to a first instruction, and sending a result of a first operation performed by the first instruction in a first execution stage to a second execution stage, where the number of execution stages between the first execution stage and the second execution stage is based on the determined delay.