Proxy Identifier Hazard Checking Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently performing hazard checking between data access transactions due to the large size of physical addresses, which requires large comparators, increasing power consumption and complicating circuit timing.

Innovation Solution

The use of proxy identifiers with fewer bits than physical addresses, combined with translation lookaside buffers (TLBs) and hazard checking circuitry, allows for efficient detection of hazards by comparing TLB entry identifiers instead of full physical addresses, reducing comparator size and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full physical addresses are used for hazard checking, then accurate hazard detection is achieved, but comparator size and power consumption increase

Engineering Contradiction:
Improvehazard detection accuracyVSAvoidcomparator power consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The physical address is segmented into a proxy identifier portion and a remaining portion. The hazard checking circuitry compares only the proxy identifier portions of addresses, which are smaller than full physical addresses. This segmentation maintains hazard detection accuracy for addresses within the same translation lookaside buffer (TLB) entry while reducing comparator size and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A proxy identifier is introduced as an intermediary representation of the physical address. Instead of comparing full physical addresses directly, the system compares these simplified proxy identifiers. The proxy identifier acts as a mediator that preserves the essential comparison functionality while reducing the complexity and power consumption of the hazard checking operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If full physical addresses are used for hazard checking, then accurate hazard detection is achieved, but circuit complexity and area increase

Engineering Contradiction:
Improvehazard detection accuracyVSAvoidcomparator circuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The physical address comparison function is segmented into two parts: proxy identifier comparison and full address comparison. The hazard checking circuitry first compares the smaller proxy identifier portions, which reduces the complexity and area of the primary comparison logic. This segmentation allows the system to maintain accurate hazard detection while using simpler, smaller comparators for the most common case.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If proxy identifiers with fewer bits are used, then comparator size and power consumption are reduced, but address translation timing may be affected

Engineering Contradiction:
Improvecomparator power consumptionVSAvoidaddress translation time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The proxy identifier is determined and prepared in advance as part of the address translation process, before the actual hazard checking occurs. By pre-computing and storing the proxy identifier alongside the physical address in the translation lookaside buffer (TLB), the system eliminates the need for time-consuming full address comparisons during hazard checking, thus reducing the time penalty while maintaining energy savings.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10877901B2Method and apparatus for utilizing proxy identifiers for merging of store operations
Publication Date: 2020.12.29 ARM LTD
  • US10877901B2 patent drawing
  • US10877901B2 patent drawing
  • US10877901B2 patent drawing

AI summary

An apparatus comprises processing circuitry to process data access operations specifying a virtual address of data to be loaded from or stored to a data store, and proxy identifier determining circuitry to determine a proxy identifier for a data access operation to be processed by the data access circuitry, the proxy identifier having fewer bits than a physical address corresponding to the virtual address specified by the data access operation. The processing circuitry comprises at least one buffer to buffer information (including the proxy identifier) associated with one or more pending data access operations awaiting processing. Address translation circuitry determines the physical address corresponding to the virtual address specified for a data access operation after that data access operation has progressed beyond said at least one buffer.