Arithmetic Processing Device Instruction Retry Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In semiconductor devices, instructions determined to be non-retryable due to error detection cycles are not accurately distinguished from retryable ones, leading to deteriorated processing performance and reliability, as the architecture fails to consider the order of commits in out-of-order execution.

Innovation Solution

The semiconductor device implements a system where each instruction is assigned a count value indicating the number of cycles since completion, allowing the identification of retryable instructions by matching error detection cycles, and the commit control unit manages the order of commits to differentiate between retryable and non-retryable errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If out-of-order execution is implemented to improve processing speed, then productivity increases, but reliability deteriorates due to inaccurate distinction between retryable and non-retryable instructions

Engineering Contradiction:
Improveprocessing speedVSAvoidinstruction retry accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-assigning count values to each instruction indicating the number of cycles from completion before error detection occurs. This allows the system to quickly determine retryability by simply comparing the pre-calculated count value with the error detection cycle, rather than performing complex analysis after an error occurs. The count value is prepared in advance for each instruction in the out-of-order execution pipeline.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by having each instruction carry its own count value that automatically indicates its retryability status. When an error is detected, the instruction with the matching count value automatically identifies itself as retryable, eliminating the need for external control logic to analyze execution order and determine retryability. The instruction effectively serves its own retry determination function.

Inventive Principle:
Principle #25Self-service

2Reliability

If error detection is performed in out-of-order execution, then reliability can be improved, but processing performance deteriorates due to inability to accurately identify retryable instructions

Engineering Contradiction:
Improveerror detection capabilityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-assigning count values to each instruction indicating the number of cycles from completion before error detection occurs. This allows the system to quickly determine retryability by simply comparing the pre-calculated count value with the error detection cycle, rather than performing complex analysis after an error occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses count values as distinctive identifiers (analogous to color changes) that immediately indicate the retryability status of each instruction. When an error is detected at a specific cycle, the system can instantly identify retryable instructions by matching the error cycle with the pre-assigned count values, providing clear and immediate differentiation between retryable and non-retryable instructions without complex analysis.

Inventive Principle:
Principle #32Color changes

3Reliability

If the system commits instructions in order to maintain coherency, then reliability improves, but productivity decreases due to waiting for earlier instructions to complete

Engineering Contradiction:
Improvetransaction coherencyVSAvoidinstruction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and assigning count values to instructions based on their completion timing before actual execution and error detection occur. This allows the system to maintain out-of-order execution for high throughput while using the pre-assigned count values to ensure correct retryability determination, effectively decoupling execution order from commit order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback by continuously tracking the count values of instructions in the out-of-order execution pipeline and comparing them with error detection cycles. This feedback mechanism ensures that even though instructions are executed out of order, the system can accurately identify which instructions should be retried to maintain coherency, allowing aggressive out-of-order execution without sacrificing reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11842192B2Arithmetic processing device and semiconductor device with improved instruction retry
Publication Date: 2023.12.12 FUJITSU LTD
  • US11842192B2 patent drawing
  • US11842192B2 patent drawing
  • US11842192B2 patent drawing

AI summary

An arithmetic processing device, includes a memory; and a processor coupled to the memory and the processor configured to: execute arithmetic processing which executes a plurality of instructions issued out of order, execute control processing which commits the plurality of instructions for which execution has been completed in order, identify, for each instruction included in the plurality of instructions, a count value which indicates a number of cycles from when execution of the instruction has been completed, and identify, among a plurality of uncommitted instructions, the instruction with the count value which matches the number of cycles in which an error is detected in the arithmetic processing as a specific instruction to be retried.