Collision-Based Alternate Hashing for Instruction Prefetch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited storage capacity of history tables in processors leads to collisions when mapping instruction addresses, impeding the independent tracking of distinct event streams, which can cause delays and inefficiencies in prefetching operations.

Innovation Solution

Implementing collision-based alternate hashing by using an alternate hash buffer to dynamically vary the hashing scheme, allowing multiple event streams with the same instruction address hash to be tracked separately, and activating alternate hashing when collisions exceed certain thresholds, using a content addressable memory (CAM) for efficient mapping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single hashing function is used to map instruction addresses to history table locations, then the history table can be accessed efficiently, but collisions occur when instruction addresses map to the same hash, impeding independent tracking of distinct event streams

Engineering Contradiction:
Improveprefetching efficiencyVSAvoidevent stream tracking accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically switches between a primary hashing function and an alternate hashing function based on collision detection. When collisions are detected in the primary hash table, the system activates the alternate hash table to track the colliding event streams independently, thereby maintaining both efficient access and accurate tracking.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an alternate hash table as an intermediary structure to resolve collisions. This alternate table acts as a mediator that receives colliding event streams from the primary hash table and tracks them separately, preventing the collisions from impeding independent tracking while maintaining the efficiency of the primary hashing scheme.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the history table storage capacity is increased to reduce collisions, then more event streams can be tracked independently, but the device complexity and cost increase

Engineering Contradiction:
Improveevent stream tracking accuracyVSAvoidhistory table structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The history table is segmented into multiple hash tables (primary and alternate) that are activated based on collision detection. This segmentation allows the system to maintain a compact primary table for normal operation while having the option to activate additional table segments only when needed, thereby reducing average complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the hashing parameter (switching between primary and alternate hashing functions) based on collision detection. This parameter change allows the same physical storage structure to serve different purposes under different conditions, effectively increasing tracking capacity without proportionally increasing physical storage requirements or complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If alternate hashing is activated for all instruction addresses, then no collisions occur and all event streams are tracked independently, but the processing overhead and latency increase

Engineering Contradiction:
Improveevent stream tracking accuracyVSAvoidprefetching latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of activating alternate hashing for all instruction addresses, the system applies it partially - only when collisions are detected. This partial action approach maintains the simplicity and speed of single hashing for the majority of cases while providing collision resolution capability when needed, thereby minimizing processing overhead and latency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9250913B2Collision-based alternate hashing
Publication Date: 2016.02.02 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US9250913B2 patent drawing
  • US9250913B2 patent drawing
  • US9250913B2 patent drawing

AI summary

Embodiments relate to collision-based alternate hashing. An aspect includes receiving an incoming instruction address. Another aspect includes determining whether an entry for the incoming instruction address exists in a history table based on a hash of the incoming instruction address. Another aspect includes based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry. Another aspect includes based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address. Another aspect includes based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using an alternate hash buffer.