Patent US5835962A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5835962A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel access micro-TLB to speed up address translation

Assignee: Fujitsu Ltd
•
Filing: 1996-12-24
•
Granted: 1998-11-10
•
Expires: 2016-12-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory management unit (MMU) includes a translation lookaside buffer capable of simultaneously servicing three requests supplied to the MMU by an instruction cache and two data caches, respectively. Also, an arbiter selects one of several pending requests from sources of different priorities for immediate processing by the MMU, using a process which avoids undue delay in servicing requests from sources of lower priority.

Inventors

  • 👤 Chih-Wei David Chang
  • 👤 Kioumars Dawallu
  • 👤 Joel F. Boney
  • 👤 Ming-Ying Li
  • 👤 Jen-Hong Charles Chen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 23:45
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F2212/00; G06F2212/68; G06F2212/681

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 237 words
A memory management unit for virtual to physical address translation in a computer system, comprising a translation lookaside buffer which includes a plurality of entries and a plurality of comparators for each of said entries, wherein each of said entries has an address field, the address field of each of said entries is connected to a first input line of each of said plurality of comparators for said entry, a respective one of a plurality of signals, each signal indicating a respective virtual address to be translated by said memory management unit, is carried on a second input line of each of said plurality of comparators and the addresses stored in the address field of each of said entries are each simultaneously compared with each of the virtual addresses indicated by a respective one of said plurality of signals; further comprising: a plurality of caches; a plurality of input buffers; a plurality of command request buffers, each connected to receive signals from (a) said translation-lookaside-buffer, (b) a plurality of caches, and (c) said plurality of input buffers, wherein said plurality of input buffers are also connected to receive signals from said plurality of caches; and arbiter logic, connected to receive signals from said plurality of command request buffers and which selects one of the signals received from said command request buffers and determines which of said signals received from said command request buffers is to be processed.
Claim 2
Dependent Claim 237 words
A memory management unit for virtual to physical address translation in a computer system, comprising a translation lookaside buffer which includes a plurality of entries and a plurality of comparators for each of said entries, wherein each of said entries has an address field, the address field of each of said entries is connected to a first input line of each of said plurality of comparators for said entry, a respective one of a plurality of signals, each signal indicating a respective virtual address to be translated by said memory management unit, is carried on a second input line of each of said plurality of comparators and the addresses stored in the address field of each of said entries are each simultaneously compared with each of the virtual addresses indicated by a respective one of said plurality of signals; further comprising: a plurality of caches; a plurality of input buffers; a plurality of command request buffers, each connected to receive signals from (a) said translation-lookaside-buffer, (b) a plurality of caches, and (c) said plurality of input buffers, wherein said plurality of input buffers are also connected to receive signals from said plurality of caches; and arbiter logic, connected to receive signals from said plurality of command request buffers and which selects one of the signals received from said command request buffers and determines which of said signals received from said command request buffers is to be processed.
Claim 3
Dependent Claim 37 words
The memory management unit of claim 1, further comprising second and third translation-lookaside-buffers, wherein said second translation-lookaside-buffer is connected to receive signals from said arbiter logic and is further connected to provide signals to said third translation-lookaside-buffer.
Claim 4
Dependent Claim 39 words
The memory management unit of claim 2, wherein said second and third translation-lookaside-buffer are accessed when said plurality of comparators indicate that none of said address fields of each entry of said translation-lookaside-buffer equals any of said virtual addresses.
Claim 5
Dependent Claim 72 words
The memory management unit of claim 1, wherein one of said plurality of signals indicating a respective virtual address to be translated by said memory management unit is provided from a first of said plurality of caches, a second of said plurality of signals is provided from a second of said plurality of caches, and a third of said plurality of signals is provided from a third of said plurality of caches.
Claim 6
Dependent Claim 39 words
The memory management unit of claim 1, wherein a first and second of said plurality of caches are, respectively, even and odd data caches for interleaved memory, and a third of said plurality of caches is an instruction cache.
Claim 7
Dependent Claim 21 words
The memory management unit of claim 1, wherein said plurality of entries in said translation-lookaside-buffer are replaced on a first-in-first-out basis.
Claim 8
Dependent Claim 48 words
The memory management unit of claim 1, wherein said command request buffers are connected to receive output signals from said comparators and are connected to receive one of either addresses and commands in a same memory cycle as said command request buffers receive output signals from said comparators.
Claim 9
Independent Claim 174 words
A method for arbitrating among a plurality of pending requests for processing, each pending command request being in a buffer having an associated priority, comprising the steps of: (a) selecting a pending command request from a first buffer having a highest priority for processing; (b) if at a time of selecting said pending request there is a pending command request in another buffer having a lower priority, setting a masking bit associated with said pending command request from said first buffer; (c) processing said pending command request from said first buffer; (d) after processing said pending command request from said first buffer, selecting as the next pending request a command request from another buffer having a lower priority, in accordance with said masking bit; (e) processing a pending request from said another buffer having a lower priority, even if an additional command request is pending in said first buffer; (f) initializing the masking bits associated with each buffer; and (g) repeating steps (a) through (f) until all of said pending command requests are processed.
Claim 10
Independent Claim 174 words
A method for arbitrating among a plurality of pending requests for processing, each pending command request being in a buffer having an associated priority, comprising the steps of: (a) selecting a pending command request from a first buffer having a highest priority for processing; (b) if at a time of selecting said pending request there is a pending command request in another buffer having a lower priority, setting a masking bit associated with said pending command request from said first buffer; (c) processing said pending command request from said first buffer; (d) after processing said pending command request from said first buffer, selecting as the next pending request a command request from another buffer having a lower priority, in accordance with said masking bit; (e) processing a pending request from said another buffer having a lower priority, even if an additional command request is pending in said first buffer; (f) initializing the masking bits associated with each buffer; and (g) repeating steps (a) through (f) until all of said pending command requests are processed.
Claim 11
Dependent Claim 24 words
The method of claim 8, wherein said step of initializing comprises setting the masking bit associated with each buffer to a value of zero.
Claim 12
Dependent Claim 21 words
The method of claim 8, further comprising the step of processing a direct memory access before processing any pending command request.

References Cited (Backward Citations)

US4628451A Cited
US4792897A Cited
US4985828A Cited
US5222223A Cited
US5388215A Cited
US5305444A Cited
US5426750A Cited
US5319760A Cited
US5386527A Cited
US5428757A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-09 2002-05-11 2002-11-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-09 2006-05-11 2006-11-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-09 2010-05-11 2010-11-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag