Claims
- 1. Apparatus for passing transient data among processor complex stages of a pipelined processing engine, each processor complex stage including a central processing unit (CPU), the apparatus comprising:
a pair of context memories storing the transient data for processing by the CPU; and data mover cooperatively coupled to the context memories to pass the transient data among the stages of the engine substantially simultaneously with the processing of the data by the CPU.
- 2. The apparatus of claim 1 further comprising:
an instruction memory storing instructions used by the CPU to process the transient data; and a memory manager interconnecting the instruction memory, the context memories and the CPU, the memory manager mapping a contiguous address space viewed by the CPU to contents of the instruction memory and context memories.
- 3. The apparatus of claim 2 wherein a first of the pair of context memories is associated with a current pipeline phase and a second of the pair of context memories is associated with a next pipeline phase.
- 4. The apparatus of claim 3 wherein the memory manager comprises a state machine that determines a current phase specifying one of the first and second context memories used by the CPU to process data.
- 5. The apparatus of claim 4 further comprising a multiplexer having inputs coupled to each of the first and second context memories, the multiplexer further having an output coupled to the data mover, the multiplexer retrieving transient data from one of the first and second context memories specified for use by the CPU and providing the retrieved transient data to the data mover.
- 6. The apparatus of claim 5 wherein the data mover comprises logic for loading the retrieved transient data into a context memory of a downstream processor complex stage of the pipelined processing engine.
- 7. A method for passing transient data among processor complex stages of a pipelined processing engine, each processor complex stage including a central processing unit (CPU), the method comprising the steps of:
storing the transient data in a pair of context memories; processing the stored transient data at the CPU; and passing the stored transient data among the stages of the engine substantially simultaneously with the processing of the data by the CPU.
- 8. The method of claim 7 further comprising the steps of:
storing instructions for processing the stored transient data in an instruction memory; and interconnecting the instruction memory, the context memories and the CPU with a a memory manager.
- 9. The method of claim 8 further comprising the step of mapping a contiguous address space viewed by the CPU to contents of the instruction memory and context memories.
- 10. The method of claim 8 further comprising the step of associating (i) a first of the pair of context memories with a current pipeline phase and (ii) a second of the pair of context memories with a next pipeline phase.
- 11. The method of claim 10 further comprising the steps of:
determining a current phase using a state machine of the memory manager; and specifying, during the current phase, one of the first and second context memories for use by the CPU in accordance with the step of processing the stored transient data.
- 12. The method of claim 11 further comprising the step of loading modified processed data into the specified context memory and into a context memory of a downstream processor complex stage of the pipelined processing engine.
- 13. The method of 8 wherein the stored transient data is passed among the stages using a data mover and wherein the step of passing comprises the step of passing the stored transient data among the stages of the engine in a manner that is transparent to the CPU.
- 14. The method of claim 13 further comprising the steps of:
snooping the data mover and CPU to determine a state of the stored transient data accessed by the CPU and the data mover prior to the steps of processing and passing; and in the event of a collision between the CPU and data mover to a same location for storing the transient data, providing the CPU with exclusive access to the data at the same location, thereby ensuring data coherency.
- 15. Apparatus for passing transient data among processor complex stages of a pipelined processing engine, each processor complex stage including a central processing unit (CPU), the apparatus comprising:
a pair of context memories storing the transient data for processing by the CPU; an instruction memory storing instructions used by the CPU to process the transient data; a memory manager interconnecting the instruction memory, the context memories and the CPU, the memory manager mapping a contiguous address space viewed by the CPU to contents of the instruction memory and context memories; and a data mover cooperatively coupled to the context memories to pass the transient data among the stages of the engine substantially simultaneously with the processing of the data by the CPU.
- 16. The apparatus of claim 15 further comprising a multiplexer having inputs coupled to each of the context memories and an output coupled to the data mover, the multiplexer retrieving transient data from one of the context memories and providing the retrieved transient data to the data mover for passing to a downstream stage of the engine in a manner that is transparent to the CPU.
CROSS-REFERENCE TO RELATED APPLICATIONS
1. This invention is related to the following copending U.S. Patent Applications:
2. U.S. patent application Ser. No. (112025-0077) titled, PROGRAMMABLE ARRAYED PROCESSING ENGINE ARCHITECTURE FOR A NETWORK SWITCH;
3. U.S. patent application Ser. No. (112025-0083) titled, SYSTEM FOR CONTEXT SWITCHING BETWEEN PROCESSING ELEMENTS IN A PIPELINE OF PROCESSING ELEMENTS; and
4. U.S. patent application Ser. No. (112025-0084) titled, SYNCHRONIZATION AND CONTROL SYSTEM FOR AN ARRAYED PROCESSING ENGINE, each of which was filed on even date herewith and assigned to the assignee of the present invention.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09106436 |
Jun 1998 |
US |
Child |
09727068 |
Nov 2000 |
US |