Execution Unit Data Forwarding for IMT Processor Pipeline Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processors experience pipeline stalls due to data-dependent instructions, leading to inefficiencies in data forwarding and increased power consumption, as they require separate stages for processing and storing results before they can be used by subsequent instructions.

Innovation Solution

Implementing a method within an interleaved multi-threaded processor that compares write and read identifiers to store results locally, allowing data forwarding and skipping of register read operations, and using logic to determine when to reuse tag array information and skip TLB lookups, thereby reducing power consumption and pipeline stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data-dependent instructions are separated by data-independent instructions to allow time for results to be produced and stored, then pipeline stalls are reduced, but execution time increases due to additional instructions

Engineering Contradiction:
Improvepipeline operation continuityVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a data forwarding mechanism that performs preliminary action by making data produced by a first instruction immediately available to a second instruction through a forwarding path, before the data would normally be written to the register file. This eliminates the need to insert data-independent instructions as placeholders, thus reducing execution time while maintaining pipeline continuity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a data forwarding path as an intermediary mechanism that directly connects the output of execution units to the input of subsequent instructions, bypassing the traditional register file write-back path. This intermediary path allows data to be transferred without completing the full write-back cycle, reducing execution time while maintaining reliable data dependency handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If results are written to the register file before being used by subsequent instructions, then data consistency is ensured, but power consumption increases due to register read operations

Engineering Contradiction:
Improvedata consistencyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the essential data from the register file write-back process and delivers it directly through a dedicated forwarding path to subsequent instructions. By taking out only the necessary data element and its validity information, the system maintains data consistency for the forwarding operation without requiring a full register file write and subsequent read, thus reducing power consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data forwarding mechanism enables self-service by allowing produced data to be directly consumed by dependent instructions through the forwarding path without requiring the traditional register file intermediary. The execution unit itself serves the data dependency requirement, eliminating the need for separate register read operations and reducing power consumption while maintaining data consistency.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If tag array lookup operations are performed for every address access, then cache hit/miss determination is accurate, but power consumption increases

Engineering Contradiction:
Improvecache hit/miss determination accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary action by determining whether an address access requires a tag array lookup before actually performing the lookup. By checking address patterns and using previously obtained tag information when applicable, the system performs the necessary determination in advance, avoiding unnecessary lookups and reducing power consumption while maintaining accurate cache hit/miss determination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by making the tag array lookup operation conditional rather than universal. Different address access patterns receive different treatment: some require full lookups while others can use previously obtained tag information. This localized approach ensures accurate cache determination only where necessary, reducing overall power consumption while maintaining measurement precision for required operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8145874B2System and method of data forwarding within an execution unit
Publication Date: 2012.03.27 QUALCOMM INC
  • US8145874B2 patent drawing
  • US8145874B2 patent drawing
  • US8145874B2 patent drawing

AI summary

In an embodiment, a method is disclosed that includes, comparing, during a write back stage at an execution unit, a write identifier associated with a result to be written to a register file from execution of a first instruction to a read identifier associated with a second instruction at an execution pipeline within an interleaved multi-threaded (IMT) processor having multiple execution units. When the write identifier matches the read identifier, the method further includes storing the result at a local memory of the execution unit for use by the execution unit in the subsequent read stage.