IP Library Granted Patent US 7,042,887
Granted Patent B2
US 7,042,887 · App. 09/900,393 · Granted May 9, 2006

Method and apparatus for non-speculative pre-fetch operation in data packet processing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,042,887
App. No.
09/900,393
Granted
May 9, 2006
Kind
B2
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.

Claims (23)

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.

2. The system of claim 1 wherein the second portion of the processing unit comprises separate clusters, each cluster comprising contexts and functional units.

3. The system of claim 1 wherein the table is in the PMU.

4. The system of claim 1 wherein the processor is a dynamic multi-streaming processor.

5. The system of claim 1 wherein the memory holding at least a first instruction of the instruction threads is an on-chip instruction cache memory.

6. The system of claim 1 wherein the memory holding at least a first instruction of the instruction threads is an off-chip memory.

7. The system of claim 1 wherein data packets to be processed are stored in queues according to instruction threads required to process the packets, and wherein the queue from which a packet arrives for processing indicates the packet type.

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.

9. The method of claim 8 wherein the second portion comprises separate clusters, each cluster comprising contexts and functional units.

10. The method of claim 8 wherein the table is in the PMU.

11. The method of claim 8 wherein the processor is a dynamic multi-streaming processor.

12. The method of claim 8 wherein the memory holding at least a first instruction of the instruction threads is an on-chip instruction cache memory.

13. The method of claim 8 wherein the memory holding at least a first instruction of the instruction threads is an off-chip memory.

14. The method of claim 8 wherein data packets to be processed are stored in queues according to instruction threads required to process the packets, 20 and wherein the queue from which a packet arrives for processing indicates the packet type.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: BRIDGE CROSSING, LLC
To: ARM FINANCE OVERSEAS LIMITED
Reel/Frame 033074/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: MIPS TECHNOLOGIES, INC.
To: BRIDGE CROSSING, LLC
Reel/Frame 030202/0440 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2008
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 021985/0015 →
SECURITY AGREEMENT Recorded Aug 24, 2007
From: MIPS TECHNOLOGIES, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 019744/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2002
From: CLEARWATER NETWORKS, INC.
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 013599/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2001
From: MUSOLL, ENRIQUE; MELVIN, STEPHEN; NEMIROVSKY, MARIO; SAMPATH, NANDAKUMAR
To: CLEARWATER NETWORKS, INC.
Reel/Frame 012417/0406 →