Patent US5263140A successfully refreshed from Google Patents.
US5263140A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Variable page size per entry translation look-aside buffer
Assignee: MIPS Tech LLC
•
Filing: 1991-01-23
•
Granted: 1993-11-16
•
Expires: 2011-01-23
Abstract
Abstract A translation look-aside buffer with a variable page size per entry is disclosed. Each entry can have a different number of bits translated from a virtual address to a physical address. Each entry in the TLB contains an indication of the page size for that entry. When the translation is done, the indication of page size determines how many bits are translated.
Inventors
- 👤 Thomas J. Riordan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 10:55
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G11; G11C; G11C11/00; G11C11/56; G11C15/00; G11C15/04; G06F2212/00; G06F2212/65; G06F2212/652; G11C2211/00; G11C2211/56; G11C2211/564; G11C2211/5641
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
100 words
A translation look-aside buffer (TLB) comprising: a plurality of memory locations, each storing a single physical address; tag means for storing a plurality of virtual tags corresponding to said physical addresses; page means, associated with each of said memory locations, for storing an indication of a page size which can differ for each memory location; and control means, responsive to said page means, said tag means and an input virtual address, for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said input virtual address.
Claim 2
Dependent Claim
100 words
A translation look-aside buffer (TLB) comprising: a plurality of memory locations, each storing a single physical address; tag means for storing a plurality of virtual tags corresponding to said physical addresses; page means, associated with each of said memory locations, for storing an indication of a page size which can differ for each memory location; and control means, responsive to said page means, said tag means and an input virtual address, for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said input virtual address.
Claim 3
Dependent Claim
52 words
The TLB of claim 1 wherein said tag means and page means comprises a content addressable memory (CAM) having inputs coupled to a virtual address bus and having match outputs, coupled to a memory array of said memory locations, for indicating a match between said virtual tags and said input virtual address.
Claim 4
Dependent Claim
38 words
The TLB of claim 2 wherein said control means comprises a multiplexer having first inputs coupled to said memory array, second inputs coupled to a portion of said virtual address bus and select inputs coupled to said CAM.
Claim 5
Dependent Claim
47 words
The TLB of claim 2 wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page.
Claim 6
Dependent Claim
16 words
The TLB of claim 4 wherein a portion of said cells have only one bit stored.
Claim 7
Dependent Claim
60 words
The TLB of claim 4 further comprising: a mask register for storing a value indicating a page size; logic means, having inputs coupled to a data bus and said mask register, and outputs coupled to data I/O lines of said CAM, for writing an always match value to cells in an entry corresponding to the value in said mask register.
Claim 8
Dependent Claim
29 words
The TLB of claim 2 further comprising means for coupling each of said match outputs back to a read control input for each of said entries in said CAM.
Claim 9
Dependent Claim
53 words
The TLB of claim 7 wherein said means for coupling comprises a plurality of multiplexers, each multiplexer having an output coupled to a read control line for an entry, a first input coupled to a match output for said entry and a second input coupled to a read control input for said entry.
Claim 10
Dependent Claim
147 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs, coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; and means, responsive to said extra bits in said CAM for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said virtual address bus.
Claim 11
Dependent Claim
147 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs, coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; and means, responsive to said extra bits in said CAM for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said virtual address bus.
Claim 12
Dependent Claim
44 words
The TLB of claim 9 wherein said means for providing a variable number of bits comprises a multiplexer having first inputs coupled to said physical array, second inputs coupled to a portion of said virtual address bus and select inputs coupled to said CAM.
Claim 13
Dependent Claim
108 words
The TLB of claim 9 wherein said positions in said CAM having two bits each comprise: a first memory cell for storing a first bit value and its inverse; a second memory cell for storing a second bit value and its inverse; a virtual address bit line; an inverse virtual address bit line; first means for providing a signal to one of said match outputs responsive to signals on said first memory cell and said virtual address bit line; and second means for providing a signal to said one of said match outputs responsive to signals on said second memory cell and said inverse virtual address bit line.
Claim 14
Dependent Claim
73 words
The TLB of claim 11 wherein said first means for providing comprises: a first transistor having a first control lead coupled to said virtual address bit line, a second lead coupled to a match output and a third lead; and a second transistor having a first control lead coupled to said first memory cell, a second lead coupled to said third lead of said first transistor, and a third lead coupled to ground.
Claim 15
Dependent Claim
28 words
The TLB of claim 11 further comprising a first sense amplifier coupled to said first memory cell and a second sense amplifier coupled to said second memory cell.
Claim 16
Dependent Claim
66 words
The TLB of claim 9 further comprising: a mask register for storing a value indicating a page size; logic means, having inputs coupled to a data bus and said mask register, and outputs coupled to data I/O lines of said CAM for said entries having two bits, for writing an always match value to cells in an entry corresponding to the value in said mask register.
Claim 17
Dependent Claim
29 words
The TLB of claim 9 further comprising means for coupling each of said match outputs back to a read control input for each of said entries in said CAM.
Claim 18
Dependent Claim
53 words
The TLB of claim 15 wherein said means for coupling comprises a plurality of multiplexers, each multiplexer having an output coupled to a read control line for an entry, a first input coupled to a match output for said entry and a second input coupled to a read control input for said entry.
Claim 19
Dependent Claim
206 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; means, responsive to said extra bits in said CAM for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said virtual address bus; a mask register for storing a value indicating a page size; and logic means, having inputs coupled to a data bus and said mask register, and outputs coupled to data I/O lines of said CAM for said entries having two bits, for writing an always match value to cells in an entry corresponding to the value in said mask register.
Claim 20
Dependent Claim
206 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; means, responsive to said extra bits in said CAM for providing a variable number of bits of said physical address as an output address, the remaining bits of said output address being bits of said virtual address bus; a mask register for storing a value indicating a page size; and logic means, having inputs coupled to a data bus and said mask register, and outputs coupled to data I/O lines of said CAM for said entries having two bits, for writing an always match value to cells in an entry corresponding to the value in said mask register.
Claim 21
Dependent Claim
138 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; and a multiplexer having first inputs coupled to said physical array, second inputs coupled to said a portion of said virtual address bus and select inputs coupled to said CAM.
Claim 22
Dependent Claim
138 words
A translation look-aside buffer (TLB) comprising: a physical array with a plurality of memory locations for storing physical addresses; a content addressable memory (CAM), for storing a plurality of virtual tags corresponding to said physical addresses, having inputs coupled to a virtual address bus and having match outputs coupled to said physical array, for indicating a match between said virtual tags and an input virtual address, wherein said CAM comprises a plurality of cells, each cell containing a bit of said virtual tags, at least a portion of said cells having an extra bit for indicating whether the virtual tag bit of the cell is within a page; and a multiplexer having first inputs coupled to said physical array, second inputs coupled to said a portion of said virtual address bus and select inputs coupled to said CAM.
References Cited (Backward Citations)
US3675215A
Cited
US4356549A
Cited
US4654777A
Cited
US4763250A
Cited
US4812969A
Cited
US4972338A
Cited
US4758946A
Cited
EP0242854A2
Cited
US5058003A
Cited
US5133058A
Cited
EP0463978A2
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1996-11-15 | 1997-05-17 | 1997-11-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2000-11-15 | 2001-05-17 | 2001-11-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2004-11-15 | 2005-05-17 | 2005-11-16 | $7700.00 | Window Closed / Lapsed |