Patent US4658110A successfully refreshed from Google Patents.
US4495565A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Computer memory address matcher and process
Assignee: Nokia Bell Labs
•
Filing: 1981-11-09
•
Granted: 1985-01-22
•
Expires: 2001-11-09
Abstract
Abstract An address matcher and process for same used as an aid in debugging computer programs. Each of a plurality of random access memories (RAMs) is addressed by a different subfield of a computer memory address so that each access of the computer memory also causes a read of each of the RAMs. Each RAM is programmed with encoded data to define upper and lower block addresses for that subfield of the computer memory address with which it is associated. An output circuit decodes the encoded data read from each of the RAMs as a result of a computer memory access and generates a signal if the computer memory address lies within the monitored address block.
Inventors
- 👤 Dennis J. Thompson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 02:31
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3648
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
252 words
For use in a system having a computer memory with a plurality of addressable storage locations, a computer, and an address bus interconnecting the computer and memory for specifying a unique address of a said location in the memory on a memory read or write transaction, an address matcher for detecting memory read and write transactions to a memory address within a block of consecutive computer memory addresses specified by a lower block address and an upper block address, CHARACTERIZED BY a plurality of matcher memories (30, 31, 32) each having a plurality of storage words individually addressable and a word address for each matcher memory being a different portion of said unique address and being supplied by a different prescribed subfield (ADDRO-7, ADDR8-15 ADDR16-23) of the computer memory address bus (ADDRO-23) to output data contained in a word of each matcher memory identified by the word address in the respective subfield and the data of each word of each matcher memory containing indications defining whether or not a word address used to address a matcher memory is within a range having lower and upper boundaries equal to values contained in respective subfields of the lower and upper block addresses corresponding to the subfields of the computer memory address bus supplying the word address, and means (34, 35) responsive to the indications from each of the matcher memories occurring as a result of a memory transaction for determining if the computer memory address lies within the specified block of consecutive memory addresses.
Claim 2
Dependent Claim
252 words
For use in a system having a computer memory with a plurality of addressable storage locations, a computer, and an address bus interconnecting the computer and memory for specifying a unique address of a said location in the memory on a memory read or write transaction, an address matcher for detecting memory read and write transactions to a memory address within a block of consecutive computer memory addresses specified by a lower block address and an upper block address, CHARACTERIZED BY a plurality of matcher memories (30, 31, 32) each having a plurality of storage words individually addressable and a word address for each matcher memory being a different portion of said unique address and being supplied by a different prescribed subfield (ADDRO-7, ADDR8-15 ADDR16-23) of the computer memory address bus (ADDRO-23) to output data contained in a word of each matcher memory identified by the word address in the respective subfield and the data of each word of each matcher memory containing indications defining whether or not a word address used to address a matcher memory is within a range having lower and upper boundaries equal to values contained in respective subfields of the lower and upper block addresses corresponding to the subfields of the computer memory address bus supplying the word address, and means (34, 35) responsive to the indications from each of the matcher memories occurring as a result of a memory transaction for determining if the computer memory address lies within the specified block of consecutive memory addresses.
Claim 3
Dependent Claim
118 words
The invention of claim 12 in which the means for combining the data outputted from the matcher memories further comprises first means (35) responsive to the data from each of the matcher memories pertaining to the lower block address for generating a first signal (35-C4) if the computer memory address is greater than or equal to the lower block address, second means (34) responsive to the data from each of the matcher memories pertaining to the upper block address for generating a second signal (34-C4) if the computer memory address is less than or equal to the upper block address, and third means (16) responsive to both of the first and second signals for generating the in-block signal.
Claim 4
Dependent Claim
17 words
The invention of claim 2 wherein the first and second generating means each comprises a binary adder.
Claim 5
Dependent Claim
188 words
The invention of claim 3 wherein each word of each matcher memory comprises a first bit associated with the lower block address of the specified block and set to a first prescribed binary state if its matcher memory word address is greater than or equal to a first prescribed value specified by that part of the lower block address corresponding to the subfield of the address bus used to address the matcher memory, a second bit associated with the lower block address and set to the first prescribed binary state if its matcher memory word address is greater than the first prescribed value, a third bit associated with the upper block address and set to the first prescribed binary state if its matcher memory word address is less than or equal to a second prescribed value specified by that part of the upper block address corresponding to the subfield of the address bus used to address the matcher memory, a fourth bit associated with the upper block address and set to the first binary state if its matcher memory word address is less than the second prescribed value.
Claim 6
Dependent Claim
81 words
The invention of claim 4 wherein the first generating means comprises means for adding a number formed by each of the first bits to a number formed by each of the second bits in which the additive order from least significant to most significant of the first and second bits corresponds to the order from the least significant to the most significant of the subfields of the computer memory address bus with which the individual first and second bits are associated.
Claim 7
Dependent Claim
81 words
The invention of claim 4 wherein the second generating means comprises means for adding a number formed by each of the third bits to a number formed by each of the fourth bits in which the additive order from least significant to most significant of the third and fourth bits corresponds to the order from the least significant to the most significant of the subfields of the computer memory address bus with which the individual third and fourth bits are associated.
Claim 8
Dependent Claim
29 words
The invention of claim 5 or claim 6 wherein the first and second generating means each comprises numerical carry output means for generating the respective first and second signals.
Claim 9
Dependent Claim
17 words
The invention of claim 2 wherein the first and second generating means each comprises a magnitude comparator.
Claim 10
Dependent Claim
189 words
The invention of claim 8 wherein each word of each matcher memory comprises a first bit associated with the lower block address and set to a first prescribed binary state if its matcher memory word address is less than or equal to a first prescribed value specified by that part of the lower block address corresponding to the subfield of the address bus used to address the matcher memory, a second bit associated with the lower block address and set to the first binary state if its matcher memory word address is greater than or equal to the first prescribed value, a third bit associated with the upper block address and set to the first binary state if its matcher memory word address is greater than or equal to a second prescribed value specified by that part of the upper block address corrsponding to the subfield of the address bus used to address the matcher memory, and a fourth bit associated with the upper block address and set to the first binary state if its matcher memory word address is less than or equal to the second prescribed value.
Claim 11
Dependent Claim
87 words
The invention of claim 9 wherein the first generating means comprises means for comparing the numerical state of a word formed by each of the first bits to the numerical state of a word formed by each of the second bits in which the order of comparison from least significant to most significant of the first and second bits corresponds to the order from least to most significant of the subfields of the computer memory address bus with which the individual first and second bits are associated.
Claim 12
Dependent Claim
87 words
The invention of claim 9 wherein the second generating means comprises means for comparing the numerical state of a word formed by each of the third bits to the numerical state of a word formed by each of the fourth bits in which the order of comparison from least significant to most significant of the third and fourth bits corresponds to the order from least to most significant of the subfields of the computer memory address bus with which the individual third and fourth bits are associated.
Claim 13
Dependent Claim
102 words
The invention of claim 1 wherein the data outputted from each of the matcher memories defines whether or not the respective word address addressing that matcher memory lies within a range identified by values of that part of the upper and lower block addresses corresponding to the subfield of the address bus that addresses the matcher memory, and the means for determining if the computer memory address lies within the specified block of consecutive memory addresses further comprises means for combining the outputted data from each of the matcher memories according to a prescribed algorithm to generated an in-block or out-of-block signal.
Claim 14
Dependent Claim
21 words
The invention of claim 12 further comprising means (21) for writing data into each of the words of the matcher memories.
Claim 15
Dependent Claim
142 words
The invention of claim 13 wherein each word of each matcher memory comprises a first binary storage bit defining whether or not the word address is less than a first prescribed value specified by that part of the upper block address corresponding to the subfield of the address bus used to address the matcher memory, a second binary storage bit defining whether or not the word address is less than or equal to said first prescribed value, a third binary storage bit defining whether or not the word address is greater than a second prescribed value specified by that part of the lower block address corresponding to the subfield of the address bus used to address the matcher memory, and a fourth binary storage bit defining whether or not the word address is greater than or equal to said second prescribed value.
Claim 16
Dependent Claim
190 words
In a system having a computer, a computer memory and a computer memory address bus interconnecting the computer and computer memory, a process of detecting when the computer memory is addressed within a prescribed block of consecutive addresses defined by largest and smallest block addresses, comprising the steps of in response to a read or write operation of the computer memory at an address contained on the address bus, reading encoded data from each of a plurality of second memories at individually addressable words of the second memories identified by subaddresses contained in prescribed subfields of the address bus, said encoded data from each second memory containing low range indications and high range indications specifying whether or not the subaddress used to access a respective second memory is within or without a range defined by the contents of subfields of the largest and smallest block addresses corresponding to the address bus subfield, and decoding the low and high range indications from each of the second memories according to a first algorithm to determine if the address of the read or write operation is within the prescribed block of consecutive addresses.
Claim 17
Dependent Claim
190 words
In a system having a computer, a computer memory and a computer memory address bus interconnecting the computer and computer memory, a process of detecting when the computer memory is addressed within a prescribed block of consecutive addresses defined by largest and smallest block addresses, comprising the steps of in response to a read or write operation of the computer memory at an address contained on the address bus, reading encoded data from each of a plurality of second memories at individually addressable words of the second memories identified by subaddresses contained in prescribed subfields of the address bus, said encoded data from each second memory containing low range indications and high range indications specifying whether or not the subaddress used to access a respective second memory is within or without a range defined by the contents of subfields of the largest and smallest block addresses corresponding to the address bus subfield, and decoding the low and high range indications from each of the second memories according to a first algorithm to determine if the address of the read or write operation is within the prescribed block of consecutive addresses.
Claim 18
Dependent Claim
99 words
The invention of claim 15 in which the high and low range indications in each word contain true and false states describing whether or not the subaddress of the word is equal to or less than the value in the corresponding subfield of the smallest block address and equal to or less than the value in the corresponding subfield of the largest block address, said method further comprising the steps of computing the high and low range indications for each word of the second memories according to a second prescribed algorithm, and writing the indications into the second memories.
Claim 19
Dependent Claim
202 words
The invention of claim 16 wherein the computing step comprises assigning a first prescribed binary state to a first bit of each word in each of the second memories if the address of the word satisfies a first numerical relationship with respect to the value of that part of the smallest block address which addresses the second memory, assigning the first presecribed binary state to a second bit of each word in each of the second memories if the address of the word satisfies a second numerical relationship with respect to the value of that part of the smallest block address which addresses the second memory, assigning the first prescribed binary state to a third bit of each word in each of the second memories if the address of the word satisfies a third numerical relationship with respect to the value of that part of the smallest block address which addresses the second memory, assigning the first prescribed binary state to a fourth bit of each word in each of the second memories if the address of the word satisfies a fourth numerical relationship with respect to the value of that part of the smallest block address which addresses the second memory.
Claim 20
Dependent Claim
35 words
The invention of claim 17 wherein the first, second, third and fourth numerical relationships are, respectively, (1) greater than or equal to (2) greater than, (3) less than or equal to, and (4) less than.
Claim 21
Dependent Claim
150 words
The invention of claim 18 wherein the decoding step comprises adding a number formed by the first bits of an addressed word of each of the second memories to a number formed by the second bits of the addressed word of each of the second memories, adding a number formed by the third bits of the addressed word of each of the second memories to a number formed by the fourth bits of the addressed word of each of the second memories, wherein the least significant ones of said bits are from the second memory addressed by the least significant subfield of the address bus and the most significant ones of said bits are from the second memory addressed by the most significant subfield of the address bus, and generating an address match indication if a binary carry indication is present from both of the immediately preceding two adding steps.
Claim 22
Dependent Claim
41 words
The invention of claim 17 wherein the first, second, third and fouth numerical relationships are, respectively, (1) less than or equal to (2) greater than or equal to, (3) greater than or equal to, and (4) less than or equal to.
Claim 23
Dependent Claim
103 words
The invention of claim 20 wherein the decoding step comprises comparing a number formed by the first bits of an addressed word of each of the second memories to a number formed by the second bits of an addressed word of each of the second memories, comparing a number formed by the third bits of an addressed word of each of the second memories to a number formed by the fourth bits of an addressed word of each of the second memories, and generating an address match indication if both of the immediately two preceding comparing steps result in a prescribed comparison condition.
References Cited (Backward Citations)
US4145745A
Cited
US4037215A
Cited
US4063081A
Cited
US4145738A
Cited
US4128875A
Cited
US4279014A
Cited
US4206503A
Cited
US4231087A
Cited
US4340933A
Cited
US4315313A
Cited
US4392201A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1988-01-22 | 1988-07-23 | 1989-01-22 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1992-01-22 | 1992-07-23 | 1993-01-22 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1996-01-22 | 1996-07-23 | 1997-01-22 | $7700.00 | Window Closed / Lapsed |