Fused Load Instruction Execution in Processor Load Store Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face inefficiencies in handling multiple load instructions due to resource sharing and out-of-order execution, leading to delays and reduced processing speed, especially when dealing with consecutive load instructions that require simultaneous execution.

Innovation Solution

The system configures processors to identify fusible load instructions, fuse them into a single instruction, and execute them simultaneously using a load store unit, allowing for concurrent execution and simultaneous write-back to multiple register file entries, thereby optimizing resource utilization and processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple load instructions are processed separately through standard pipeline stages, then each instruction can be handled individually with proper resource allocation, but processing time increases and execution speed decreases due to sequential handling and resource sharing

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidexecution delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple fusible load instructions into a single fused load instruction that is issued through one issue queue entry and executed by the load store unit as one operation. This combining eliminates the sequential processing overhead of handling multiple separate instructions while maintaining correct resource allocation and data flow through the pipeline.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple issue queue entries are used for consecutive load instructions, then each instruction can be tracked and executed independently, but resource utilization decreases and processing efficiency is reduced

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidissue queue entry usage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple fusible load instructions are merged into a single issue queue entry that contains information about all the original instructions. This single entry is issued through one issue port to the load store unit, reducing the number of queue entries needed while maintaining the ability to track and execute each original instruction's destination correctly.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If load instructions are executed sequentially through the execution stage, then resource allocation is simplified, but execution speed decreases due to inability to process multiple instructions simultaneously

Engineering Contradiction:
Improveinstruction execution speedVSAvoidconcurrent execution capability
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent combines multiple fusible load instructions into a single execution operation that retrieves multiple data values from memory in one go. The load store unit executes this fused instruction concurrently, fetching all required data in parallel and then writing back to multiple register file entries simultaneously, thereby achieving both high speed and concurrent execution capability.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If separate write-back operations are performed for each load instruction result, then register file updates are accurate and orderly, but processing time increases and overall performance is reduced

Engineering Contradiction:
Improvedata write-back accuracyVSAvoidwrite-back operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple write-back operations into a single combined write-back operation. The load store unit retrieves all required data values from memory in one operation and writes them back to multiple register file entries simultaneously in a single cycle, maintaining accuracy through proper destination tagging while eliminating sequential write-back delays.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20220050679A1Handling and fusing load instructions in a processor
Publication Date: 2022.02.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20220050679A1 patent drawing
  • US20220050679A1 patent drawing
  • US20220050679A1 patent drawing

AI summary

A system, processor, and/or technique configured to: determine whether two or more load instructions are fusible for execution in a load store unit as a fused load instruction; in response to determining that two or more load instructions are fusible, transmit information to process the two or more fusible load instructions into a single entry of an issue queue; issue the information to process the two or more fusible load instructions from the single entry in the issue queue as a fused load instruction to the load store unit using a single issue port of the issue queue, wherein the fused load instruction contains the information to process the two or more fusible load instructions; execute the fused load instruction in the load store unit; and write back data obtained by executing the fused load instruction simultaneously to multiple entries in the register file.