Multi-Slice Processor Dynamic Partial Load Cancellation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processors face inefficiencies in handling load operations due to the inability to dynamically cancel partial load instructions, leading to increased execution cycles and power consumption.

Innovation Solution

A multi-slice processor architecture that includes load/store slices capable of dynamically canceling partial load operations by delaying the issuance of load instructions when one portion of the requested data is unavailable, thereby optimizing execution cycles and power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load instructions are issued without dynamic canceling capability, then the processor can maintain simpler control logic, but execution cycles increase and power consumption rises due to inability to cancel partial loads

Engineering Contradiction:
Improveexecution cycle efficiencyVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic canceling capability in the load/store slice that allows the processor to adaptively cancel partial load instructions based on real-time data availability. The control logic dynamically determines whether to proceed with or cancel load operations, transforming a static issuance mechanism into a dynamic, condition-based system that optimizes execution cycles without permanently complicating the hardware architecture

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary checking of data availability before issuing load instructions. The load/store slice evaluates whether requested data portions are available in advance, and only issues load instructions when all portions are ready. This preliminary action prevents wasted execution cycles on partial loads that would need to be retried, thereby improving productivity without requiring complex post-issuance cancellation mechanisms

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If load instructions are issued without checking data availability, then the issuance process is faster, but power consumption increases due to unnecessary load operations

Engineering Contradiction:
Improvepower consumptionVSAvoiddata checking time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent performs preliminary checking of data availability in the load/store slice before issuing load instructions. By evaluating whether all requested data portions are available in advance, the system avoids issuing load instructions that would result in wasted power consumption on partial loads. This preliminary validation ensures that only complete, valid load operations are issued, optimizing power efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the load/store slice monitors data availability status and uses this information to control load instruction issuance. The system continuously checks whether requested data portions are available and adjusts its issuance behavior accordingly, canceling or delaying loads when data is unavailable. This feedback-driven approach minimizes unnecessary power consumption while maintaining efficient operation

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10346174B2Operation of a multi-slice processor with dynamic canceling of partial loads
Publication Date: 2019.07.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10346174B2 patent drawing
  • US10346174B2 patent drawing
  • US10346174B2 patent drawing

AI summary

Operation of a multi-slice processor that includes a plurality of execution slices and a plurality of load/store slices, where the multi-slice processor is configured to dynamically cancel partial load operations by, among other steps, receiving a load instruction requesting multiple portions of data; receiving a load instruction requesting multiple portions of data; determining that a load of one portion of the requested multiple portions is unavailable to be issued; and responsive to determining that the load of the one portion of the requested multiple portions is unavailable to be issued, delaying issuance of the load instruction.