Method and system for high performance dynamic and user programmable cache arbitration
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
66 Citations
43 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12)
-
-
13. 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. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. 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. - View Dependent Claims (22, 23, 24, 25)
-
-
26. 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. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. 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. - View Dependent Claims (33, 34)
-
-
35. 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. - View Dependent Claims (36, 37, 38)
-
-
39. 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. - View Dependent Claims (40, 41, 42, 43)
-
Specification