WO1988007721A1 - Associative address translator for computer memory systems - Google Patents

Associative address translator for computer memory systems Download PDF

Info

Publication number
WO1988007721A1
WO1988007721A1 PCT/US1988/000542 US8800542W WO8807721A1 WO 1988007721 A1 WO1988007721 A1 WO 1988007721A1 US 8800542 W US8800542 W US 8800542W WO 8807721 A1 WO8807721 A1 WO 8807721A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
word
match
bit
line
Prior art date
Application number
PCT/US1988/000542
Other languages
French (fr)
Inventor
Donald Francis Fier, Jr.
Klaus Gustav Dudda
Duane Glenn Breid
Robert Louis Caulk, Jr.
Original Assignee
Unisys Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corporation filed Critical Unisys Corporation
Publication of WO1988007721A1 publication Critical patent/WO1988007721A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store

Definitions

  • This disclosure relates to digital computer memory systems, particularly with respect to address translation using a content addressable memory (CAM) in a cache memory configuration, Said systems being particularly advantageous in paged systems.
  • CAM content addressable memory
  • Digital computer memory systems are known in the art that utilize CAM address translators which search the contents of the CAM for a requested address and provide a corresponding translated address upon the occurrence of a successful comparison
  • the CAM is also referred to as an associative memory.
  • An address translator of this type may be utilized in a set-associative virtual memory organization utilizing cache storage. In such systems, a CAM is searched for the presence of a requested absolute address and upon the occurrence of a successful comparison, a corresponding real address is provided.
  • CAM address translation is particularly advantageous in a paged system where the CAM stores the most recently requested page base addresses.
  • the address translator includes a CAM utilized for storing the most recently used addresses from, for example, the absolute address space of the memory.
  • a requested absolute address is applied to the CAM to effect a simultaneous search and comparison with the plurality of absolute addressess resident therein.
  • Each storage location in the CAM provides an input into an encoder which provides a parallel digital address corresponding to the CAM locations.
  • a 64 word CAM provides 64 lines to the encoder which in turn provides a corresponding six bit address.
  • Such arrangements traditionally include a HIT line to signal the occurrence of a successful comparison. When a successful comparison occurs, the encoder provides the address corresponding to the location at which the requested address was resident.
  • the address from the encoder is applied to a random access memory (RAM) which stores the real addresses corresponding to the absolute addresses in the CAM.
  • RAM random access memory
  • the encoder address applied thereto propagates through a decoder which accesses, for readout, the appropriate location in the RAM.
  • the RAM may include 64 storage locations with the decoder translating the si address provided by the CAM encoder into the appropriate one of the 64 RAM location access lines.
  • Such CAM systems typically include storage for a valid/invalid bit associated with each of the CAM locations.
  • the HIT line is energised and the encoder address provided only upon the occurrence of a successful comparison at a location with a valid bit.
  • the disadvantages of the prior art address translator are obviated by utilizing a CAM for storing a plurality of first addresses. These may, for example, comprise the most recently utilized absolute addresses.
  • the CAM includes means for comparing the address to be searched with the stored addresses providing a signal on a line associated with the CAM location at which the requested address is resident.
  • Means for storing a plurality of second addresses for example, the real addresses into which the absolute addresses are to be translated, is directly accessed by the plurality of comparison lines from the CAM locations. Thus, upon a successful comparison, the associated comparison line directly accesses the location storing the corresponding address which is applied as an output.
  • the CAM includes a plurality of valid/invalid storage locations corresponding to the CAM locations storing the first addresses.
  • An access line into the locations storing the second addresses is energized only upon the occurrence of a successful comparison and a set validity bit at a CAM location.
  • the sole figure is a schematic diagram of a CAM address translator.
  • a CAM address translator configured in accordance with a preferred embodiment is illustrated.
  • the embodiment depicted is implemented in CMOS technology where the P- channel field effect transistors (FET) are illustrated with an arrow pointing away from the substrate and the N-channel devices are illustrated without the arrow.
  • the source electrodes of all of the P-channel devices are connected to a suitable V CC supply voltage such as +5 volts. This connection is denoted by the short horizontal lines terminating the source electrode connections.
  • a binary High signal is approximately +5 volts and a binary Low signal is approximately ground potential. It is appreciated that a Low signal at the gate of a p-channel device turns the device on and a High signal at the gate thereof turns the device off. Conversely, a Low signal at the gate of an N-channel device turns the device off whereas a High signal at the gate thereof turns the device on.
  • the illustrated address translator includes an absolute address CAM 10 for storing 64 twelve bit words. In use, the 64 most recently utilized absolute or virtual addresses are stored in the CAM 10. The configuration of word 1, bit 1 is illustrated within a dashed block 11. Bits 2-12 of word 1 of the absolute address CAM are schematically depicted by a block 12. Absolute address words 2-64 are schematically depicted by a block 13. Since the 768 bits (64 times 12) of the absolute address CAM 10 are identical with respect to each other, only word 1, bit 1 is illustrated in detail within the absolute address cell 11.
  • the absolute address cell 11 is a conventional six transistor static memory cell with four additional transistors which implement an Exclusive-Or function.
  • Transistors 14, 15, 16 and 17 comprise a bistable element that stores a binary ONE or a binary ZERO and transistors 18 and 19 function to gate a bit into or out of the bistable element from the BIT and BIT-NOT lines 20 and 21, respectively.
  • the storage state of evil 11 is determined by the static conditions of nodes 22 and 23 within the cell. When node 22 is High and node 23 is Low, the cell 11 is storing a binary ONE. When the node 23 is High and the node 22 is Low, the cell 11 is storing a binary ZERO.
  • a word line 24 is coupled to the gates of transistors 18 and 19 rendering the transistors non-conductive during a comparison operation and conductive during a WRITE or READ operation. Thus, a during a comparison operation, the word line 24 is Low and during a WRITE or READ operation the word line 24 is High.
  • the word line 24 is similarly coupled to comparable transistors in bits 2-12 of word 1 within the block 12. It is appreciated that 63 similar word lines coupling comparable transistors of the absolute address words 2-64 within the block 13 are included. The 64 word lines of the absolute address CAM 10 are therefore addressable by a six bit address.
  • the cell 11 also includes transistors 25-28 which form an Exclusive-Or function.
  • the Exclusive-Or transistors compare the bit value on the lines 20 and 21 with the bit value stored in the cell 11 and, in a manner to be explained, provide a High on an internal hit line 29 when the bit values on the lines 20 and 21 compare with the data stored in the cell and pull the line 29 Low as the result of a miscomparison.
  • the internal hit line 29 is connected to bits 2-12 of tlie absolute address word 1 in the sane manner as illustrated in the absolute address cell 11.
  • the Exclusive-Or function is the Boolean inverse of the coincidence function. Coupled to the internal Hit line 29 are transistors 30 and 31. The gates of the transistors 30 and 31 are coupled to a Hit Line Enable (HLE)/Read line 32. During normal CAM searching or writing operations, the line 32 is held low. With the line 32 low, the transistor 30 is on and the transistor 31 is off. The V CC supply through the on transistor 30 maintains the internal hit line 29 in a quiescently High state. The transistor 30 forms raticed logic with respect to the Exclusive-Or transistors 25-28. When a miscomparison occurs at an absolute address cell, either the transistors 27 and 28 are turned on or the transistors 25 and 26 are turned on.
  • HLE Hit Line Enable
  • a path is established thereby from the internal Hit line 29 to ground which overpowers the on transistor 30 pulling the line 29 to ground.
  • the applied bit on the lines 20 and 21 match the bit stored in the absolute address cell, one of the transistors 27 and 28 and one of the transistors 25 and 26 are off, thereby not providing a path to ground for the line 29 thus permitting the transistor 30 to pull the line 29 High.
  • Each of the absolute address words 2-64 depicted by the block 13 includes an internal hit line identical to the line 29 coupled to the transistors of words 2-64 in the same manner as the line 29 is coupled to the corrsponding transistors of absolute address word 1.
  • a block 33 schematically represents transistor pairs identical to the transistors 30 and 31 coupled to each of the internal hit lines for the absolute address words 2-64 in the manner that the transistors 30 and 31 are coupled to the internal hit line 29.
  • the HLE/READ control line 32 couples to the gate electrodes of all of the transistors depicted by the block 33. As explained above during the normal operations of compare and write, the line 32 is held low. For test purposes, a high signal is placed on the line 32 to prevent multiple hits from occurring while reading the contents of the CAM 10.
  • the address translator illustrated in the figure includes storage 34 for an invalidate bit associated with each of the absolute address words of the CAM 10.
  • the invalidate bits 34 therefore comprise storage for 64 one bit words.
  • the invalidate bit cell for word 1 is illustrated within the dashed block 35.
  • the transistors 36-41 are configured and interconnected in identically the same manner as the transistors 14-19 of the absolute address cell 11 for the storage of the invalidate bit.
  • Tlie internal hit line 29 is connected to the gate electrodes of the transistors 40 and 41 to serve as the word line that controls the coupling and decoupling of the BIT and BIT-NOT lines 42 and 43 to the storage transistors 36-39.
  • the invalidate bit cell 35 is storing a binary ONE indicative of a valid absolute address word. Conversely, when the node 44 is Low and the node 45 is High, the cell 35 is storing a binary ZERO indicative of an invalid absolute address word.
  • the node 44 is coupled to a line 46 which provides the output of the invalidate bit cell 35.
  • An N-channel transistor 47 is coupled between the line 46 and ground and an invalidate clear (ICLR) control line 48 is coupled to the gate electrode thereof.
  • ICLR invalidate clear
  • the invalidate clear line 48 is held low thereby turning off the transistor 47 and decoupling the line 46 from ground.
  • the transistor 47 is turned on discharging the line 46 to ground thus pulling the node 44 of the cell 35 low. This sets the cell 35 to the invalid state.
  • the invalidate bit 35 is associated with absolute address word 1.
  • Invalidate bits 2-64 associated with the absolute address words 2-64, respectively, are schematically depicted by a block 49.
  • the BIT and BIT-NOT lines 42 and 43 are coupled to the transistors corresponding to the transistors 40 and 41 within each of the cells.
  • the internal hit lines of the absolute address words 2-64 are coupled respectively to the gate electrodes of these transistors in the same manner as the internal hit line 29 is coupled to the gate electrodes of the transistors 40 and 41.
  • Each of the invalidate bit cells within the block 49 includes an output comparable to the output line 46 with a corresponding transistor 47 coupled thereto.
  • the invalidate clear line 48 is coupled to the gate electrodes of all of these transistors. Thus, when the invalidate clear line 48 is driven high, all of the invalidate bit cells within the block 49 are forced to the invalid state.
  • the output from the invalidate bit 35 on the line 46 and the internal hit line 29 from absolute address word 1 are applied as inputs to a two input AND gate 50.
  • the output of the AND gate 50 on a line 51 is High only when the signals on both the lines 46 and 29 are High.
  • the AND gate 50 therefore, provides a High signal on the line 51 when the absolute address request applied to the CAM 10 matches the stored contents of absoluteaddress word 1 and the invalidate bit 1 is set to the valid state .
  • the AND gate 50 is associated with the absolute address word 1 of the CAM 10.
  • Sixty-three additional AND gates identical to the AND gate 50 are associated respectively with absolute address words 2-64 as schematically depicted by a block 52.
  • Each of the AND gates within the block 52 receives as inputs the output of the associated invalidate bit and the associated internal hit line and provides an output in the manner described above with respect to the AND gate 50 and its output line 51.
  • the line 51 provides a real address word line that is applied to word 1 of the real address storage portion 53 of the address translator of the present invention.
  • the real address storage portion of the address translator has provision for 64 real address words of 12 bits each.
  • the details of the real address cell of real address word 1, bit 1 are illustrated within a dashed block 54.
  • the configuration of transistors for the real address cell 54 is identical to that described above with respect to the invalidate bit cell 35.
  • BIT and BIT-NOT lines 55 and 56 are Associated with the real address cell 54, respectively.
  • Bits 2-12 of the real address word 1 are identical to that illustrated for real address word 1, bit 1 and are schematically depicted by a block 57.
  • the real address word line 51 is coupled to each of the bit cells within the block 57 in identically the same manner illustrated in the block 54. Thus, when the real address word line 51 goes high, the 12 bits of the real address word 1 are accessed and appear on the BIT and BIT-NOT lines coupled to the bit cells. Appropriate sense amplifiers (not shown), such as differential sense amplifiers, may be utilized to read the word. In the present configuration, 12 sense amplifiers associated with the bit line pairs of the respective real address bits are utilized.
  • Real address words 2-64 are schematically depicted by a block 58.
  • the appropriate real address word line from the AND gates 2-64 couple respectively to the real address words 2-64 within the block 58 in the manner illustrated with respect to the real address word line 51.
  • the BIT and BIT-NOT lines 55 and 56 are coupled to the bit 1 cells of the real address words 2-64 in the manner illustrated with respect to the cell 54.
  • the BIT and BIT-NOT lines associated with bits 2-12 of the 64 words are similarly coupled to the respective bits associated therewith.
  • the real address word line 51 associated with real address word 1 is coupled to the gate electrode of an N-channel transistor 59.
  • the source electrode of the transistor 59 is connected to a hit line 60 and the drain electrode thereof is connected to ground via a series N-channel transistor 61.
  • the drain electrode of a P-channel transistor 62 is connected to the hit line 60 and a hit line precharge (HLP) line 63 is connected to the gate electrodes of the transistors 61 and 62.
  • the hit line 60 is coupled through an inverter 64 to provide a HIT signal when the requested absolute address applied to the CAM 10 results in a successful comparison and the matched word in the CAM 10 has a set invalidate bit.
  • a dashed block 65 depicts the configuration of the transistors 59 and 61 associated with the real address word 1. This configuration is repeated with respect to each of the real address words 2-64 as depicted by a block 66.
  • the lines 60 and 63 are coupled to the transistor configurations within the block 66 in the manner depicted with respect to the block 65.
  • the HLP line 63 is held Low turning on the transistor 62 and turning off the transistor 61. This connects +V CC to the Hit l ine 60 precharging the stray capacitance associated therewith. Under these conditions, the Hit line 60 is High thereby providing a Low signal from the inverter 64. Just prior to a comparison operation, the HLP line 63 is pulled High thereby turning off the transistor 62 and turning on the transistor 61. In the event of a valid hit at word 1, the real address word line 51 goes High thereby turning on the transistor
  • the address translator of the present invention In operation of the address translator of the present invention during the compare mode, all of the word lines of the absolute address words are held Low; the HLE/READ line 32 is held Low; the BIT and BIT-NOT lines 42 and 43 of the invalidate bits are held at intermediate levels between High and Low so that the state of an invalidate bit does not change even though the associated internal hit line goes High; and the invalidate clear line 48 is held Low.
  • the 12 bits of the absolute address request are applied to the corresponding bit lines of the absolute address CAM 10 to determine if the asolute address request is resident therein.
  • the BIT and BIT-NOT signals from the respective bits of the absoluteo address request are applied to the corresponding BIT and BIT-NOT lines of the CAM 10.
  • the internal hit line associated therewith is discharged to the Lowstate through the path to ground within the absolute address cell as described above. If the requested absolute address is not resident in the CAM 10, all of the internal hit lines will be pulled Low. None of the real address word lines, such as the line 51, will be pulled High and no real address translation will be provided at the BIT and BIT-NOT outputs of the real address section 53 of the address translator. Additionally, the hit line 60. will remain High and the output from the inverter 64 will be Low signalling a miss.
  • the bits stored at the associated real address word location are coupled to the BIT and BIT-NOT lines of the real address section 53 of the address translator and are thereby available to the external circuitry.
  • the Hit line 60 is pulled Low, as described above, thereby providing a High from the output of the inverter 64 signalling a hit. If an absolute address match occurs, but the invalidate bit associated therewith is Low (invalid), the output of the associated AND gate will remain Low, ro real address out will be provi ded and the output of the inverter 64 will signal a miss.
  • the absolute address word line of the location into which it is desired to write is pulled High.
  • the bits of the absolute address, invalidate bit and real address to be written into the respective accessed locations are applied to the corresponding BIT and BIT-MOT lines of the device.
  • the HLE/READ line 32 is held Low.
  • the absolute address bits to be written into the accessed absolute address location are connected to the respective storage cells of the accessed location and are thereby written therein. Under these conditions, the internal hit line associated with the accessed absolute address location remains High thereby configuring the associated invalidate bit for wri ting .
  • the associated invalidate bit will be written to its High (valid) state. Consequently, the associated AND gate will provide a High output which will access the associated real address word location for writing. The applied real address bits will thereby be written into the accessed real address cells.
  • the invalidate bits may be independently written by pulling the absolute address word lines Low and providing an absolute address request that matches the data stored in the absolute address word location associated with the invalidate bit to be written. This places a High on the associated internal hit line which configures the invalidate bit for writing the BIT and BIT-NOT signals applied thereto. In the same manner, a real address location can be independently written by providing a match at the corresponding absolute address word with the corresponding invalidate bit set to valid.
  • the address translator of the presently disclosed system stores the absolute and real memory address values of the most recently referenced pages and reduces the time required to implement the absolute to real address translation in a virtual memory system.
  • the invention integrates the page comparison, translation and invalidation functions into a single functional entity.
  • the present system considerably reduces thetime and chip area utilized to perform the address comparison and translation for paging applications. Additionally, the present system simplifies the external hardware required for page invalidation. By combining the complete functionality of the integrated paging system into a single chip, the total access time for a data comparison to real address out is achieved in 25 nanoseconds.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The address translator includes a content addressable memory (10) for storing the most recently utilized absolute addresses. A requested absolute address is searched in the content addressable memory for a match. Each word location of the content addressable memory has an internal hit line (29) associated therewith that is pulled high in response to a successful comparison. Storage (34) for an invalidate bit associated with each content addressable memory location is included. An AND gate (50) associated with each content addressable memory location provides a real address word access signal in response to a match and a valid bit. The real address access signal reads out a real address from a real address storage location (53) associated with the absolute address location at which the match occurred. A hit line (60) is included to signal the occurrence of a match.

Description

ASSOCIATIVE ADDRESS TRANSLATOR FOR COMPUTER MEMORY SYSTEMS
BACKGROUND
This disclosure relates to digital computer memory systems, particularly with respect to address translation using a content addressable memory (CAM) in a cache memory configuration, Said systems being particularly advantageous in paged systems. 2. Description of the Prior Art
Digital computer memory systems are known in the art that utilize CAM address translators which search the contents of the CAM for a requested address and provide a corresponding translated address upon the occurrence of a successful comparison, The CAM is also referred to as an associative memory. An address translator of this type may be utilized in a set-associative virtual memory organization utilizing cache storage. In such systems, a CAM is searched for the presence of a requested absolute address and upon the occurrence of a successful comparison, a corresponding real address is provided. CAM address translation is particularly advantageous in a paged system where the CAM stores the most recently requested page base addresses.
In prior art systems, the address translator includes a CAM utilized for storing the most recently used addresses from, for example, the absolute address space of the memory. A requested absolute address is applied to the CAM to effect a simultaneous search and comparison with the plurality of absolute addressess resident therein. Each storage location in the CAM provides an input into an encoder which provides a parallel digital address corresponding to the CAM locations. For example, a 64 word CAM provides 64 lines to the encoder which in turn provides a corresponding six bit address. Such arrangements traditionally include a HIT line to signal the occurrence of a successful comparison. When a successful comparison occurs, the encoder provides the address corresponding to the location at which the requested address was resident. The address from the encoder is applied to a random access memory (RAM) which stores the real addresses corresponding to the absolute addresses in the CAM. The encoder address applied thereto propagates through a decoder which accesses, for readout, the appropriate location in the RAM. For example, the RAM may include 64 storage locations with the decoder translating the si address provided by the CAM encoder into the appropriate one of the 64 RAM location access lines.
It is appreciated that in this prior art arrangement, significant chip area is required for the CAM encoder and the RAM decoder and excessive propagation delays through the encoder and decoder are experienced which adversely affect the speed of the computer. Additionally, in the prior art arrangements, a significant amount of hardware external to the address translator is required for setting address invalidation data into the CAM.
Such CAM systems typically include storage for a valid/invalid bit associated with each of the CAM locations. The HIT line is energised and the encoder address provided only upon the occurrence of a successful comparison at a location with a valid bit.
SUMMARY OF THE DISCLOSURE The disadvantages of the prior art address translator are obviated by utilizing a CAM for storing a plurality of first addresses. These may, for example, comprise the most recently utilized absolute addresses. The CAM includes means for comparing the address to be searched with the stored addresses providing a signal on a line associated with the CAM location at which the requested address is resident. Means for storing a plurality of second addresses, for example, the real addresses into which the absolute addresses are to be translated, is directly accessed by the plurality of comparison lines from the CAM locations. Thus, upon a successful comparison, the associated comparison line directly accesses the location storing the corresponding address which is applied as an output. Preferably the CAM includes a plurality of valid/invalid storage locations corresponding to the CAM locations storing the first addresses. An access line into the locations storing the second addresses is energized only upon the occurrence of a successful comparison and a set validity bit at a CAM location.
BRIEF DESCRIPTION OF THE DRAWINGS
The sole figure is a schematic diagram of a CAM address translator.
DESCSIPTION OF A PREFERRED EMBODIMENT
Referring to the figure, a CAM address translator configured in accordance with a preferred embodiment is illustrated. The embodiment depicted is implemented in CMOS technology where the P- channel field effect transistors (FET) are illustrated with an arrow pointing away from the substrate and the N-channel devices are illustrated without the arrow. The source electrodes of all of the P-channel devices are connected to a suitable VCC supply voltage such as +5 volts. This connection is denoted by the short horizontal lines terminating the source electrode connections. In the following descriptions, a binary High signal is approximately +5 volts and a binary Low signal is approximately ground potential. It is appreciated that a Low signal at the gate of a p-channel device turns the device on and a High signal at the gate thereof turns the device off. Conversely, a Low signal at the gate of an N-channel device turns the device off whereas a High signal at the gate thereof turns the device on.
The illustrated address translator includes an absolute address CAM 10 for storing 64 twelve bit words. In use, the 64 most recently utilized absolute or virtual addresses are stored in the CAM 10. The configuration of word 1, bit 1 is illustrated within a dashed block 11. Bits 2-12 of word 1 of the absolute address CAM are schematically depicted by a block 12. Absolute address words 2-64 are schematically depicted by a block 13. Since the 768 bits (64 times 12) of the absolute address CAM 10 are identical with respect to each other, only word 1, bit 1 is illustrated in detail within the absolute address cell 11.
The absolute address cell 11 is a conventional six transistor static memory cell with four additional transistors which implement an Exclusive-Or function. Transistors 14, 15, 16 and 17 comprise a bistable element that stores a binary ONE or a binary ZERO and transistors 18 and 19 function to gate a bit into or out of the bistable element from the BIT and BIT-NOT lines 20 and 21, respectively. The storage state of evil 11 is determined by the static conditions of nodes 22 and 23 within the cell. When node 22 is High and node 23 is Low, the cell 11 is storing a binary ONE. When the node 23 is High and the node 22 is Low, the cell 11 is storing a binary ZERO. A word line 24 is coupled to the gates of transistors 18 and 19 rendering the transistors non-conductive during a comparison operation and conductive during a WRITE or READ operation. Thus, a during a comparison operation, the word line 24 is Low and during a WRITE or READ operation the word line 24 is High. The word line 24 is similarly coupled to comparable transistors in bits 2-12 of word 1 within the block 12. It is appreciated that 63 similar word lines coupling comparable transistors of the absolute address words 2-64 within the block 13 are included. The 64 word lines of the absolute address CAM 10 are therefore addressable by a six bit address. The cell 11 also includes transistors 25-28 which form an Exclusive-Or function. The Exclusive-Or transistors compare the bit value on the lines 20 and 21 with the bit value stored in the cell 11 and, in a manner to be explained, provide a High on an internal hit line 29 when the bit values on the lines 20 and 21 compare with the data stored in the cell and pull the line 29 Low as the result of a miscomparison. The internal hit line 29 is connected to bits 2-12 of tlie absolute address word 1 in the sane manner as illustrated in the absolute address cell 11.
It is appreciated that the Exclusive-Or function is the Boolean inverse of the coincidence function. Coupled to the internal Hit line 29 are transistors 30 and 31. The gates of the transistors 30 and 31 are coupled to a Hit Line Enable (HLE)/Read line 32. During normal CAM searching or writing operations, the line 32 is held low. With the line 32 low, the transistor 30 is on and the transistor 31 is off. The VCC supply through the on transistor 30 maintains the internal hit line 29 in a quiescently High state. The transistor 30 forms raticed logic with respect to the Exclusive-Or transistors 25-28. When a miscomparison occurs at an absolute address cell, either the transistors 27 and 28 are turned on or the transistors 25 and 26 are turned on. A path is established thereby from the internal Hit line 29 to ground which overpowers the on transistor 30 pulling the line 29 to ground. Whenever, during a compare operation, the applied bit on the lines 20 and 21 match the bit stored in the absolute address cell, one of the transistors 27 and 28 and one of the transistors 25 and 26 are off, thereby not providing a path to ground for the line 29 thus permitting the transistor 30 to pull the line 29 High.
Each of the absolute address words 2-64 depicted by the block 13 includes an internal hit line identical to the line 29 coupled to the transistors of words 2-64 in the same manner as the line 29 is coupled to the corrsponding transistors of absolute address word 1. A block 33 schematically represents transistor pairs identical to the transistors 30 and 31 coupled to each of the internal hit lines for the absolute address words 2-64 in the manner that the transistors 30 and 31 are coupled to the internal hit line 29. The HLE/READ control line 32 couples to the gate electrodes of all of the transistors depicted by the block 33. As explained above during the normal operations of compare and write, the line 32 is held low. For test purposes, a high signal is placed on the line 32 to prevent multiple hits from occurring while reading the contents of the CAM 10.
The address translator illustrated in the figure includes storage 34 for an invalidate bit associated with each of the absolute address words of the CAM 10. The invalidate bits 34 therefore comprise storage for 64 one bit words. The invalidate bit cell for word 1 is illustrated within the dashed block 35. The transistors 36-41 are configured and interconnected in identically the same manner as the transistors 14-19 of the absolute address cell 11 for the storage of the invalidate bit. Tlie internal hit line 29 is connected to the gate electrodes of the transistors 40 and 41 to serve as the word line that controls the coupling and decoupling of the BIT and BIT-NOT lines 42 and 43 to the storage transistors 36-39.
In the manner described above with respect to the absolute address cell 11, when the node 44 is High, and the node 45 is Low, the invalidate bit cell 35 is storing a binary ONE indicative of a valid absolute address word. Conversely, when the node 44 is Low and the node 45 is High, the cell 35 is storing a binary ZERO indicative of an invalid absolute address word. The node 44 is coupled to a line 46 which provides the output of the invalidate bit cell 35. An N-channel transistor 47 is coupled between the line 46 and ground and an invalidate clear (ICLR) control line 48 is coupled to the gate electrode thereof. During normal operation, the invalidate clear line 48 is held low thereby turning off the transistor 47 and decoupling the line 46 from ground. When the invalidate clear line 48 is driven high, the transistor 47 is turned on discharging the line 46 to ground thus pulling the node 44 of the cell 35 low. This sets the cell 35 to the invalid state.
As discussed above, the invalidate bit 35 is associated with absolute address word 1. Invalidate bits 2-64 associated with the absolute address words 2-64, respectively, are schematically depicted by a block 49. Thus, there are 63 invalidate bit cells within the block 49 identical to the cell 35. The BIT and BIT-NOT lines 42 and 43 are coupled to the transistors corresponding to the transistors 40 and 41 within each of the cells. The internal hit lines of the absolute address words 2-64 are coupled respectively to the gate electrodes of these transistors in the same manner as the internal hit line 29 is coupled to the gate electrodes of the transistors 40 and 41. Each of the invalidate bit cells within the block 49 includes an output comparable to the output line 46 with a corresponding transistor 47 coupled thereto. The invalidate clear line 48 is coupled to the gate electrodes of all of these transistors. Thus, when the invalidate clear line 48 is driven high, all of the invalidate bit cells within the block 49 are forced to the invalid state.
The output from the invalidate bit 35 on the line 46 and the internal hit line 29 from absolute address word 1 are applied as inputs to a two input AND gate 50. The output of the AND gate 50 on a line 51 is High only when the signals on both the lines 46 and 29 are High. The AND gate 50, therefore, provides a High signal on the line 51 when the absolute address request applied to the CAM 10 matches the stored contents of absoluteaddress word 1 and the invalidate bit 1 is set to the valid state . The AND gate 50 is associated with the absolute address word 1 of the CAM 10. Sixty-three additional AND gates identical to the AND gate 50 are associated respectively with absolute address words 2-64 as schematically depicted by a block 52. Each of the AND gates within the block 52 receives as inputs the output of the associated invalidate bit and the associated internal hit line and provides an output in the manner described above with respect to the AND gate 50 and its output line 51.
The line 51 provides a real address word line that is applied to word 1 of the real address storage portion 53 of the address translator of the present invention. The real address storage portion of the address translator has provision for 64 real address words of 12 bits each. The details of the real address cell of real address word 1, bit 1 are illustrated within a dashed block 54. The configuration of transistors for the real address cell 54 is identical to that described above with respect to the invalidate bit cell 35. Associated with the real address cell 54 are BIT and BIT-NOT lines 55 and 56, respectively. Bits 2-12 of the real address word 1 are identical to that illustrated for real address word 1, bit 1 and are schematically depicted by a block 57. The real address word line 51 is coupled to each of the bit cells within the block 57 in identically the same manner illustrated in the block 54. Thus, when the real address word line 51 goes high, the 12 bits of the real address word 1 are accessed and appear on the BIT and BIT-NOT lines coupled to the bit cells. Appropriate sense amplifiers (not shown), such as differential sense amplifiers, may be utilized to read the word. In the present configuration, 12 sense amplifiers associated with the bit line pairs of the respective real address bits are utilized.
Real address words 2-64 are schematically depicted by a block 58. The appropriate real address word line from the AND gates 2-64 couple respectively to the real address words 2-64 within the block 58 in the manner illustrated with respect to the real address word line 51. The BIT and BIT-NOT lines 55 and 56 are coupled to the bit 1 cells of the real address words 2-64 in the manner illustrated with respect to the cell 54. Similarly, the BIT and BIT-NOT lines associated with bits 2-12 of the 64 words are similarly coupled to the respective bits associated therewith.
The real address word line 51 associated with real address word 1 is coupled to the gate electrode of an N-channel transistor 59. The source electrode of the transistor 59 is connected to a hit line 60 and the drain electrode thereof is connected to ground via a series N-channel transistor 61. The drain electrode of a P-channel transistor 62 is connected to the hit line 60 and a hit line precharge (HLP) line 63 is connected to the gate electrodes of the transistors 61 and 62. The hit line 60 is coupled through an inverter 64 to provide a HIT signal when the requested absolute address applied to the CAM 10 results in a successful comparison and the matched word in the CAM 10 has a set invalidate bit. A dashed block 65 depicts the configuration of the transistors 59 and 61 associated with the real address word 1. This configuration is repeated with respect to each of the real address words 2-64 as depicted by a block 66. The lines 60 and 63 are coupled to the transistor configurations within the block 66 in the manner depicted with respect to the block 65.
Quiescently, the HLP line 63 is held Low turning on the transistor 62 and turning off the transistor 61. This connects +VCC to the Hit l ine 60 precharging the stray capacitance associated therewith. Under these conditions, the Hit line 60 is High thereby providing a Low signal from the inverter 64. Just prior to a comparison operation, the HLP line 63 is pulled High thereby turning off the transistor 62 and turning on the transistor 61. In the event of a valid hit at word 1, the real address word line 51 goes High thereby turning on the transistor
59 providing a path to ground for tlie Hit line 60. The Hit line
60 is pulled Low providing a High at the output of the inverter 64 designating the valid hit. If none of the real address word lines go High during the comparison operation, all of the transistors 59 remain off and the precharged Hit line 60 remains High. The High signal in this no-compare situation results in a Low at the output of the inverter 64 signalling a miss.
In operation of the address translator of the present invention during the compare mode, all of the word lines of the absolute address words are held Low; the HLE/READ line 32 is held Low; the BIT and BIT-NOT lines 42 and 43 of the invalidate bits are held at intermediate levels between High and Low so that the state of an invalidate bit does not change even though the associated internal hit line goes High; and the invalidate clear line 48 is held Low. In the compare mode, the 12 bits of the absolute address request are applied to the corresponding bit lines of the absolute address CAM 10 to determine if the asolute address request is resident therein. The BIT and BIT-NOT signals from the respective bits of the absoluto address request are applied to the corresponding BIT and BIT-NOT lines of the CAM 10. If the bit stored in an absolute address cell does not match the compare bit applied to the BIT and BIT-NOT lines thereof, the internal hit line associated therewith is discharged to the Lowstate through the path to ground within the absolute address cell as described above. If the requested absolute address is not resident in the CAM 10, all of the internal hit lines will be pulled Low. None of the real address word lines, such as the line 51, will be pulled High and no real address translation will be provided at the BIT and BIT-NOT outputs of the real address section 53 of the address translator. Additionally, the hit line 60. will remain High and the output from the inverter 64 will be Low signalling a miss. If, however, all of the bits of the requested absolute address match the stored bits of an absolute address resident in the CAM 10, the internal hit line associated with: the word location of the match v/ill not have a discharge path to ground and v/ill remain High, If the invalidate bit associated with the matched absolute address word is also High (valid), the output of the associated AND gate will go High thereby accessing the associated real address. The bits stored at the associated real address word location are coupled to the BIT and BIT-NOT lines of the real address section 53 of the address translator and are thereby available to the external circuitry. When a match occurs, the Hit line 60 is pulled Low, as described above, thereby providing a High from the output of the inverter 64 signalling a hit. If an absolute address match occurs, but the invalidate bit associated therewith is Low (invalid), the output of the associated AND gate will remain Low, ro real address out will be provi ded and the output of the inverter 64 will signal a miss.
In order to write new information into the locations of the illustrated address translator, the absolute address word line of the location into which it is desired to write is pulled High. The bits of the absolute address, invalidate bit and real address to be written into the respective accessed locations are applied to the corresponding BIT and BIT-MOT lines of the device. In the writing mode, the HLE/READ line 32 is held Low. With these signals applied to the device, the absolute address bits to be written into the accessed absolute address location are connected to the respective storage cells of the accessed location and are thereby written therein. Under these conditions, the internal hit line associated with the accessed absolute address location remains High thereby configuring the associated invalidate bit for wri ting . Normally under these conditions , the associated invalidate bit will be written to its High (valid) state. Consequently, the associated AND gate will provide a High output which will access the associated real address word location for writing. The applied real address bits will thereby be written into the accessed real address cells.
The invalidate bits may be independently written by pulling the absolute address word lines Low and providing an absolute address request that matches the data stored in the absolute address word location associated with the invalidate bit to be written. This places a High on the associated internal hit line which configures the invalidate bit for writing the BIT and BIT-NOT signals applied thereto. In the same manner, a real address location can be independently written by providing a match at the corresponding absolute address word with the corresponding invalidate bit set to valid.
In a paged cache memory system, the address translator of the presently disclosed system stores the absolute and real memory address values of the most recently referenced pages and reduces the time required to implement the absolute to real address translation in a virtual memory system. The invention integrates the page comparison, translation and invalidation functions into a single functional entity. The present system considerably reduces thetime and chip area utilized to perform the address comparison and translation for paging applications. Additionally, the present system simplifies the external hardware required for page invalidation. By combining the complete functionality of the integrated paging system into a single chip, the total access time for a data comparison to real address out is achieved in 25 nanoseconds. These advantages also accrue to applications other than the paged or cache systems. Although the present system is described in terms of CMOS technology, it is appreciated that the present system may be embodied in other technologies to the same effect.

Claims

1. Address translator apparatus for translating a requested first address word into a corresponding second address word, comprising: first storage means including a plurality of first word storage locations for storing a respective plurality of first address words, a plurality of comparison means associated respectively with said plurality of first word storage locations for simultaneously comparing said requested first address word with said first address words stored at said first word storage locations, a plurality of match means associated respectively with said plurality of comparison means, each said match means providing a match signal when said requested first address word matches the first address word stored at the associated first word storage location, and second storage means including a plurality of second word storage locations for storing a respective plurality of second address words, said plurality of second word storage locations being directly responsive, respectively, to said plurality of match means to access for readout the address word stored at a second word storage location having the associated match means providing said match signal, thereby providing said second address word corresponding to said requested first address word.
2. The apparatus of claim 1 further including third storage means including a plurality of bit storage cells associated respectively with said plurality of first word storage locations for storing a respective plurality of validation bits, and a plurality of AND gates responsive to said validation bits and said match signals, respectively, to access for readout, the address word stored at a second word storage location having the associated match means providing said match signal and the associated validation bit set to a state representative of validity.
3. The apparatus of claim 2 further including HIT means responsive to said plurality of AND gates for providing a HIT signal whenever one of said AND gates receives a match signal and a validation bit representative of validity.
4. The apparatus of claim 2 wherein each said comparison means comprises Exclusive-Or gate means for comparing the bits of said requested first address word with the bits of the first address word stored at said first word storage location associated with said comparison means, and each said match means comprises internal hit line means coupled to the associated one of said Exclusive-Or gate means.
5. The apparatus of claim 4 wherein said internal hit line means comprises an internal hit line and means for maintaining said internal hit line in a state representative of a match signal and said Exclusive-Or gate means comprises ratioed logic with respect to said maintaining means so that when the bits compared by said Exclusive-Or gate means do not match, said Exclusive-Or gate means overcomes said maintaining means to pull the associated internal hit line to a state representative of no-match.
6. The apparatus of claim 1 wherein said first storage means comprises a content addressable memory.
PCT/US1988/000542 1987-04-02 1988-02-29 Associative address translator for computer memory systems WO1988007721A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3337487A 1987-04-02 1987-04-02
US033,374 1987-04-02

Publications (1)

Publication Number Publication Date
WO1988007721A1 true WO1988007721A1 (en) 1988-10-06

Family

ID=21870064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1988/000542 WO1988007721A1 (en) 1987-04-02 1988-02-29 Associative address translator for computer memory systems

Country Status (1)

Country Link
WO (1) WO1988007721A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0646931A1 (en) * 1993-10-04 1995-04-05 Kawasaki Steel Corporation Associative memory
EP0690386A1 (en) * 1994-04-04 1996-01-03 International Business Machines Corporation Address translator and method of operation
GB2327136A (en) * 1996-05-21 1999-01-13 Ezio Panzeri Coin testing apparatus and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
EP0132129A2 (en) * 1983-07-14 1985-01-23 BURROUGHS CORPORATION (a Michigan corporation) Address translation buffer
US4602368A (en) * 1983-04-15 1986-07-22 Honeywell Information Systems Inc. Dual validity bit arrays
GB2176920A (en) * 1985-06-13 1987-01-07 Intel Corp Content addressable memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US4602368A (en) * 1983-04-15 1986-07-22 Honeywell Information Systems Inc. Dual validity bit arrays
EP0132129A2 (en) * 1983-07-14 1985-01-23 BURROUGHS CORPORATION (a Michigan corporation) Address translation buffer
GB2176920A (en) * 1985-06-13 1987-01-07 Intel Corp Content addressable memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0646931A1 (en) * 1993-10-04 1995-04-05 Kawasaki Steel Corporation Associative memory
US5465228A (en) * 1993-10-04 1995-11-07 Kawasaki Steel Corporation Associative memory
EP0690386A1 (en) * 1994-04-04 1996-01-03 International Business Machines Corporation Address translator and method of operation
US5604879A (en) * 1994-04-04 1997-02-18 Motorola Inc. Single array address translator with segment and page invalidate ability and method of operation
GB2327136A (en) * 1996-05-21 1999-01-13 Ezio Panzeri Coin testing apparatus and method

Similar Documents

Publication Publication Date Title
US5299147A (en) Decoder scheme for fully associative translation-lookaside buffer
EP0905709B1 (en) Single ended match sense amplifier
JP3190868B2 (en) Associative memory device
US5699288A (en) Compare circuit for content-addressable memories
US5717885A (en) TLB organization with variable page size mapping and victim-caching
US10402340B2 (en) Memory array page table walk
US4567578A (en) Cache memory flush scheme
EP0905708B1 (en) Memory circuit
US4812969A (en) Address translation unit
US5391938A (en) Comparator using XNOR and XOR gates
JPH08329687A (en) Semiconductor integrated circuit
GB1590198A (en) Data storage
JPH05314779A (en) Associative memory cell and associative memory circuit
US6233652B1 (en) Translation lookaside buffer for multiple page sizes
US8154900B2 (en) Method and apparatus for reducing power consumption in a content addressable memory
KR20010091109A (en) Associative cache memory
US6188629B1 (en) Low power, static content addressable memory
US4894799A (en) Content-addressable memory
US5638315A (en) Content addressable memory for a data processing system
US6493790B1 (en) Translation-lookaside buffer with current tracking reference circuit
WO1988007721A1 (en) Associative address translator for computer memory systems
US5463751A (en) Memory device having address translator and comparator for comparing memory cell array outputs
US7099171B2 (en) Content addressable memory cell techniques
JPH10125079A (en) Associative memory device
US5729190A (en) Dynamic comparator circuit for cache memories

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE