← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 06:24
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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag