Address Comparison Logic Using Segmented XOR and Full Comparators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing address comparison methods require multiple expensive full comparators and consume significant semiconductor area and power, especially when dealing with complex memory segment restrictions, leading to inefficiencies in memory protection and translation processes.

Innovation Solution

The method optimizes the use of full comparators by allocating them for comparing intermediate portions of the input address and memory segment boundaries, while using XOR logic gates for the most significant portions, allowing for flexible memory segment selection based on size and alignment restrictions, thereby reducing the number of comparators needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple full comparators are used for parallel address comparison, then comparison speed is improved, but semiconductor area and power consumption increase

Engineering Contradiction:
Improveaddress comparison speedVSAvoidsemiconductor area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The address comparison process is segmented into three distinct portions: most significant portion (using XOR logic), intermediate portion (using full comparators), and least significant portion (using simple logic). This segmentation allows different comparison strategies for different bit ranges, reducing the total number of full comparators needed while maintaining parallel comparison capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different comparison methods are applied locally to different portions of the address based on their significance and the restrictions imposed on memory segments. The most significant portion uses XOR logic for efficiency, the intermediate portion uses full comparators for precise comparison, and the least significant portion uses simple logic, optimizing resource usage for each local region.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If full comparators are used for each bit of address, then memory segment location flexibility is improved, but resource consumption increases

Engineering Contradiction:
Improvememory segment location flexibilityVSAvoidcomparator resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of using full comparators for every bit of the address (excessive action), the patent applies full comparators only to the intermediate portion (partial action). The most significant and least significant portions are handled with simpler logic, achieving sufficient flexibility for memory segment placement without the resource cost of full comparators throughout the entire address space.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If multiple comparison modules are deployed, then address comparison accuracy is improved, but power consumption increases

Engineering Contradiction:
Improveaddress comparison accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by stationary object

Solution Approach 1:

The comparison accuracy is segmented across different logic types for different address portions. The intermediate portion uses full comparators for accurate comparison, while the most and least significant portions use more power-efficient logic. This segmentation maintains overall comparison accuracy while reducing total power consumption compared to using full comparators for all portions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8095769B2Method for address comparison and a device having address comparison capabilities
Publication Date: 2012.01.10 NXP USA INC
  • US8095769B2 patent drawing
  • US8095769B2 patent drawing
  • US8095769B2 patent drawing

AI summary

A method for address comparison, the method includes: (i) receiving an input address; (ii) determining whether the input address is within a memory segment out of a group of memory segments by comparing, in parallel, the input address to memory segment boundaries of each memory segment of the group; (iii) wherein a comparison between the input address and a memory segment boundary comprises: (a) applying a XOR operation on bits of a most significant portion of the input address and corresponding bits of a most significant portion of the memory segment boundary; (b) ignoring bits of a least significant portion of the input address and corresponding bits of a least significant portion of the memory segment boundary; and (c) comparing, by utilizing a set of full comparators, between bits of an intermediate portion of the input address and corresponding bits of an intermediate portion of the memory segment boundary; wherein a location of bits that form the intermediate portion of the input address and of the memory segment boundary is selected in response to an alignment restriction imposed on the memory segment, to a size of the memory segment and in response to a boundary restriction imposed on the memory segment.