Method for arbitrating access to a shared resource
First Claim
1. A method for arbitrating access to a resource shared by plural electronic elements and accessible according to access cycles clocked by a clock signal, the method comprising:
- allocating each element a first counting value and a first penalty;
modifying, in a first numerical direction, the first counting value of each element, in synchronization with the clock signal;
modifying, in a second numerical direction opposite to the first numerical direction, the first counting value of each element, by a value equal to the first penalty, every time the element is selected for an access cycle; and
when the plural electronic elements are simultaneously waiting to access the shared resource, selecting one of the plural electronic elements to access the resource if its first counting value reaches a threshold, and if its first counting value exceeds in the first numerical direction, the first counting values of the other elements that are simultaneously waiting to access the shared resource, wherein;
each element is allocated a second counting value and a second penalty;
the second counting value of each element is modified in the second numerical direction, by a value equal to the second penalty, every time the element is selected;
when several elements are simultaneously waiting to access the shared resource, if no element can be selected by virtue of its first counting value, the element selected is the one the second counting value of which exceeds in the first numerical direction the second counting values of the other elements having sent an access request; and
the first counting value of each element is modified in the second numerical direction, by a value equal to the first penalty, every time the element is selected by virtue of its second counting value, and reciprocally the second counting value of each element is also modified in the second numerical direction, by a value equal to the second penalty, every time the element is selected by virtue of its first counting value.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for arbitrating access to a resource shared by several electronic elements. Each element is allocated a first counting value and a first penalty, the first counting value is decremented in synchronization with a clock signal, and is incremented by a value equal to the first penalty every time the element is selected for an access cycle. When several elements are simultaneously waiting to access the shared resource, an element is selected to access the resource if its first counting value is lower than or equal to a determined threshold, and is lower than the first counting values of the other elements having sent an access request.
-
Citations
27 Claims
-
1. A method for arbitrating access to a resource shared by plural electronic elements and accessible according to access cycles clocked by a clock signal, the method comprising:
-
allocating each element a first counting value and a first penalty; modifying, in a first numerical direction, the first counting value of each element, in synchronization with the clock signal; modifying, in a second numerical direction opposite to the first numerical direction, the first counting value of each element, by a value equal to the first penalty, every time the element is selected for an access cycle; and when the plural electronic elements are simultaneously waiting to access the shared resource, selecting one of the plural electronic elements to access the resource if its first counting value reaches a threshold, and if its first counting value exceeds in the first numerical direction, the first counting values of the other elements that are simultaneously waiting to access the shared resource, wherein; each element is allocated a second counting value and a second penalty; the second counting value of each element is modified in the second numerical direction, by a value equal to the second penalty, every time the element is selected; when several elements are simultaneously waiting to access the shared resource, if no element can be selected by virtue of its first counting value, the element selected is the one the second counting value of which exceeds in the first numerical direction the second counting values of the other elements having sent an access request; and the first counting value of each element is modified in the second numerical direction, by a value equal to the first penalty, every time the element is selected by virtue of its second counting value, and reciprocally the second counting value of each element is also modified in the second numerical direction, by a value equal to the second penalty, every time the element is selected by virtue of its first counting value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A device for arbitrating access to a resource shared by plural electronic elements, the shared resource being accessible according to access cycles clocked by a clock signal, the device comprising:
-
first storage elements for storing, for each element, a first penalty individually allocated to each element; first counters for individually allocating to each element a first counting value, and for modifying, in a first numerical direction, the first counting value in synchronization with the clock signal, and modifying, in a second numerical direction opposite to the first numerical direction, the first counting value by a value equal to the first penalty, every time the corresponding element is selected for an access cycle; a first comparison circuit for supplying, when the plural electronic elements are simultaneously waiting to access the shared resource, a first selection signal designating an element the first counting value of which reaches a threshold, and the first counting value of which exceeds in the first numerical direction the first counting values of the other elements having sent an access request; second storage elements for storing, for each element, a second penalty individually allocated to each element; second counters for individually allocating to each element a second counting value, and modifying in the second numerical direction, the second counting value by a value equal to the second penalty, every time the corresponding is selected for an access cycle; and a second comparison circuit for supplying, when the plural electronic elements are simultaneously waiting to access the shared resource, a second selection signal designating an element the second counting value of which exceeds in the first numerical direction the second counting values of the other elements having sent an access request, wherein the first counting value of each element is modified in the second numerical direction, by a value equal to the first penalty, every time the element is selected by virtue of its second counting value, and reciprocally the second counting value of each element is modified in the second numerical direction, by a value equal to the second penalty every time the element is selected by virtue of its first counting value. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for arbitrating access to a resource shared by plural electronic elements and accessible according to access cycles clocked by a clock signal, the method comprising:
-
allocating to the elements respectively first counting values and respectively first penalty values; modifying, in a first numerical direction, the first counting values in synchronization with the clock signal; selecting one of the elements; modifying, in a second numerical direction opposite to the first numerical direction, the first counting value of the selected element by the first penalty value of the selected element in response to the selecting step; when plural of the elements are waiting to be selected; determining whether any of the waiting elements has a first counting value that has attained a minimum access threshold; if there is only one of the waiting elements that has a first counting value that has attained the minimum access threshold, then selecting the one element; if there are plural of the waiting elements having first count values that have attained the minimum access threshold, then selecting one of the waiting elements based on a comparison of the first counting values of the waiting elements with each other; allocating to the elements a second counting value and a second penalty value; modified in the second numerical direction the second counting value of each element by the second penalty value of the element in synchronization with the clock signal, each time the element is selected; and when plural elements are simultaneous waiting for the shared resource; granting access to the element with the second counting value which exceeds in the first numerical direction the second counting values of the other elements that are waiting, if no element can be selected by virtue of its first counting value;
wherein the first counting value of each element is incremented by a value equal to the first penalty, every time the element is selected by virtue of its second counting value and the first counting value is decremented in synchronization with each cycle of the clock; and
the second counting value of each element is incremented by a value equal to the second penalty, every time the element is selected by virtue of its first counting value and the second counting value is decremented each time the element is selected by virtue of its first counting value. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification