Dynamic Mapping Circuitry for Branch Target Buffer Aliasing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing branch prediction mechanisms face inefficiencies due to data access conflicts in branch target buffers (BTBs) caused by aliasing, where multiple branch addresses with different attributes are mapped to the same memory locations, leading to frequent evictions and wasteful storage usage.
Innovation Solution
The implementation of location selection circuitry that varies the mapping relationship for data items in response to detected data access conflicts, allowing for dynamic allocation and replacement of data items in memory locations, thereby alleviating aliasing issues and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a fixed mapping relationship is used in the branch target buffer, then the mapping is simple and fast, but data access conflicts occur when multiple branch addresses are mapped to the same memory locations
Solution Approach 1:
The patent applies dynamics by making the mapping relationship variable rather than fixed. The location selection circuitry dynamically selects between a first mapping relationship and a second mapping relationship based on detected data access conflicts. When conflicts are detected, the system switches to an alternative mapping relationship, thereby adapting to changing conditions and reducing conflicts while maintaining fast access.
2Productivity
If multiple data items are stored in the branch target buffer, then the buffer utilization increases, but data access conflicts increase when different branch addresses map to the same locations
Solution Approach 1:
The patent changes the mapping parameters dynamically. When data access conflicts are detected, the system alters the mapping relationship by switching between different mapping functions or hash algorithms. This parameter change allows the same buffer to accommodate multiple data items with reduced conflicts, effectively increasing productive utilization while maintaining reliability.
3Device complexity
If a single mapping relationship is used for all data items, then the circuitry is simple, but data access conflicts occur when different attributes map to the same memory locations
Solution Approach 1:
The patent implements multi-functionality in the location selection circuitry, which is capable of performing multiple mapping functions. The circuitry can select from a first mapping relationship and a second mapping relationship based on the detected data access conflicts. This universal circuitry maintains relative simplicity while providing multiple mapping capabilities to reduce conflicts.
4Adaptability or versatility
If data items are frequently evicted due to mapping conflicts, then new data items can be stored, but performance degrades due to repeated evictions and refetches
Solution Approach 1:
The patent takes preliminary action by detecting data access conflicts and switching mapping relationships before performance degradation occurs. The location selection circuitry monitors for conflicts and proactively changes the mapping relationship to prevent excessive evictions, thereby maintaining prediction performance and avoiding the time loss associated with repeated evictions and refetches.
Data Source
AI summary
Circuitry comprises memory circuitry providing a plurality of memory locations;location selection circuitry to select a set of one or more of the memory locations by which to access a data item according to a mapping relationship between an attribute of the data item and the set of one or more memory locations; the location selection circuitry being configured to initiate an allocation operation for a data item when that data item is to be newly stored by the memory circuitry and the selected set of one or more of the memory locations are already occupied by one or more other data items, the allocation operation comprising an operation to replace at least a subset of the one or more other data items from the set of one or more memory locations by the newly stored data item; and detector circuitry to detect a data access conflict in which a group of two or more data items having different respective attributes are mapped by the mapping relationship to the same set of one or more memory locations; the location selection circuitry being configured to vary the mapping relationship applicable to the attribute of at least one data item of the group of two or more data items in response to a detection by the detector circuitry of a data access conflict.


