Issue Queue Latency Adjustment for Write Back Collision Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face performance degradation due to write back collisions, which necessitate stalling mechanisms that waste processing resources and lead to inefficient use of processing bandwidth.

Innovation Solution

A system and method that utilize an issue queue to determine potential collisions and delay instructions accordingly, using a result buffer to manage latency and prevent collisions by delaying results before writing them back to the register file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If stalling mechanisms are installed to avoid write back collisions, then write back collisions are prevented, but system performance deteriorates due to wasted processing resources

Engineering Contradiction:
Improvewrite back collision preventionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The issue queue performs preliminary detection of potential write back collisions before instructions are executed. By calculating the expected write back cycles for each instruction in advance and identifying conflicts proactively, the system can prepare appropriate delay decisions before the collision actually occurs, rather than using reactive stalling mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the latency of individual instructions by selectively delaying specific instructions in the issue queue based on real-time collision detection. This dynamic adjustment allows the system to maintain optimal performance for non-conflicting instructions while only delaying those that would cause collisions, rather than applying uniform stalling to all instructions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If stalling mechanisms are used to prevent write back collisions, then collision avoidance is achieved, but processing resource utilization worsens

Engineering Contradiction:
Improvecollision avoidanceVSAvoidprocessing resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system applies delay treatment locally and selectively to only those specific instructions that are predicted to cause write back collisions, rather than applying global stalling to all instructions. The issue queue independently evaluates each instruction's write back timing and applies delay only where necessary, preserving the execution flow of non-conflicting instructions and minimizing processing resource waste.

Inventive Principle:
Principle #3Local quality

3Device complexity

If uniform latency is applied to all instructions, then simplicity is maintained, but write back collision avoidance capability deteriorates

Engineering Contradiction:
Improvelatency management simplicityVSAvoidcollision avoidance capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The issue queue performs preliminary calculation of write back cycles for each instruction before execution. By determining the expected completion cycle for each instruction in advance and comparing these predictions, the system can identify potential collisions early and apply selective delay, replacing uniform latency with intelligent, prediction-based latency management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11561798B2On-the-fly adjustment of issue-write back latency to avoid write back collisions using a result buffer
Publication Date: 2023.01.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11561798B2 patent drawing
  • US11561798B2 patent drawing
  • US11561798B2 patent drawing

AI summary

A system and method for avoiding write back collisions. The system receives a plurality of instructions at a pipeline queue. Next an issue queue determines a number of cycles for each instruction of the plurality of instructions. The issue queue further determines if a collision will occur between at least two of the instructions. Additionally, the system determines in response to a collision between at least two of the instructions, a number of cycles to delay at least one of the at least two instructions. The instructions are then executed. The system then places the results of the instruction for instructions that had a calculated delay in a result buffer for the determined number of cycles of delay. After the determined number of cycles of delay, the system sends the results to a results mux. Once received at the results mux the results are written back to the register file.