PC-relative load store addressing for fused instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern information and data handling systems, out-of-order instruction execution and pipelining lead to processor latency and inefficiency due to the complexity of handling instructions, particularly when dealing with multiple execution units and dependencies between instructions.

Innovation Solution

A method and system where two consecutive instructions, a prefix and a suffix, are fused into a single instruction, allowing them to be executed together, with the prefix instruction being auto-finished and the suffix instruction being executed using operands formed based on the current instruction address, thereby improving processor efficiency and reducing execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If instructions are processed using traditional pipelining and out-of-order execution, then processor can handle multiple instructions concurrently, but processor latency and inefficiency increase due to complexity of handling dependencies between instructions

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidprocessor latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges a prefix instruction and a suffix instruction into a single fused instruction that can be executed atomically. This combining eliminates the need to handle them as separate instructions with potential dependencies, reducing latency while maintaining concurrent execution capability. The fused instruction is treated as a single unit in the issue queue and execution pipeline.

Inventive Principle:
Principle #5Merging (Combining)

2Speed

If multiple execution units are used to process instructions in parallel, then processing speed increases, but device complexity increases due to handling multiple execution units and instruction dependencies

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction handling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

By fusing the prefix and suffix instructions into a single instruction entity, the patent reduces the complexity of managing multiple independent instructions. The fused instruction is dispatched as one unit to the appropriate execution unit, simplifying the control logic for handling dependencies and reducing the state management burden in the issue queue and rename/allocate units.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If prefix and suffix instructions are executed as separate instructions, then instruction flexibility is maintained, but execution time increases due to sequential processing requirements

Engineering Contradiction:
Improveinstruction flexibilityVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of moving object

Solution Approach 1:

The fusion of prefix and suffix instructions into a single atomic operation allows both instructions to be executed simultaneously rather than sequentially. The prefix instruction's operations (such as address calculation) and the suffix instruction's operations (such as load/store) are performed in parallel as part of the same fused instruction execution, reducing total execution time while preserving the functional flexibility of having both instruction types.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11392386B2Program counter (PC)-relative load and store addressing for fused instructions
Publication Date: 2022.07.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11392386B2 patent drawing
  • US11392386B2 patent drawing
  • US11392386B2 patent drawing

AI summary

Load store addressing can include a processor, which fuses two consecutive instruction determined to be prefix instructions and treats the two instructions as a single fused instruction. The prefix instruction of the fused instruction is auto-finished at dispatch time in an issue unit of the processor. A suffix instruction of the fused instruction and its fields and the prefix instruction's fields are issued from an issue queue of the issue unit, wherein an opcode of the suffix instruction is issued to a load store unit of the processor, and fields of the fused instruction are issued to the execution unit of the processor. The execution unit forms operands of the suffix instruction, at least one operand formed based on a current instruction address of the single fused instruction. The load store unit executes the suffix instruction using the operands formed by the execution unit.