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

Cache memory address modifier for dynamic alteration of cache block fetch sequence

Assignee: Sun Microsystems Inc
•
Filing: 1988-03-24
•
Granted: 1990-08-28
•
Expires: 2008-03-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache memory includes an address modification circuit for operation during a cache block fetch sequence. The address modification circuit is connected to a polling circuit which receives a first word address from other portions of the cache memory connected to an instruction unit. The polling circuit tests whether a memory module storing the first word is free to make a data return transfer to the cache memory. When the memory module indicates that it is inhibited from making the data return to the cache memory, the address modification circuit selects in order of priority the next word in a cache block to be fetched and polls a memory module storing the next word. Word address selection and polling continues until a free memory module responds or until all words in the cache block have been fetched from main memory.

Inventors

  • 👤 William P. Ward
  • 👤 Douglas R. Beard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 09:09
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 255 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory which includes a plurality of memory modules, comprising: word address receiving means for receiving a first memory word address of a first desired word of a storage block comprising a plurality of words to be fetched from main memory, the first memory word address identifying a storage location in a particular memory module of said plurality of memory modules of said main memory from which the first desired word is to be fetched; testing means coupled to said word address receiving means and to the main memory, for testing the particular memory module associated with the memory word address and for determining whether the particular memory module is free to process a data return in response to receipt of the first memory word address, or whether said particular memory module is inhibited and thereby issuing a memory inhibit signal; and dynamic address alteration means coupled to said testing means and responsive to said memory inhibit signal for generating a second memory word address of a second desired word of the storage block when the testing means indicates that the particular memory module is inhibited, the second memory word address identifying a second memory word of the storage block, said dynamic address alteration means further comprising means for selecting by priority a free memory module of said plurality of memory modules other than said particular memory module storing the second desired word which has not yet been fetched.
Claim 2
Dependent Claim 255 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory which includes a plurality of memory modules, comprising: word address receiving means for receiving a first memory word address of a first desired word of a storage block comprising a plurality of words to be fetched from main memory, the first memory word address identifying a storage location in a particular memory module of said plurality of memory modules of said main memory from which the first desired word is to be fetched; testing means coupled to said word address receiving means and to the main memory, for testing the particular memory module associated with the memory word address and for determining whether the particular memory module is free to process a data return in response to receipt of the first memory word address, or whether said particular memory module is inhibited and thereby issuing a memory inhibit signal; and dynamic address alteration means coupled to said testing means and responsive to said memory inhibit signal for generating a second memory word address of a second desired word of the storage block when the testing means indicates that the particular memory module is inhibited, the second memory word address identifying a second memory word of the storage block, said dynamic address alteration means further comprising means for selecting by priority a free memory module of said plurality of memory modules other than said particular memory module storing the second desired word which has not yet been fetched.
Claim 3
Dependent Claim 33 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from main memory as defined in claim 1, wherein the means for selecting by priority includes a priority encoder.
Claim 4
Dependent Claim 94 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from main memory as defined in claim 1, wherein the testing means includes a plurality of OR gates and wherein said dynamic address alteration means includes means for generating a fetch priority signal indicative of whether said first desired word has previously been fetched, each OR gate of said plurality being connected to receive said fetch priority signal and the memory inhibit signal indicative as to whether the particular memory module of the main memory is inhibited or is free.
Claim 5
Dependent Claim 158 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory as defined in claim 3, wherein the dynamic address alteration means further includes a multiplexer controlled by an output of one of the OR gates so that when the particular memory module is free and the first desired word has not been fetched the word address of said first desired word is output to the main memory for subsequently attempting to retrieve said first desired word and said means for selecting by priority generates a signal indicative of the highest priority unfetched word of said storage block in said free memory module other than said particular memory module so that when the first desired word has been previously fetched or the particular memory module is inhibited, said signal is received from said means for selecting by priority to fetch the highest priority unfetched word residing in said free memory module.
Claim 6
Dependent Claim 288 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory which includes a plurality of memory modules, comprising: word address receiving means for receiving a first memory word address of a first desired word of a storage block comprising a plurality of words to be fetched from main memory, the first memory word address identifying a storage location in a particular memory module of said plurality of memory modules of said main memory from which the first desired word is to be fetched; testing means coupled to said word address receiving means and to the main memory, for testing the particular memory module associated with the first memory word address and for determining whether the particular memory module is free to process a data return in response to receipt of the memory word address, or whether said particular memory module is inhibited and thereby issuing a memory inhibit signal; dynamic address alteration means coupled to said testing means and responsive to said memory inhibit signal for generating a second memory word address of a second desired word of the storage block when the testing means indicates that the particular memory module is inhibited, the second memory word address identifying a second memory word of the storage block; and wherein the testing means includes a plurality of OR gates and wherein said dynamic address alteration means includes means for generating a fetch priority signal indicative of whether said first desired word has previously been fetched, each OR gate of said plurality being connected to receive said fetch priority signal and the memory inhibit signal indicative as to whether the particular memory module of the main memory is inhibited or is free.
Claim 7
Dependent Claim 288 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory which includes a plurality of memory modules, comprising: word address receiving means for receiving a first memory word address of a first desired word of a storage block comprising a plurality of words to be fetched from main memory, the first memory word address identifying a storage location in a particular memory module of said plurality of memory modules of said main memory from which the first desired word is to be fetched; testing means coupled to said word address receiving means and to the main memory, for testing the particular memory module associated with the first memory word address and for determining whether the particular memory module is free to process a data return in response to receipt of the memory word address, or whether said particular memory module is inhibited and thereby issuing a memory inhibit signal; dynamic address alteration means coupled to said testing means and responsive to said memory inhibit signal for generating a second memory word address of a second desired word of the storage block when the testing means indicates that the particular memory module is inhibited, the second memory word address identifying a second memory word of the storage block; and wherein the testing means includes a plurality of OR gates and wherein said dynamic address alteration means includes means for generating a fetch priority signal indicative of whether said first desired word has previously been fetched, each OR gate of said plurality being connected to receive said fetch priority signal and the memory inhibit signal indicative as to whether the particular memory module of the main memory is inhibited or is free.
Claim 8
Dependent Claim 155 words
A cache memory address modifier for dynamic alteration of a cache block fetch sequence from a main memory as defined in claim 5, wherein the dynamic address alteration means further includes a multiplexer controlled by an output of one of the OR gates so that when the particular memory module is free and the first desired word has not been fetched the word address of said first desired word is output to the main memory for subsequently attempting to retrieve said first desired word and means for selecting by priority for generating a signal indicating the highest priority unfetched word of said storage block in a free memory module other than said particular memory module so that when the first desired word has been previously fetched or the particular memory module is inhibited, said signal is received from said means for selecting by priority the highest priority unfetched word residing in said free memory module.

References Cited (Backward Citations)

US3449724A Cited
US3806888A Cited
US4157587A Cited
US4445191A Cited
US4317168A Cited
US4802125A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-08-27 1994-02-26 1994-08-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-08-27 1998-02-26 1998-08-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-08-27 2002-02-26 2002-08-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag