In-Order Processor Checkpointing via Register Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-order processors lack the ability to efficiently capture and restore previous architectural states for speculative processing, transactional memory, and branch prediction, as they cannot reorder instruction execution or remap registers, limiting their performance and efficiency compared to out-of-order processors.

Innovation Solution

The implementation of a mapping storage element and a checkpoint storage element in in-order processing circuitry, which allows for the mapping of architectural registers to a larger set of physical registers and the storage of checkpoint register mapping information, enabling efficient capture and restoration of previous architectural states without transferring register data, thereby supporting transactional memory, branch prediction, and load speculation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If in-order processing is used to reduce hardware resources and energy consumption, then energy efficiency is improved, but the ability to capture and restore architectural states for speculative processing is lost

Engineering Contradiction:
Improveenergy efficiencyVSAvoidability to capture and restore architectural states
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

The patent extracts the checkpointing functionality from the execution pipeline and implements it in the register renaming stage. By taking out the state capture operation from the main execution flow and placing it where register mappings are already being managed, the system gains speculative processing capability without adding complex checkpointing logic to the in-order execution path, thus maintaining energy efficiency while gaining adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the checkpointing function with the existing register renaming mechanism. The checkpoint storage element uses the same mapping information infrastructure that already exists for register allocation, combining two functions (state capture and register management) into a unified system. This avoids duplicating hardware resources and maintains energy efficiency while enabling architectural state restoration.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If out-of-order processing is used to enable speculative execution and improve performance, then productivity is improved, but device complexity and energy consumption increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidhardware resource requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements partial out-of-order capability by enabling speculative execution only for branch prediction and transactional memory scenarios, while maintaining in-order processing for the core execution path. The checkpointing mechanism is selectively activated only when speculative execution is needed, providing performance benefits in specific scenarios without the full complexity of complete out-of-order processing.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If out-of-order processing is used to execute independent instructions ahead, then productivity is improved, but device complexity increases due to greater hardware resources required

Engineering Contradiction:
Improveinstruction throughputVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the processing into two distinct paths: a simple in-order execution path for regular instructions and a speculative execution path for branch prediction and transactional memory operations. Each path has its own checkpoint storage element, allowing independent optimization. The speculative path can execute ahead when needed while the main path remains simple and efficient, avoiding the need for complex out-of-order hardware throughout the entire processor.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11055096B2Checkpointing of architectural state for in order processing circuitry
Publication Date: 2021.07.06 ARM LTD
  • US11055096B2 patent drawing
  • US11055096B2 patent drawing
  • US11055096B2 patent drawing

AI summary

An in-order processor has a mapping storage element to store current register mapping information identifying, for each of two or more architectural register specifiers, which physical register specifies valid data for that architectural register specifier. At least one checkpoint storage element stores checkpoint register mapping corresponding to a checkpoint of previous architectural state. This enables checkpoints to be saved and restored simply by transferring mapping information between the mapping and checkpoint storage elements, rather than transferring the actual state data.