External Instruction Commit Order in Out-of-Order Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in managing pipeline instruction insertion for external instructions, particularly in maintaining correct program order and avoiding errors associated with out-of-order execution.

Innovation Solution

The integrated circuit includes translation circuitry for handling virtual to physical address translations and instruction management circuitry for managing external instructions. This circuitry updates translation lookaside buffer entries and inserts instructions into the pipeline to ensure correct program order and error-free execution of external instructions like GlobalSync.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If external instructions are inserted into the pipeline without strict ordering control, then pipeline throughput is improved, but program order correctness deteriorates

Engineering Contradiction:
Improvepipeline throughputVSAvoidprogram order correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent identifies instructions that have already been issued or are in progress before an external instruction arrives, and pre-determines their commitment order. This preliminary analysis allows the external instruction to be inserted without disrupting the established program order of existing instructions, thus maintaining reliability while enabling pipeline throughput improvement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a commitment order determination mechanism as an intermediary between instruction insertion and execution. This mediator analyzes the states of queued instructions and the external instruction to determine the correct commitment sequence, ensuring program order correctness is maintained even as external instructions are inserted into the pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If external instructions are strictly ordered with queued instructions, then program order correctness is improved, but pipeline delay increases

Engineering Contradiction:
Improveprogram order correctnessVSAvoidpipeline delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial ordering control only where necessary - specifically for instructions that are already issued or in progress when an external instruction arrives. Instructions that have not yet been issued can be ordered more flexibly. This partial application of ordering constraints maintains program order correctness while minimizing pipeline delay.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the processor waits for all queued instructions to complete before inserting external instructions, then program order correctness is improved, but productivity deteriorates

Engineering Contradiction:
Improveprogram order correctnessVSAvoidpipeline throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary determination of commitment order for existing queued instructions before inserting the external instruction. This allows the external instruction to be inserted into the pipeline immediately without waiting for queued instructions to complete, while still ensuring correct commitment ordering is maintained, thus improving productivity without sacrificing reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12293190B2Managing commit order for an external instruction relative to queued instructions
Publication Date: 2025.05.06 MARVELL ASIA PTE LTD
  • US12293190B2 patent drawing
  • US12293190B2 patent drawing
  • US12293190B2 patent drawing

AI summary

In a pipeline configured for out-of-order issuing, handling translation of virtual addresses to physical addresses includes: storing translations in a translation lookaside buffer (TLB), and updating at least one entry in the TLB based at least in part on an external instruction received from outside a first processor core. Managing external instructions includes: updating issue status information for each of multiple instructions stored in an instruction queue, processing the issue status information in response to receiving a first external instruction to identify at least two instructions in the instruction queue, including a first queued instruction and a second queued instruction. An instruction for performing an operation associated with the first external instruction is inserted into a stage of the pipeline so that the operation associated with the first external instruction is committed before the first queued instruction is committed and after the second queued instruction is committed.