Timeslot arbitration scheme
First Claim
1. A method for arbitrating between a plurality of access requests issued in relation to a resource by a plurality of requestors in an integrated circuit, wherein each request can be one of a CPU write request from a CPU requester, a non-CPU write request from a non-CPU requester and a non-CPU read request from a non-CPU requester, the method including the steps of:
- (a) receiving, in a timeslot arbitrator of the integrated circuit, a plurality of the access requests;
(b) maintaining, in the timeslot arbitrator, a current pointer that points to a current timeslot in a timeslot list, and at least one lookahead pointer that points to a future timeslot in the timeslot list; and
(c) in the event an access request as arbitrated via the lookahead pointer is a non-CPU write request, initiating performance of the access request, in the timeslot arbitrator, earlier than the position in the list suggests it would be performed should it be started when the current pointer reached the current timeslot,wherein, in step (c), the earlier position is selected so as to not be adjacent a position in the list for performance of another non-CPU write request, andeach timeslot in the timeslot list is configured with a CPU access preceding a non-CPU access so that a CPU write request is performed before either a non-CPU write request or non-CPU read request.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for arbitrating between a plurality of access requests issued in relation to a resource by a plurality of requestors, wherein each request can be one of at least two types, a first of the types having a higher latency associated with its performance than at least some of the other types, the method including the steps of: (a) receiving a plurality of the access requests; (the requests are not placed anywhere, they are simply received); (b) maintaining a current pointer that points to a current timeslot in a timeslot list, and at least one lookahead pointer that points to a future timeslot in the timeslot list; and (c) in the event an access request as arbitrated via the lookahead pointer is of the first type, initiating performance of the access request earlier than the position in the list suggests it would be performed should it be started when the current pointer reached the timeslot.
-
Citations
8 Claims
-
1. A method for arbitrating between a plurality of access requests issued in relation to a resource by a plurality of requestors in an integrated circuit, wherein each request can be one of a CPU write request from a CPU requester, a non-CPU write request from a non-CPU requester and a non-CPU read request from a non-CPU requester, the method including the steps of:
-
(a) receiving, in a timeslot arbitrator of the integrated circuit, a plurality of the access requests; (b) maintaining, in the timeslot arbitrator, a current pointer that points to a current timeslot in a timeslot list, and at least one lookahead pointer that points to a future timeslot in the timeslot list; and (c) in the event an access request as arbitrated via the lookahead pointer is a non-CPU write request, initiating performance of the access request, in the timeslot arbitrator, earlier than the position in the list suggests it would be performed should it be started when the current pointer reached the current timeslot, wherein, in step (c), the earlier position is selected so as to not be adjacent a position in the list for performance of another non-CPU write request, and each timeslot in the timeslot list is configured with a CPU access preceding a non-CPU access so that a CPU write request is performed before either a non-CPU write request or non-CPU read request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An integrated circuit including:
-
a plurality of operative units, each of which is capable of issuing a request for access to a memory accessible by the integrated circuit including a CPU write request from a CPU requester, a non-CPU write request from a non-CPU requester and a non-CPU read request from a non-CPU requester; and an timeslot arbitrator for arbitrating between requests issued by the operative units for access to the memory, the timeslot arbitrator being configured to; (a) receive a plurality of the access requests; (b) maintain a current pointer that points to a current timeslot in a timeslot list, and at least one lookahead pointer that points to a future timeslot in the timeslot list; and (c) in the event the access request as arbitrated via the lookahead pointer is a non-CPU write request, performing the access request earlier than the position in the list suggests it should be performed should it be started when the current pointer reached the current timeslot, wherein, in (c), the earlier position is selected so as to not be adjacent a position in the list for performance of another non-CPU write request, and each timeslot in the timeslot list is configured with a CPU access preceding a non-CPU access so that a CPU write request is performed before either a non-CPU write request or non-CPU read request. - View Dependent Claims (7, 8)
-
Specification