Circular Queue Wrap-Bit Validation for Speculative Reads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing circular queue management in processors lacks efficient speculative reads, leading to increased latency, reduced performance, and higher gate counts, which affect power consumption and complexity.

Innovation Solution

Implement a circular queue with a head and tail pointer, each having an index and a wrap bit, to determine the validity of data without destructive reads, enabling nondestructive speculative reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional circular queue management is used, then the structure is simple, but speculative reads require additional logic gates increasing complexity

Engineering Contradiction:
Improvespeculative read capabilityVSAvoidgate count
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The circular queue uses its existing head and tail pointers to self-determine data validity through wrap bit comparison, eliminating the need for external validity bits or additional control logic. The queue structure serves its own validation function by comparing wrap bits of head and tail pointers to determine if data at a given index is valid, enabling speculative reads without additional gates.

Inventive Principle:
Principle #25Self-service

2Productivity

If nondestructive speculative reads are implemented, then performance improves, but additional logic gates increase power consumption

Engineering Contradiction:
Improveprocessor performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The circular queue structure determines data validity itself by comparing wrap bits of head and tail pointers, eliminating the need for additional validation logic that would consume power. The existing pointer mechanism serves dual purposes: tracking queue state and validating speculative read targets, reducing overall power consumption while enabling performance-improving speculative reads.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If validity determination uses additional bits per entry, then read validity is accurate, but memory bandwidth is consumed

Engineering Contradiction:
Improvedata validity determinationVSAvoidmemory bandwidth usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts the validity determination function from the data entries themselves and relocates it to the queue's control structure (head and tail pointers). Instead of storing validity information in each entry, the system uses the relationship between head and tail pointer wrap bits to determine validity, removing unnecessary data from memory entries and reducing memory bandwidth consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

4Device complexity

If destructive reads are used, then the structure is simple, but data integrity is compromised

Engineering Contradiction:
Improvestructure simplicityVSAvoiddata integrity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system performs preliminary validation of the read target by comparing wrap bits before executing the read operation. This preliminary action determines whether the data at the target index is valid (not yet overwritten by tail pointer advancement), allowing the read to proceed safely without compromising data integrity while maintaining structural simplicity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250342127A1Circular queue management with nondestructive speculative reads
Publication Date: 2025.11.06 AKEANA INC
  • US20250342127A1 patent drawing
  • US20250342127A1 patent drawing
  • US20250342127A1 patent drawing

AI summary

Techniques for managing computer processors that implement speculative reads are disclosed. A circular queue is accessed. The circular queue comprises a plurality of entries and includes a head pointer and a tail pointer. The head pointer and the tail pointer move independently in a single direction within the circular queue. A software agent selects a read entry associated with a read index within the circular queue. A validity of the read entry is interpreted based on a head wrap bit, a tail wrap bit, a read index, a head index, and a tail index. The circular queue returns an invalid signal to the software agent. The read entry is not modified when the read entry is interpreted as invalid. The circular queue sends data within the read entry to the software agent. The head wrap bit is calculated to be equal to the tail wrap bit.