Priority arbiter with shifting sequential priority scheme
First Claim
1. A method in a data processing system for arbitrating access to a shared resource by a plurality of devices, wherein each of the plurality of devices is associated with a priority, the method comprising:
- receiving requests from a number of devices within the plurality of devices for access to the shared resource;
identifying each device within the number of devices;
in response to one of the devices within the number of devices being identified as a priority device, granting the priority device to access the shared resource;
in response to the number of devices being identified as a number of devices with shifting priorities, granting access to the shared resource to a device within the number of devices having a highest priority among the number of devices from which the requests were received; and
shifting the priority of the device having the highest priority to a lowest priority and shifting the priority of remaining devices within the plurality of devices having shifting priorities after granting the device access to the shared resource.
12 Assignments
0 Petitions
Accused Products
Abstract
An improved data processing system and in particular an improved data processing system that more effectively manages a shared resource within a data processing system. More specifically, a method and apparatus for managing access to a shared resource between a plurality of devices simultaneously requesting access to the shared resource. The present invention implements a design that combines a priority configuration and a shifting sequential configuration. The access is controlled by an arbiter that determines access to the shared resource by granting first, to priority devices and then to the highest priority shifting sequential device requesting access within one clock cycle of a device terminating its request for access to the shared resource. In addition, the present invention employs a dynamic shifting sequential priority scheme by assigning lowest priority to a shifting sequential device once the device terminates its request to access the shared resource while simultaneously incrementally increasing the priority levels of the remaining shifting sequential devices.
-
Citations
32 Claims
-
1. A method in a data processing system for arbitrating access to a shared resource by a plurality of devices, wherein each of the plurality of devices is associated with a priority, the method comprising:
-
receiving requests from a number of devices within the plurality of devices for access to the shared resource; identifying each device within the number of devices; in response to one of the devices within the number of devices being identified as a priority device, granting the priority device to access the shared resource; in response to the number of devices being identified as a number of devices with shifting priorities, granting access to the shared resource to a device within the number of devices having a highest priority among the number of devices from which the requests were received; and shifting the priority of the device having the highest priority to a lowest priority and shifting the priority of remaining devices within the plurality of devices having shifting priorities after granting the device access to the shared resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data processing system comprising:
-
a priority device; a plurality of devices having shifting priorities, wherein each device within the plurality of devices has a priority relative to other devices within the plurality of devices; detection means for detecting requests from a number of devices within the plurality of devices for access to the shared resource; identification means for identifying each device within the number of devices; first granting means, responsive to detecting a request from the priority device, for granting the priority device to access the shared resource; second granting means, responsive to detecting requests from a number of devices within the plurality of devices, for granting access to a device within the number of devices having a highest priority among the number of devices from which the requests were detected; and shifting means, responsive to the second granting means granting access to a device, for shifting the priority of the device having the highest priority to a lowest priority and for shifting the priority of remaining devices within the plurality of devices having shifting priorities. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for arbitrating access to a shared resource among devices in a data processing system, wherein the devices include a device of a first type and a plurality of devices of a second type, the method comprising:
-
monitoring the devices for requests for the shared resource; granting the device of the first type access to the shared resource in response to detecting a request from the first device; granting access to a selected device within the plurality of second devices of the second type in response to a request from the selected device and an absence of a request from the device of the first type, wherein the selected device has a greater priority than other devices within the plurality devices of the second type; and changing priorities among the plurality of devices of the second type, wherein the selected device has a lowest priority. - View Dependent Claims (19, 20)
-
-
21. A data processing system comprising:
-
a shared resource; a priority device coupled to the shared resource; a plurality of shifting priority devices coupled to the shared resource; an arbiter coupled to the shared resource, wherein the arbiter has a plurality of modes of operation including; a first mode of operation in which the arbiter monitors for requests for the shared resource; a second mode of operation, responsive to detecting at least one request for the shared resource in the first mode of operation, in which the arbiter identifies a device for each request detected; a third mode of operation, in response to identifying a request from the priority device, in which the arbiter grants the priority device access to the shared resource; a fourth mode of operation, responsive to detecting a request from a shifting priority device, in which the arbiter grants the shifting priority device access to the shared resource and shifts the shifting priority device to a lowest priority among the plurality of shifting priority devices; a fifth mode of operation, responsive to detecting a request from at least two shifting devices from the plurality of shifting priority devices, in which the arbiter grants access to a shifting priority device having a highest priority among the at least two shifting priority devices; and a sixth mode of operation, responsive to granting access to the shifting priority device having the highest priority, in which the arbiter assigns a lowest priority to the shifting priority device granted access to the shared resource. - View Dependent Claims (22, 23)
-
-
24. A data processing system, comprising:
-
a plurality of devices, the plurality of devices including a plurality of shifting priority devices; and an arbiter, wherein the arbiter receives requests from the plurality of devices for access to a shared resource, and wherein if one of the plurality of devices is a priority device, the arbiter chooses the priority device to access the shared resource, and if a priority device is absent, the arbiter chooses a device having a highest priority from of the plurality of shifting priority devices to access the shared resource. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
Specification