Speculative Counter Carry Suppression in Processor Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of ensuring accurate values in speculative Performance Monitor Counters (PMCs) is increased by carry bits, particularly in architectures like POWER10, due to speculative event uncertainty, leading to challenges in scheduling, priority management, and pipelining within the RAM array.

Innovation Solution

Implementing speculative counters with a primary pre-counter and a secondary backup, where the carry output is suppressed and stored in a latch during the speculative event period, allowing the primary pre-counter to wrap to 0 and pause when reaching a maximum value, and updating the secondary pre-counter only upon confirmation of the event, thereby reducing unnecessary updates to the RAM array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If carry bits are propagated from pre-counter to RAM array during speculative events, then counting accuracy is maintained, but device complexity and power consumption increase due to unnecessary updates

Engineering Contradiction:
Improvecounting accuracyVSAvoidcomplexity of managing speculative carries
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the carry bit management from the main counting path by introducing a separate speculative carry latch. The carry bit is captured in the latch during speculative events and only propagated to the RAM array when the speculation is confirmed, separating the speculative carry handling from the deterministic carry propagation path.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary capture of the carry bit in the speculative carry latch during the speculative event period, before knowing whether the speculation will be confirmed. This preliminary action allows the system to prepare the carry bit for potential propagation without actually updating the RAM array until confirmation, avoiding unnecessary updates.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If carry bits are suppressed during speculative events, then power consumption and update overhead are reduced, but counting accuracy may be compromised

Engineering Contradiction:
Improvepower consumptionVSAvoidcounting accuracy
Core Design Contradiction:
Loss of energyVSMeasurement precision

Solution Approach 1:

The speculative carry latch acts as an intermediary between the pre-counter and the RAM array. It temporarily holds the carry bit during speculative events, preventing unnecessary propagation to the RAM array and reducing power consumption, while preserving the carry bit for potential later propagation if the speculation is confirmed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The carry bit is preliminarily captured in the speculative carry latch during the speculative period, allowing the system to avoid unnecessary RAM array updates and reduce power consumption. The carry bit remains preserved in the latch and can be propagated later if needed, maintaining accuracy without the immediate overhead of continuous updates.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If pre-counter capacity is increased to handle speculative events, then full counting capacity is maintained, but device complexity increases

Engineering Contradiction:
Improvefull capacity for speculative eventsVSAvoidcomplexity of pre-counter and RAM array coordination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the counter into distinct functional parts: the pre-counter for speculative event counting, the speculative carry latch for temporary carry storage, and the RAM array for confirmed updates. This segmentation allows each component to operate independently with well-defined interfaces, managing complexity through functional separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The speculative carry latch serves as an intermediary component that simplifies the coordination between the pre-counter and RAM array. It absorbs the complexity of speculative carry handling, allowing the pre-counter to maintain full capacity for speculative events while the RAM array only receives confirmed updates, reducing the coordination complexity between them.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11620134B2Constrained carries on speculative counters
Publication Date: 2023.04.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11620134B2 patent drawing
  • US11620134B2 patent drawing
  • US11620134B2 patent drawing

AI summary

A computer-implemented method for of constrained carries on speculative counters includes providing one or more speculative counters having an upper portion of most significant bits partially embedded in a random-access memory (RAM) array, and a pre-counter portion external to the RAM array having a plurality of least significant bits. The one or more speculative counters are configured to count a plurality of events of interest during a processor core instruction execution. A carry output from the pre-counter portion to the RAM array is suppressed for a duration of a speculative event period.