IP Library Granted Patent US 8,209,522
Granted Patent B2
US 8,209,522 · App. 12/985,680 · Granted Jun 26, 2012

System and method for extracting fields from packets having fields spread over more than one register

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 8,209,522
App. No.
12/985,680
Granted
Jun 26, 2012
Kind
B2
Abstract

Systems and methods that allow for extracting a field from data stored in a pair of registers using two instructions. A first instruction extracts any part of the field from a first register designated as a first source register, and executes a second instruction extracting any part of the field from a second general register designated as a second source register. The second instruction inserts any extracted field parts in a result register.

Claims (28)

1. A hardware processor configured to execute an instruction, the hardware processor comprising:

a first hardware register configured to store extraction information associated with a field, wherein the field is stored in a portion of a received packet;

a parser configured parse the received packet to determine packet format information about the received packet;

a combiner configured to combine the determined packet format information with field format information associated with the field to generate the extraction information stored in the first hardware register;

a pair of hardware registers that combine to hold the received packet, wherein each register of the pair holds a portion of the received field;

a second hardware register configured to store an extracted portion of data from the received packet, wherein the extracted portion corresponds to the field;

an opcode identifier configured to identify the instruction; and

an argument receiver configured to receive:

a first argument designating the first hardware register;

a second argument designating the pair of hardware registers; and

a third argument designating the second hardware register,

wherein the hardware processor is configured to cause an extraction of any portion of the field from the pair of hardware registers based on the extraction information stored in the first register and place the extracted portion of the field into the second register.

2. The hardware processor of claim 1 , wherein the instruction is a machine language instruction.

3. The hardware processor of claim 1 , wherein the instruction is part of an instruction set architecture for a RISC processor.

4. A method of executing an instruction using a hardware processor, comprising:

storing, using a first hardware register, extraction information associated with a field, wherein the field is stored in a portion of a received packet;

parsing the received packet to determine packet format information about the received packet;

combining the determined packet format information with field format information associated with the field to generate the extraction information stored in the first hardware register;

holding the received packet using a pair of hardware registers, wherein each register of the pair holds a portion of the received field;

storing, using a second hardware register, an extracted portion of data from the received packet, wherein the extracted portion corresponds to the field;

identifying the instruction using an opcode; and

receiving a first argument designating the first hardware register;

receiving a second argument designating the pair of hardware registers; and

receiving a third argument designating the second hardware register,

extracting a portion of the field from the pair of hardware registers based on the extraction information stored in the first register; and

placing the extracted portion of the field into the second register.

5. The method of claim 4 , wherein identifying the instruction using an opcode comprises identifying a machine language instruction.

6. The method of claim 4 , wherein identifying the instruction using an opcode comprises identifying an instruction that is part of an instruction set architecture for a RISC processor.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2011
From: KATZMAN, SOL; GELINAS, ROBERT; HAYS, W. PATRICK
To: LEXRA, INC.
Reel/Frame 025596/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2011
From: KATZMAN, SOL; GELINAS, ROBERT; HAYS, W. PATRICK
To: LEXRA COMPUTING ENGINES
Reel/Frame 025596/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2011
From: LEXRA, INC.
To: MIPS TECHNOLOGIES, INC.
Reel/Frame 025596/0719 →