Memory address space determination using programmable limit registers with single-ended comparators
First Claim
1. An apparatus for determining if a memory address value developed in a computer system is within a plurality of memory address regions, the computer system including a microprocessor, system memory, and a system memory address space comprising a predefined intermediate memory address value, the apparatus comprising:
- means for generating a signal which indicates whether said developed memory address value is greater than the intermediate memory address value;
a first storing means for storing a first memory address value which serves as a first boundary of a first memory address region;
a second storing means for storing a second memory address value which serves as a first boundary of a second memory address region;
a third storing means for storing a third memory address value which serves as a first boundary of a third memory address region;
a first comparing means coupled to said first storing means for comparing said developed memory address value with said first memory address value, wherein said first comparing means only determines whether said developed memory address value is less than the memory address value stored in said first storing means and generates a first signal indicative thereof, said first indicating signal indicating that said developed memory address value resides in said first memory address region based only on whether said developed memory address value is less than said first memory address value stored in said first storing means;
a second comparing means coupled to said second storing means for comparing said developed memory address value with said second memory address value, wherein said second comparing means only determines whether said developed memory address value is greater than or equal to said second memory address value stored in said second storing means and generates a second signal indicative thereof, said second indicating signal indicating that said developed memory address value resides in said second memory address region based only on whether said developed memory address value is greater than or equal to said second memory address value stored in said second storing means; and
a third comparing means coupled to said third storing means for receiving said intermediate address indicating signal and for comparing said developed memory address value with said third memory address value, wherein said third comparing means determined whether said developed memory address value resides between the memory address value stored in said third storing means and the intermediate memory address value using only the third memory address value stored in said third storing means and said intermediate address indicating signal and generates a third signal indicative thereof, said third indicating signal indicating that said developed memory address value resides in said third memory address region if said developed memory address value resides between the memory address value stored in said third storing means and the intermediate memory address value.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for determining cacheable address and write-protect memory address regions in a computer system which includes a programmable single-ended limit register and a single comparator to determine each such region. A programmable limit register associated with each respective memory address region defines a boundary limit for each of the respective memory regions. A single address comparator associated with each respective limit register determines whether a memory address developed by the computer system resides between the respective boundaries provided by the value stored in the respective programmable limit register and a predefined address. The use of a single limit register and a single address comparator for each memory address region reduces the gate count and decreases the input buffer loading in the logic circuitry.
467 Citations
13 Claims
-
1. An apparatus for determining if a memory address value developed in a computer system is within a plurality of memory address regions, the computer system including a microprocessor, system memory, and a system memory address space comprising a predefined intermediate memory address value, the apparatus comprising:
-
means for generating a signal which indicates whether said developed memory address value is greater than the intermediate memory address value; a first storing means for storing a first memory address value which serves as a first boundary of a first memory address region; a second storing means for storing a second memory address value which serves as a first boundary of a second memory address region; a third storing means for storing a third memory address value which serves as a first boundary of a third memory address region; a first comparing means coupled to said first storing means for comparing said developed memory address value with said first memory address value, wherein said first comparing means only determines whether said developed memory address value is less than the memory address value stored in said first storing means and generates a first signal indicative thereof, said first indicating signal indicating that said developed memory address value resides in said first memory address region based only on whether said developed memory address value is less than said first memory address value stored in said first storing means; a second comparing means coupled to said second storing means for comparing said developed memory address value with said second memory address value, wherein said second comparing means only determines whether said developed memory address value is greater than or equal to said second memory address value stored in said second storing means and generates a second signal indicative thereof, said second indicating signal indicating that said developed memory address value resides in said second memory address region based only on whether said developed memory address value is greater than or equal to said second memory address value stored in said second storing means; and a third comparing means coupled to said third storing means for receiving said intermediate address indicating signal and for comparing said developed memory address value with said third memory address value, wherein said third comparing means determined whether said developed memory address value resides between the memory address value stored in said third storing means and the intermediate memory address value using only the third memory address value stored in said third storing means and said intermediate address indicating signal and generates a third signal indicative thereof, said third indicating signal indicating that said developed memory address value resides in said third memory address region if said developed memory address value resides between the memory address value stored in said third storing means and the intermediate memory address value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for determining if a memory address value developed in a computer system is within any of a plurality of memory address regions, the computer system having a given address space, the address space being divided into regions based on the beginning of the address space and a memory address value intermediate in the address space, the apparatus comprising:
-
means for performing an address decode of said developed memory address value to determine if said developed memory address value is greater than the intermediate memory address value and for producing an intermediate address decode signal indicative thereof; a first storing means for storing a first memory address value associated with a first memory address region at the beginning of the address space; a second storing means for storing a second memory address value associated with a second memory address region having one boundary at the intermediate memory address value; a third storing means for storing a third memory address value associated with a third memory address region having one boundary at the intermediate memory address value; a first comparing means for comparing the developed memory address with said first memory address value stored in said first storing means and determining if said developed memory address value is less than said stored first memory address value, said first comparing means generating a signal indicating whether the developed memory address value resides in said first address region based only on said comparison of the developed memory address value with said first memory address value stored in said first storing means; a second comparing means for receiving said intermediate address decode signal and for comparing the developed memory address value with said second memory address value stored in said second storing means and for determining if said developed memory value is greater than said stored second memory address value and producing a second signal indicative thereof and for defeating operation of said determining if said intermediate address decode signal indicates that said developed memory address value is greater than said second memory address value, said second indicating signal indicating whether the developed memory address value resides in said second address region based only on said comparison of the developed memory address value with said second memory address value stored in said second storing means and said intermediate address decode signal; and a third comparing means for receiving said intermediate address decode signal and for comparing the developed memory address value with said third memory address value stored in said third storing means and for determining if said developed memory address value is less than said stored third memory address value and producing a signal indicative thereof and for defeating operation of said determining if said intermediate address decode signal indicates that said developed memory address value is not greater than the intermediate address value, said third indicating signal indicating whether the developed memory address value resides in said third address region based only on said comparison of the developed memory address value with said third memory address value stored in said third storing means and said intermediate address decode signal. - View Dependent Claims (13)
-
Specification