Macro-Op Fusion Using Destructive Instructions in Processor Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing macro-op fusion techniques in RISC-V architectures fail to capitalize on numerous opportunities for increasing efficiency due to limited application of destructive instructions, leading to performance penalties from additional instruction encoding and pipeline complexities.

Innovation Solution

Implementing fusion with destructive instructions by allowing ordinary standalone instructions to augment the argument list of a destructive instruction, enabling fusion even with intervening instructions, and decoupling vector and scalar instruction processing to facilitate efficient macro-op fusion in processor pipelines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If macro-op fusion is limited to avoid instruction set complexities, then ISA complexity is reduced, but processor efficiency and performance are degraded

Engineering Contradiction:
ImproveISA complexityVSAvoidprocessor efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the instruction processing into two distinct layers: the Instruction Set Architecture (ISA) layer that maintains simplicity with standardized instruction formats, and the micro-ops layer that enables complex fusion operations. The macro-op fusion is performed in the micro-ops layer without requiring changes to the ISA instruction formats, thus resolving the contradiction between ISA simplicity and processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces micro-ops as an intermediary representation between ISA instructions and execution. The macro-op fusion process operates on micro-ops rather than directly on ISA instructions, allowing complex fusion logic to be implemented without affecting the simplicity of the ISA. This intermediary layer acts as a buffer that enables efficiency improvements while preserving ISA simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If additional instructions are added to preserve input arguments, then argument preservation is achieved, but instruction count and encoding complexity increase

Engineering Contradiction:
Improveargument preservationVSAvoidinstruction encoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the instruction format dynamic by introducing a mergeable bit field in the instruction encoding. This bit indicates whether the instruction can participate in macro-op fusion, allowing the instruction format to adapt between destructive and non-destructive forms based on the fusion context. The dynamic format enables argument preservation through fusion without requiring additional explicit instructions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the state parameter of the destination register by introducing a mergeable bit that modifies the register's behavior. When this bit is set, the register participates in macro-op fusion and preserves its value across the fused operation. This parameter change enables argument preservation without adding instruction encoding complexity, as the mergeable bit is part of the existing instruction format.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If destructive instructions are used to save encoding space, then instruction encoding is compact, but argument preservation requires additional instructions that reduce performance

Engineering Contradiction:
Improveinstruction encodingVSAvoidperformance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent makes the instruction format dynamic by introducing a mergeable bit field in the instruction encoding. This bit indicates whether the instruction can participate in macro-op fusion, allowing the instruction format to adapt between destructive and non-destructive forms based on the fusion context. The dynamic format enables argument preservation through fusion without requiring additional explicit instructions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent makes instructions universal by designing them to serve multiple functions based on the mergeable bit setting. The same instruction format can function as either a destructive or non-destructive operation depending on whether macro-op fusion is applied. This multi-functionality allows compact encoding while achieving argument preservation through the fusion mechanism, eliminating the need for separate instruction types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250383877A1Fusion with destructive instructions
Publication Date: 2025.12.18 SIFIVE INC
  • US20250383877A1 patent drawing
  • US20250383877A1 patent drawing
  • US20250383877A1 patent drawing

AI summary

Systems and methods are disclosed for fusion with destructive instructions. For example, an integrated circuit (e.g., a processor) for executing instructions includes a fusion circuitry that is configured to detect a sequence of macro-ops stored in a processor pipeline of the processor core, the sequence of macro-ops including a first macro-op identifying a first register as a destination register followed by a second macro-op identifying the first register as both a source register and as a destination register, wherein one or more intervening macro-ops occur between the first macro-op and the second macro-op in the program order; determine a micro-op that is equivalent to the first macro-op followed by the second macro-op; and forward the micro-op to at least one of the one or more execution resource circuitries for execution. For example, the sequence of macro-ops may be detected in a vector dispatch stage of a processor pipeline.