Multi-Slice Processor History Buffer Flush Signal Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processors face inefficiencies in operation speed and power consumption, particularly in multi-slice processors where flush and recovery operations are complex and can halt dispatch of new instructions, affecting overall performance.

Innovation Solution

A multi-slice processor architecture that includes execution slices and load/store slices coupled via a results bus, with a history buffer storing transactional memory state data, allowing for efficient propagation of flush signals to restore transactional memory states, enabling seamless flush and recovery operations without halting new instruction dispatch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flush and recovery operations are implemented in multi-slice processors, then transactional memory state integrity is maintained, but dispatch of new instructions is halted, reducing operation speed

Engineering Contradiction:
Improvetransactional memory state integrityVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The processor is divided into multiple execution slices and load/store slices that can operate independently. When a flush operation is needed in one slice, other slices can continue executing instructions without interruption. The history buffer is also segmented into multiple entries that can be managed independently, allowing partial restoration of transactional states without halting the entire processor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The history buffer pre-stores transactional memory state information in multiple entries before flush operations are needed. This preliminary storage of state data allows for rapid restoration during flush operations without requiring complex computations or halting instruction dispatch. The state information is captured and maintained in advance, enabling quick recovery when needed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If complex flush and recovery operations are performed, then transactional memory state is restored accurately, but power consumption increases

Engineering Contradiction:
Improvetransactional memory state restoration accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Transactionel memory state information is pre-captured and stored in the history buffer entries during normal operation. This preliminary action eliminates the need for complex restoration computations during flush operations, as the state data is already available in a ready-to-use format. The pre-stored information can be quickly restored with minimal processing, significantly reducing power consumption during recovery operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The history buffer maintains copies of transactional memory state information in multiple entries. Instead of recomputing or complexly restoring states during flush operations, the processor can directly retrieve and restore from these pre-existing copies. This copying approach simplifies the restoration process and reduces the computational energy required for accurate state recovery.

Inventive Principle:
Principle #26Copying

3Ease of operation

If history buffer stores transactional memory state data for all slices, then recovery operations are simplified, but device complexity increases

Engineering Contradiction:
Improverecovery operation simplicityVSAvoidprocessor architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The history buffer is segmented into multiple independent entries, each capable of storing transactional state information for different slices or transaction contexts. This segmentation allows the buffer to handle multiple restoration operations simultaneously or independently, simplifying recovery operations. The modular structure of segmented entries makes the complexity manageable through standardized, repeatable units rather than a monolithic complex structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The history buffer entries are designed with universal functionality to handle various types of transactional memory states across different execution slices. Each entry can store and restore state information for any slice, making the buffer structure versatile and reducing the need for slice-specific restoration logic. This multi-functionality simplifies recovery operations by providing a unified mechanism for all slices while maintaining a relatively simple, standardized buffer architecture.

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

Data Source

PatentUS9971687B2Operation of a multi-slice processor with history buffers storing transaction memory state information
Publication Date: 2018.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9971687B2 patent drawing
  • US9971687B2 patent drawing
  • US9971687B2 patent drawing

AI summary

A multi-slice processor that includes execution slices, and a history buffer, where the history buffer includes a plurality of entries, where at least one of the entries includes transactional memory state data that corresponds to a transactional memory instruction updating a transaction memory state, and where operation of such a multi-slice processor includes: propagating a flush signal to the plurality of entries of the history buffer; responsive to the flush signal, generating, from an entry of the history buffer, the transactional memory state data; and restoring to a transactional memory state in dependence upon the transactional memory state data.