Processor Contracted Address Generator for Conflict Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In processors with SIMD function units, the large number of comparators required for parallel address comparison increases the circuit scale, leading to inefficiencies in detecting address conflicts during memory access instructions.
Innovation Solution
A processor design that includes a contracted address generator to reduce multiple addresses to a single contracted address, a conflict detector to compare this address with addresses in a queue, and an access controller to manage memory access based on detection results, thereby reducing the circuit scale and improving processing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple comparators are provided for comparing multiple addresses in parallel, then address conflict detection capability is improved, but circuit scale increases considerably
Solution Approach 1:
The patent segments the address comparison task into two phases: first, a contracted address generator compresses multiple addresses into a single contracted address representing their common prefix; second, a single comparator compares this contracted address with addresses in the queue. This segmentation replaces multiple parallel comparators with a combination of address compression logic and a single comparator, significantly reducing circuit scale while maintaining detection capability.
Solution Approach 2:
The contracted address acts as an intermediary between the multiple input addresses and the single comparator. By introducing this intermediate representation that captures the essential conflict-detection information (common prefix), the system avoids the need for multiple direct comparators, thus resolving the contradiction between detection capability and circuit complexity.
2Speed
If multiple addresses are compared in parallel using multiple comparators, then processing speed is improved, but device complexity increases
Solution Approach 1:
The contracted address generator performs preliminary action by compressing multiple addresses into a single representative address before the comparison step. This pre-processing eliminates the need for multiple parallel comparators, reducing device complexity while maintaining efficient conflict detection speed through the streamlined single-comparator approach.
3Manufacturing precision
If a load-store queue holds multiple addresses for in-order commitment, then instruction ordering accuracy is improved, but the number of addresses to be compared increases
Solution Approach 1:
The patent applies segmentation by separating the address storage function (load-store queue maintaining multiple addresses for ordering) from the address comparison function (using contracted address + single comparator). This allows the queue to maintain full address information for accurate in-order commitment while the comparison mechanism uses compressed representation, thus maintaining ordering accuracy without proportionally increasing comparator count.
Solution Approach 2:
The contracted address serves as an intermediary that enables the load-store queue to maintain multiple addresses for accurate ordering while using a simplified single-comparator mechanism for conflict detection. The intermediary preserves the essential information needed for both ordering accuracy and conflict detection without requiring multiple full-address comparators.
Data Source
AI summary
A processor includes a queue configured to hold a memory access instruction including one or more addresses, a contracted address generator configured to generate a contracted address by contracting bits of multiple addresses in a case where the memory access instruction includes the multiple addresses, a conflict detector configured to detect a conflict between the contracted address and the address held in the queue, and an access controller configured to control processes of the memory access instruction held in the queue, based on a detection result of the conflict detector.


