Method and apparatus for non-speculative pre-fetch operation in data packet processing
First Claim
1. In a data-packet processor, a system for non-speculative pre-fetching, comprising:
- a processing unit having a first portion for processing the data packets, using instruction threads specific to packet type, and a second portion comprising a pool of context registers and functional units for processing;
a packet-management unit (PMU) for managing data packets of 10 different types received for processing, including selecting and loading the context registers;
a memory storing at least an initial instruction of instruction threads; and
a table equating packet types with pointers to memory locations for the at least first instructions of instruction threads specific to the packet types;
characterized in that the PMU selects a context from the pool of contexts for processing of a data packet, the table is consulted for the pointer, and the pointer is provided to the processing unit first portion, enabling the processing unit first portion to prefetch at least an initial instruction for the packet to be processed at least partially in parallel with loading of the context.
6 Assignments
0 Petitions
Accused Products
Abstract
A system is provided for enabling a non-speculative pre-fetch operation for processing instructions to be performed in the background ahead of immediate packet processing by a packet processor. The system comprises a packet-management unit for accepting data packets and en-queuing them for processing, a processor unit for processing the data packets, a processor core memory for holding context registers and functional units for processing, a memory for holding a plurality of instruction threads and a software-configurable hardware table for relating queues to pointers to beginnings of instruction threads. The packet-management unit selects an available context in the processor core for processing of a data packet, consults the table, and communicates the pointer to the processor, enabling the processor to perform the non-speculative pre-fetch for instructions.
91 Citations
14 Claims
-
1. In a data-packet processor, a system for non-speculative pre-fetching, comprising:
-
a processing unit having a first portion for processing the data packets, using instruction threads specific to packet type, and a second portion comprising a pool of context registers and functional units for processing; a packet-management unit (PMU) for managing data packets of 10 different types received for processing, including selecting and loading the context registers; a memory storing at least an initial instruction of instruction threads; and a table equating packet types with pointers to memory locations for the at least first instructions of instruction threads specific to the packet types; characterized in that the PMU selects a context from the pool of contexts for processing of a data packet, the table is consulted for the pointer, and the pointer is provided to the processing unit first portion, enabling the processing unit first portion to prefetch at least an initial instruction for the packet to be processed at least partially in parallel with loading of the context. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a data-packet processor having a first portion for processing data packets, using instruction threads specific to packet type, and a second portion comprising a pool of context registers and functional units for processing, a method for accomplishing pre-fetch of at least a first 20 instruction for processing, comprising steps of:
-
(a) selecting, by a packet-management unit (PMU), an available context for loading information for processing a packet ready for processing; (b) consulting a table relating packet type for the packet ready to be processed to a pointer to a memory location for at least a first instruction of an instruction thread to process the packet; (c) providing the pointer to the first portion; and (d) pre-fetching the at least first instruction of the thread to process the data packet, at least partially in parallel with loading the context. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification