← Back to Patent Explorer
US5265227A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel protection checking in an address translation look-aside buffer

Assignee: Intel Corp
•
Filing: 1992-03-17
•
Granted: 1993-11-23
•
Expires: 2012-03-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A translation look-aside buffer is implemented utilizing a four-way set associative cache memory having four lines of 16 sets each. A virtual address tag and its corresponding physical address tag, as well as a number of status bits which control the type of access permitted for a given virtual address, are stored in the translation look-aside buffer. A portion of the inputted virtual address signal is used to provide a virtual address tag and is compared to the virtual address tag in the buffer memory. When the virtual address tag comparison is achieved, the physical address tags are provided as an output from the translation look-aside buffer. Also at the same time, a fault detection circuit performs various fault detection logic on the status bits, depending on the execution cycle being performed, such as read/write cycle or user/supervisor mode. If a hit occurs with one of the stored virtual address tags, its physical address tag is used, but only if a fault indication does not occur thereby generating a trap. The comparison of the virtual address tags, the generation of the physical address tag and checking of the status bits for fault detection is performed simultaneously in parallel so that only one clock cycle is needed to generate a physical address tag and a fault signal, if any, from the address translation look-aside buffer.

Inventors

  • 👤 Leslie D. Kohn
  • 👤 Shai Rotem

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 12:14
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 318 words
A virtual memory management system for a processor for providing an output physical address to access a physical location in response to an input virtual address comprising: a single associative memory means for storing multiple virtual addresses, an equal multiple of respectively corresponding physical addresses, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bits containing at least one status bit; comparator means coupled to receive said input virtual address and also coupled to receive said multiple virtual addresses for comparing said input virtual address with said multiple virtual addresses to determine if a matching multiple virtual address exists among those addresses compared; fault detection circuit means coupled to said memory means for receiving said sets of status bits corresponding to said physical addresses and determining if a current access request of each of said physical addresses is permitted by its set of status bits, said fault detection circuit means performing its access check simultaneously with said comparing of said input virtual address with said multiple virtual addresses and generating a fault indication signal for each of said physical addresses, which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and selector means coupled to said memory means, comparator means and fault detection circuit means for selecting a physical address corresponding to said matching multiple virtual address as said output physical address and its corresponding fault indication signal as an output fault indication signal if a match results in said comparator, in order to access said physical location if said output fault indication signal permits said access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 2
Dependent Claim 318 words
A virtual memory management system for a processor for providing an output physical address to access a physical location in response to an input virtual address comprising: a single associative memory means for storing multiple virtual addresses, an equal multiple of respectively corresponding physical addresses, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bits containing at least one status bit; comparator means coupled to receive said input virtual address and also coupled to receive said multiple virtual addresses for comparing said input virtual address with said multiple virtual addresses to determine if a matching multiple virtual address exists among those addresses compared; fault detection circuit means coupled to said memory means for receiving said sets of status bits corresponding to said physical addresses and determining if a current access request of each of said physical addresses is permitted by its set of status bits, said fault detection circuit means performing its access check simultaneously with said comparing of said input virtual address with said multiple virtual addresses and generating a fault indication signal for each of said physical addresses, which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and selector means coupled to said memory means, comparator means and fault detection circuit means for selecting a physical address corresponding to said matching multiple virtual address as said output physical address and its corresponding fault indication signal as an output fault indication signal if a match results in said comparator, in order to access said physical location if said output fault indication signal permits said access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 3
Dependent Claim 16 words
The virtual memory management system of claim 1 wherein said memory means is a cache memory.
Claim 4
Dependent Claim 19 words
A virtual memory management system of claim 1 wherein said memory means is a four-way set associative cache memory.
Claim 5
Dependent Claim 25 words
The virtual memory management system of claim 1 wherein said memory is a four-way set associative cache memory implemented in four random access memory arrays.
Claim 6
Dependent Claim 333 words
A virtual memory management system for a processor for providing a portion of an output physical address (output physical address tag) to access a physical location in response to an input virtual address comprising: a single associative memory means for storing multiple virtual addresses, an equal multiple of respectively corresponding physical address tags, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bit containing at least one status bit; comparator means coupled to receive said input virtual address and also coupled to receive said multiple virtual addresses for comparing said input virtual address with said multiple virtual addresses to determine if a matching multiple virtual address exists among those addresses compared; fault detection circuit means coupled to said memory means for receiving said sets of status bits corresponding to said physical address tags and determining if a current access request of each of said physical address tags is permitted by its set of status bits, said fault detection circuit means performing its access check simultaneously with said comparing of said input virtual address with said multiple virtual addresses and generating a fault indication signal for each of said physical address tags which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and selector means coupled to said memory means, comparator means and fault detection circuit means for selecting a physical address tag corresponding to said matching multiple virtual address as said output physical address tag and its corresponding fault indication signal as an output fault indication signal to access said physical location, only if said comparator means find said matching multiple virtual address and said fault detection circuit permits said requested access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 7
Dependent Claim 333 words
A virtual memory management system for a processor for providing a portion of an output physical address (output physical address tag) to access a physical location in response to an input virtual address comprising: a single associative memory means for storing multiple virtual addresses, an equal multiple of respectively corresponding physical address tags, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bit containing at least one status bit; comparator means coupled to receive said input virtual address and also coupled to receive said multiple virtual addresses for comparing said input virtual address with said multiple virtual addresses to determine if a matching multiple virtual address exists among those addresses compared; fault detection circuit means coupled to said memory means for receiving said sets of status bits corresponding to said physical address tags and determining if a current access request of each of said physical address tags is permitted by its set of status bits, said fault detection circuit means performing its access check simultaneously with said comparing of said input virtual address with said multiple virtual addresses and generating a fault indication signal for each of said physical address tags which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and selector means coupled to said memory means, comparator means and fault detection circuit means for selecting a physical address tag corresponding to said matching multiple virtual address as said output physical address tag and its corresponding fault indication signal as an output fault indication signal to access said physical location, only if said comparator means find said matching multiple virtual address and said fault detection circuit permits said requested access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 8
Dependent Claim 16 words
The virtual memory management system of claim 5 wherein said memory means is a cache memory.
Claim 9
Dependent Claim 32 words
The virtual memory management system of claim 5 wherein said memory means is a four-way set associative cache memory for storing four selected virtual addresses and corresponding physical addresses and status bits.
Claim 10
Dependent Claim 25 words
The virtual memory management system of claim 5 wherein said memory is a four-way set associative cache memory implemented in four random access memory arrays.
Claim 11
Dependent Claim 346 words
A virtual memory management system for a processor for providing an output physical address tag to access a physical location in response to an input virtual address comprising: a single associative buffer memory for storing multiple virtual address tags, an equal multiple of respectively corresponding physical address tags, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bits containing at least one status bit; a comparator coupled to receive a virtual address tag of said input virtual address and also coupled to receive said multiple virtual address tags for comparing said multiple virtual address tags with said virtual address tag of said input virtual address to determine if a matching multiple virtual address tag exists among those address tags compared; a fault detection circuit coupled to said buffer memory for receiving said sets of status bits corresponding to said physical address tags and determining if a current access request of each of said physical address tags is permitted by its set of status bits, said fault detection circuit performing its access check simultaneously with said comparing of said multiple virtual address tags with said virtual address tag of said input virtual address and generating a fault indication signal for each of said physical address tags, which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and a multiplexer coupled to said buffer memory, comparator and fault detection circuit for selecting a physical address tag corresponding to said matching multiple virtual address tag as said output physical address tag and its corresponding fault indication signal as an output fault indication signal to access said physical location, only if said comparator finds a matching multiple virtual address tag and said fault detection circuit permits said requested access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 12
Dependent Claim 346 words
A virtual memory management system for a processor for providing an output physical address tag to access a physical location in response to an input virtual address comprising: a single associative buffer memory for storing multiple virtual address tags, an equal multiple of respectively corresponding physical address tags, and an equal multiple of respectively corresponding sets of status bits; each set of status bits indicating access right of its corresponding physical address to a specific physical location, each set of status bits containing at least one status bit; a comparator coupled to receive a virtual address tag of said input virtual address and also coupled to receive said multiple virtual address tags for comparing said multiple virtual address tags with said virtual address tag of said input virtual address to determine if a matching multiple virtual address tag exists among those address tags compared; a fault detection circuit coupled to said buffer memory for receiving said sets of status bits corresponding to said physical address tags and determining if a current access request of each of said physical address tags is permitted by its set of status bits, said fault detection circuit performing its access check simultaneously with said comparing of said multiple virtual address tags with said virtual address tag of said input virtual address and generating a fault indication signal for each of said physical address tags, which fault indication signal is of the type that prohibits access of said specific physical location if said set of status bits indicates that said current access request is prohibited; and a multiplexer coupled to said buffer memory, comparator and fault detection circuit for selecting a physical address tag corresponding to said matching multiple virtual address tag as said output physical address tag and its corresponding fault indication signal as an output fault indication signal to access said physical location, only if said comparator finds a matching multiple virtual address tag and said fault detection circuit permits said requested access, such that the fault indication signal and the physical address are provided in a single clock cycle.
Claim 13
Dependent Claim 34 words
The virtual memory management system of claim 9 wherein said fault detection circuit comprises a plurality of said fault detection circuit means, one of said fault detection circuits for each physical address tag stored.
Claim 14
Dependent Claim 16 words
The virtual memory management system of claim 10 wherein said buffer memory is a cache memory.
Claim 15
Dependent Claim 34 words
The virtual memory management system of claim 10 wherein said buffer memory is a four-way set associative cache memory for storing four selected virtual address tags and corresponding physical address tags and status bits.
Claim 16
Dependent Claim 25 words
The virtual memory management system of claim 10 wherein said buffer memory is a four-way set associative cache memory having four random access memory arrays.
Claim 17
Dependent Claim 167 words
In a virtual memory system for a computer including a single physical memory, means for storing information in said physical memory, means for providing virtual addresses representing locations in said physical memory at which information is stored, and means for translating said virtual addresses to physical addresses for accessing locations in said physical memory, the improvement comprising a buffer memory containing a plurality of stored virtual addresses and corresponding physical addresses utilized by said computer, means for addressing said buffer memory by an input virtual address, means for comparing said input virtual address to said stored virtual addresses, means for selecting a physical address from said buffer memory if said input virtual address matches one of said stored virtual addresses, and means for determining if access to said physical address is permitted at the same time as said input virtual address is compared to said stored virtual addresses, such that the access to the physical address and the physical address are provided in a single clock cycle.
Claim 18
Dependent Claim 167 words
In a virtual memory system for a computer including a single physical memory, means for storing information in said physical memory, means for providing virtual addresses representing locations in said physical memory at which information is stored, and means for translating said virtual addresses to physical addresses for accessing locations in said physical memory, the improvement comprising a buffer memory containing a plurality of stored virtual addresses and corresponding physical addresses utilized by said computer, means for addressing said buffer memory by an input virtual address, means for comparing said input virtual address to said stored virtual addresses, means for selecting a physical address from said buffer memory if said input virtual address matches one of said stored virtual addresses, and means for determining if access to said physical address is permitted at the same time as said input virtual address is compared to said stored virtual addresses, such that the access to the physical address and the physical address are provided in a single clock cycle.
Claim 19
Dependent Claim 15 words
The virtual memory system of claim 14 wherein said buffer memory is a cache memory.
Claim 20
Dependent Claim 26 words
The virtual memory system of claim 15 wherein said indication of said access violation is determined by a mode of operation being performed by said computer.
Claim 21
Dependent Claim 183 words
In a method of operating a virtual memory system for a computer including a single physical memory, means for storing information in said physical memory, means for providing virtual addresses representing locations in said physical memory at which information is stored, and means for translating said virtual addresses to physical addresses for accessing locations in said physical memory at which information is stored, the improvement comprising the steps of: storing a plurality of virtual addresses and corresponding physical addresses in a buffer for use by said computer; addressing said buffer memory by an input virtual address; comparing said input virtual address to said plurality of virtual addresses; selecting from said buffer memory a physical address corresponding to one of said plurality of virtual addresses if said input virtual address matches said one of said plurality of virtual addresses; and determining if access to said physical address is permitted at the same time as said input virtual address is compared to said stored virtual addresses, such that the access to the physical address and the physical address are provided in a single clock cycle.
Claim 22
Dependent Claim 183 words
In a method of operating a virtual memory system for a computer including a single physical memory, means for storing information in said physical memory, means for providing virtual addresses representing locations in said physical memory at which information is stored, and means for translating said virtual addresses to physical addresses for accessing locations in said physical memory at which information is stored, the improvement comprising the steps of: storing a plurality of virtual addresses and corresponding physical addresses in a buffer for use by said computer; addressing said buffer memory by an input virtual address; comparing said input virtual address to said plurality of virtual addresses; selecting from said buffer memory a physical address corresponding to one of said plurality of virtual addresses if said input virtual address matches said one of said plurality of virtual addresses; and determining if access to said physical address is permitted at the same time as said input virtual address is compared to said stored virtual addresses, such that the access to the physical address and the physical address are provided in a single clock cycle.

References Cited (Backward Citations)

US4241401A Cited
US4332010A Cited
US4641277A Cited
US4638426A Cited
US4581702A Cited
US4589092A Cited
US4809160A Cited
US4775955A Cited
US4890223A Cited
US4885680A Cited
US5055999A Cited
US5025366A Cited
US5008811A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-22 1997-05-24 1997-11-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-22 2001-05-24 2001-11-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-22 2005-05-24 2005-11-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag