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

Method and system for high performance dynamic and user programmable cache arbitration

Assignee: International Business Machines Corp
•
Filing: 1996-09-09
•
Granted: 1998-10-13
•
Expires: 2016-09-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for improving arbitration of a plurality of events that may require access to a cache is disclosed. In a first aspect, the method and system provide dynamic arbitration. The first aspect comprises first logic for determining whether at least one of the plurality of events requires access to the cache and for outputting at least one signal in response thereto. Second logic coupled to the first logic determines the priority of each of the plurality of events in response to the at least one signal and outputs a second signal specifying the priority of each event. Third logic coupled to the second logic grants access to the cache in response to the second signal. A second aspect of the method and system provides user programmable arbitration. The second aspect comprises a storage unit which allows the user to input information indicating the priority of at least one of the plurality of events and outputs a first signal in response to the information. In the second aspect, first logic coupled to the storage unit determines the priority of each of the plurality of events in response to the first signal and outputs a second signal indicating the priority of each event. Second logic coupled to the first logic grants access to the cache in response to the second signal.

Inventors

  • 👤 Albert John Loper
  • 👤 Timothy Alan Elliott
  • 👤 Christopher Hans Olson
  • 👤 David J. Shippy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-10 01:52
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0893; G06F12/0897; G06F13/00; G06F13/14; G06F13/16; G06F13/18

Claims Analysis

Total Claims: 51
Claim 1
Independent Claim 180 words
A system for a dynamic arbitration of access by a plurality of events to a cache comprising: first logic for determining whether at least one of the plurality of events requires access to the cache and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for outputting a second signal specifying the priority of each event; and third logic coupled to the second logic for granting access to the cache in response to the second signal specifying the priority of each event, the third logic comprising a first tier of a plurality multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 2
Independent Claim 180 words
A system for a dynamic arbitration of access by a plurality of events to a cache comprising: first logic for determining whether at least one of the plurality of events requires access to the cache and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for outputting a second signal specifying the priority of each event; and third logic coupled to the second logic for granting access to the cache in response to the second signal specifying the priority of each event, the third logic comprising a first tier of a plurality multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 3
Dependent Claim 17 words
The system of claim 1 wherein the first logic further comprises a program manageable special purpose register.
Claim 4
Dependent Claim 40 words
The system of claim 2 wherein the second logic further includes a performance monitor evaluation for automatically adjusting the priority of one of the plurality of events in response to a signal output from the program manageable special purpose register.
Claim 5
Dependent Claim 13 words
The system of claim 3 wherein the cache is a single ported cache.
Claim 6
Dependent Claim 29 words
The system of claim 4 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 7
Dependent Claim 14 words
The system of claim 1 wherein the first logic further comprises a performance monitor.
Claim 8
Dependent Claim 17 words
The system of claim 6 wherein the first logic further comprises a program manageable special purpose register.
Claim 9
Independent Claim 185 words
A system for a user programmable arbitration of access by a plurality of events to a cache comprising: a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for outputting a first signal in response to the information; first logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the first signal and for outputting a second signal specifying the priority of each event; and second logic coupled to the first logic, for granting access to the cache in response to the second signal specifying the priority of each event, the second logic comprising a first tier of a plurality of multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 10
Independent Claim 185 words
A system for a user programmable arbitration of access by a plurality of events to a cache comprising: a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for outputting a first signal in response to the information; first logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the first signal and for outputting a second signal specifying the priority of each event; and second logic coupled to the first logic, for granting access to the cache in response to the second signal specifying the priority of each event, the second logic comprising a first tier of a plurality of multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 11
Dependent Claim 13 words
The system of claim 8 wherein the logic unit further comprises a register.
Claim 12
Dependent Claim 36 words
The system of claim 8 wherein the information input by the user further comprises at least one bit indicating order of the at least one event and at least a second of the plurality of events.
Claim 13
Dependent Claim 13 words
The system of claim 10 wherein the cache is a single ported cache.
Claim 14
Dependent Claim 29 words
The system of claim 11 wherein the cache is a level two cache; and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 15
Independent Claim 245 words
A system for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache comprising: a first logic for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for outputting a second signal specifying the priority of each event; a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for outputting a third signal in response to the information; third logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the third signal and for outputting a fourth signal specifying the priority of each event; a mode detector coupled with the second logic and the third logic, the mode detector for determining whether dynamic or user programmable arbitration will be performed and for outputting a fifth signal, the fifth signal being in response to the second signal when dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal when user programmable arbitration is to be performed; fourth logic coupled to the mode detector, for granting access to the cache in response to the fifth signal.
Claim 16
Independent Claim 245 words
A system for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache comprising: a first logic for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for outputting a second signal specifying the priority of each event; a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for outputting a third signal in response to the information; third logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the third signal and for outputting a fourth signal specifying the priority of each event; a mode detector coupled with the second logic and the third logic, the mode detector for determining whether dynamic or user programmable arbitration will be performed and for outputting a fifth signal, the fifth signal being in response to the second signal when dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal when user programmable arbitration is to be performed; fourth logic coupled to the mode detector, for granting access to the cache in response to the fifth signal.
Claim 17
Dependent Claim 86 words
The system of claim 13 wherein the fourth logic further comprises: a first tier of a plurality of multiplexers, each multiplexer of the first tier corresponding to a particular priority, each multiplexer of the first tier for providing one of the plurality of events having the particular priority; and a second tier of at least one multiplexer, the second tier coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 18
Dependent Claim 40 words
The system of claim 14 wherein the information input by the user further comprises at least one bit indicating order of the at least one of the plurality of events and at least a second of the plurality of events.
Claim 19
Dependent Claim 15 words
The system of claim 15 wherein the first logic further comprises a program manageable register.
Claim 20
Dependent Claim 13 words
The system of claim 16 wherein the cache is a single ported cache.
Claim 21
Dependent Claim 29 words
The system of claim 17 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 22
Dependent Claim 14 words
The system of claim 15 wherein the first logic further comprises a performance monitor.
Claim 23
Dependent Claim 17 words
The system of claim 19 wherein the first logic further comprises a program manageable special purpose register.
Claim 24
Independent Claim 195 words
A system for a dynamic arbitration of access by a plurality of events to a cache in a computer system including a processor comprising: first logic for monitoring the processor, for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for providing a second signal specifying the priority of each event; and third logic coupled to the second logic, for granting access to the cache in response to the second signal specifying the priority of each event, the third logic comprising a first tier of a plurality of multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer, the second tier coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 25
Independent Claim 195 words
A system for a dynamic arbitration of access by a plurality of events to a cache in a computer system including a processor comprising: first logic for monitoring the processor, for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for providing a second signal specifying the priority of each event; and third logic coupled to the second logic, for granting access to the cache in response to the second signal specifying the priority of each event, the third logic comprising a first tier of a plurality of multiplexers such that each multiplexer of the first tier corresponds to a particular priority and provides one of the plurality of events having the particular priority, and a second tier of at least one multiplexer, the second tier coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 26
Dependent Claim 17 words
The system of claim 21 wherein the first logic further comprises a program manageable special purpose register.
Claim 27
Dependent Claim 40 words
The system of claim 22 wherein the second logic further includes a performance monitor evaluation for automatically adjusting the priority of one of the plurality of events in response to a signal output from the program manageable special purpose register.
Claim 28
Dependent Claim 13 words
The system of claim 23 wherein the cache is a single ported cache.
Claim 29
Dependent Claim 29 words
The system of claim 24 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 30
Independent Claim 249 words
A system for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache in a computer system including a processor comprising: a first logic for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for providing a second signal specifying the priority of each event; a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for providing a third signal in response to the information; third logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the third signal and for outputting a fourth signal specifying the priority of each event; a mode detector coupled with the first logic and the third logic, for determining whether dynamic or user programmable arbitration will be performed and for outputting a fifth signal, the fifth signal being in response to the second signal when dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal when user programmable arbitration is to be performed; fourth logic coupled to the mode detector, for granting access to the cache in response to the fifth signal.
Claim 31
Independent Claim 249 words
A system for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache in a computer system including a processor comprising: a first logic for determining whether at least one of the plurality of events requires access to the cache, and for outputting at least one signal in response thereto; second logic coupled to the first logic for determining the priority of each of the plurality of events in response to the at least one signal and for providing a second signal specifying the priority of each event; a logic unit for allowing the user to input information indicating the priority of at least one of the plurality of events and for providing a third signal in response to the information; third logic coupled to the logic unit for determining the priority of each of the plurality of events in response to the third signal and for outputting a fourth signal specifying the priority of each event; a mode detector coupled with the first logic and the third logic, for determining whether dynamic or user programmable arbitration will be performed and for outputting a fifth signal, the fifth signal being in response to the second signal when dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal when user programmable arbitration is to be performed; fourth logic coupled to the mode detector, for granting access to the cache in response to the fifth signal.
Claim 32
Dependent Claim 86 words
The system of claim 26 wherein the fourth logic further comprises: a first tier of a plurality of multiplexers, each multiplexer of the first tier corresponding to a particular priority, each multiplexer of the first tier for providing one of the plurality of events having the particular priority; and a second tier of at least one multiplexer, the second tier coupled to the first tier, the second tier for granting access to the cache according to the particular priority of each multiplexer of the first tier.
Claim 33
Dependent Claim 40 words
The system of claim 27 wherein the information input by the user further comprises at least one bit indicating order of the at least one of the plurality of events and at least a second of the plurality of events.
Claim 34
Dependent Claim 15 words
The system of claim 28 wherein the first logic further comprises a program manageable register.
Claim 35
Dependent Claim 13 words
The system of claim 29 wherein the cache is a single ported cache.
Claim 36
Dependent Claim 29 words
The system of claim 30 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 37
Independent Claim 199 words
A method for a dynamic arbitration of access by a plurality of events to a cache comprising the steps of: a) determining whether at least one of the plurality of events requires access to the cache; b) outputting at least one signal in response to the determination of whether the at least one of the plurality of events requires access to the cache; c) determining the priority of each of the plurality of events in response to the at least one signal; d) outputting a second signal specifying the priority of each event; and e) granting access to the cache in response to the second signal specifying the priority of each event, including providing each of the plurality of events to a first tier of a plurality of multiplexers wherein each multiplexer of the first tier corresponds to a particular priority, outputting a signal comprising one of the plurality of events corresponding to the particular priority from each multiplexer of the first tier to a second tier of at least one multiplexer wherein the second tier of at least one multiplexer is for granting access to the cache, and granting access to the cache according to the particular priority.
Claim 38
Independent Claim 199 words
A method for a dynamic arbitration of access by a plurality of events to a cache comprising the steps of: a) determining whether at least one of the plurality of events requires access to the cache; b) outputting at least one signal in response to the determination of whether the at least one of the plurality of events requires access to the cache; c) determining the priority of each of the plurality of events in response to the at least one signal; d) outputting a second signal specifying the priority of each event; and e) granting access to the cache in response to the second signal specifying the priority of each event, including providing each of the plurality of events to a first tier of a plurality of multiplexers wherein each multiplexer of the first tier corresponds to a particular priority, outputting a signal comprising one of the plurality of events corresponding to the particular priority from each multiplexer of the first tier to a second tier of at least one multiplexer wherein the second tier of at least one multiplexer is for granting access to the cache, and granting access to the cache according to the particular priority.
Claim 39
Dependent Claim 13 words
The method of claim 32 wherein the cache is a single ported cache.
Claim 40
Dependent Claim 29 words
The method of claim 33 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 41
Independent Claim 189 words
A method for a user programmable arbitration of access by a plurality of events to a cache comprising the steps of: a) providing information input by the user, the information indicating the priority of at least one of the plurality of events; b) outputting a first signal in response to the information input by the user; c) determining the priority of each of the plurality of events in response to the signal; d) outputting a second signal specifying the priority of each event; and e) granting access to the cache in response to the second signal specifying the priority of each event, including providing each of the plurality of events to a first tier of a plurality of multiplexers wherein each multiplexer of the first tier corresponds to a particular priority, providing a multiplexer output comprising one of the plurality of events corresponding to the particular priority from each multiplexer of the first tier to a second tier of at least one multiplexer wherein the second tier of at least one multiplexer is for granting access to the cache, and granting access to the cache to the particular priority.
Claim 42
Independent Claim 189 words
A method for a user programmable arbitration of access by a plurality of events to a cache comprising the steps of: a) providing information input by the user, the information indicating the priority of at least one of the plurality of events; b) outputting a first signal in response to the information input by the user; c) determining the priority of each of the plurality of events in response to the signal; d) outputting a second signal specifying the priority of each event; and e) granting access to the cache in response to the second signal specifying the priority of each event, including providing each of the plurality of events to a first tier of a plurality of multiplexers wherein each multiplexer of the first tier corresponds to a particular priority, providing a multiplexer output comprising one of the plurality of events corresponding to the particular priority from each multiplexer of the first tier to a second tier of at least one multiplexer wherein the second tier of at least one multiplexer is for granting access to the cache, and granting access to the cache to the particular priority.
Claim 43
Dependent Claim 40 words
The method of claim 35 wherein the information input by the user further comprises at least one bit indicating order of the at least one of the plurality of events and at least a second of the plurality of events.
Claim 44
Dependent Claim 13 words
The method of claim 36 wherein the cache is a single ported cache.
Claim 45
Dependent Claim 29 words
The method of claim 37 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 46
Independent Claim 213 words
A method for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache comprising the steps of: a) determining whether at least one of the plurality of events requires access to the cache; b) outputting at least one signal in response to the determination of whether the at least one of the plurality of events requires access to the cache; c) determining the priority of each of the plurality of events in response to the at least one signal; d) outputting a second signal indicating the priority of each event; e) providing information input by the user, the information determining the priority of at least one of the plurality of events; f) outputting a third signal in response to the information; g) determining the priority of each of the plurality of events in response to the third signal; h) outputting a fourth signal indicating the priority of each event; i) outputting a fifth signal, the fifth signal being in response to the second signal if the dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal if the user programmable arbitration is to be performed; and j) granting access to the cache in response to the fifth signal.
Claim 47
Independent Claim 213 words
A method for a dynamic arbitration and a user programmable arbitration of access by a plurality of events to a cache comprising the steps of: a) determining whether at least one of the plurality of events requires access to the cache; b) outputting at least one signal in response to the determination of whether the at least one of the plurality of events requires access to the cache; c) determining the priority of each of the plurality of events in response to the at least one signal; d) outputting a second signal indicating the priority of each event; e) providing information input by the user, the information determining the priority of at least one of the plurality of events; f) outputting a third signal in response to the information; g) determining the priority of each of the plurality of events in response to the third signal; h) outputting a fourth signal indicating the priority of each event; i) outputting a fifth signal, the fifth signal being in response to the second signal if the dynamic arbitration is to be performed, and the fifth signal being in response to the fourth signal if the user programmable arbitration is to be performed; and j) granting access to the cache in response to the fifth signal.
Claim 48
Dependent Claim 40 words
The method of claim 39 wherein the information input by the user further comprises at least one bit indicating order of the at least one of the plurality of events and at least a second of the plurality of events.
Claim 49
Dependent Claim 13 words
The method of claim 40 wherein the cache is a single ported cache.
Claim 50
Dependent Claim 29 words
The method of claim 41 wherein the cache is a level two cache and wherein the plurality of events further comprises events requiring access to a level one cache.
Claim 51
Dependent Claim 119 words
The method of claim 42 wherein cache access granting step (j) further comprises the steps of: j1) providing each of the plurality of events to a first tier of a plurality of multiplexers, each multiplexer of the first tier corresponding to a particular priority; j2) providing a multiplexer output from each multiplexer of the first tier to a second tier of at least one multiplexer, the multiplexer output further comprising a one of the plurality of events corresponding to the particular priority, the second tier for granting access to the cache; and j3) granting access to the cache according to the cache according to the particular priority of each multiplexer of the first tier of at least one multiplexer.

References Cited (Backward Citations)

US4953081A Cited
US5513335A Cited
US5485455A Cited
US5689656A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag