Claims
- 1. A communications processor implemented as on at least one ring network, comprising:
a plurality of processors comprising ring members on the at least one ring network; a plurality of DMA controllers on the at least one ring network, the DMA controllers controlling servicing of DMA requests by the plurality of processors; a plurality of DMA agents coupled to the plurality of processors, each DMA agent being part of a ring member including a processor; each DMA agent adapted to issue an indicator to a request counter coupled to the DMA agent for each DMA request issued by the DMA agent to a DMA controller; thereby allowing each DMA agent to maintain a count of the outstanding DMA requests that have been issued on behalf of the processor associated with the DMA agent.
- 2. The system of claim 1, wherein the request counter maintains a separate count for each task being executed by the processor.
- 3. The system of claim 1, wherein upon satisfaction of the DMA request by a target DMA controller, the target DMA controller issues a response that causes the request counter to decrement the count by one.
- 4. The system of claim 3, wherein the DMA requests issued by the DMA agent to the DMA controller and the response issued by the target DMA controller are transmitted as messages on the at least one ring network.
- 5. The system of claim 3, wherein upon the counter returning to zero the processor is enabled to switch to other tasks because all DMA requests for a given task have been satisfied.
- 6. The system of claim 5, whereupon a new DMA request for a different task is deferred until the counter has returned to zero for the given task.
- 7. The system of claim 2, wherein the request counter is contained in a doorbell register supporting up to 64 tasks.
- 8. A method of controlling access to DMA controllers in a multi-tasking communications processor implemented as on at least one ring network, comprising:
issuing DMA requests to a target DMA controller; maintaining a count of DMA requests on a per-task basis; issuing an acknowledgement that a DMA request has been satisfied by the target DMA controller; reducing the count based on the acknowledgement; and enabling a processor responsible for issuing the DMA requests to perform new activity when the count has returned to zero.
- 9. The method of claim 8, wherein the DMA requests are issued as messages on the at least one ring network.
- 10. The method of claim 8, wherein the acknowledgement is issued as a message on the at least one ring network.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Priority is claimed based on U.S. Provisional Application No. 60/301,843 entitled Communication System Using Rings Architecture, filed Jul. 2, 2001, U.S. Provisional Application No. 60/333,516 entitled Flexible Packet Processor For Use in Communications System, filed Nov. 28, 2001, and U.S. Provisional Application No. 60/347,235 entitled High Performance Communications Processor Supporting Multiple Communications Applications, filed Jan. 14, 2002.
Provisional Applications (3)
|
Number |
Date |
Country |
|
60301843 |
Jul 2001 |
US |
|
60347235 |
Jan 2002 |
US |
|
60333516 |
Nov 2001 |
US |