US2016098278A1PendingUtilityA1

Instruction forwarding based on predication criteria

Assignee: HEWLETT PACKARD ENTPR DEV LPPriority: Aug 29, 2012Filed: Dec 8, 2015Published: Apr 7, 2016
Est. expiryAug 29, 2032(~6.1 yrs left)· nominal 20-yr term from priority
G06F 9/3802G06F 9/30145G06F 9/3804H04L 5/006H04W 88/16H04L 43/087G06F 9/3836H04M 1/2535H04W 28/0268H04J 11/00H04W 84/12G06F 9/30043H04L 1/0018
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments herein relate to forwarding an instruction based on predication criteria. A predicate state associated with a packet of data is to be compared to an instruction associated with the predication criteria. The instruction is to be forwarded to an execution unit if the predication criteria includes or matches the predicate state of the packet.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A device, comprising:
 an instruction unit to store a program including an instruction associated with predication criteria; and   a fetch unit to compare a predicate state associated with a current packet of data to the predication criteria, wherein   the fetch unit is to forward the instruction to an execution unit if the predication criteria includes the predicate state of the current packet.   
     
     
         2 . The device of  claim 1 , wherein the fetch unit is to not forward the instruction to the execution unit if the predication criteria does not include the predicate state. 
     
     
         3 . The device of  claim 2 , wherein,
 the predicate state indicates one or more operations to be performed on the associated current packet of data, and   the predication criteria indicates one or more predicates states for which the associated instruction is be executed.   
     
     
         4 . The device of  claim 2 , wherein,
 the program includes a plurality of instructions, each of the instructions associated with separate predication criteria, and   the fetch unit is to fetch the plurality of instructions and to discard any of the fetched instructions for which the predication criteria does not include the predicate state of the current packet of data.   
     
     
         5 . The device of  claim 4 , wherein the fetch unit includes a plurality of buffers accessible by the execution unit, the plurality of buffers including,
 a data buffer unit to store one or more of incoming packets of data,   an instruction buffer unit to store the instructions fetched from the instruction unit, and   a variable buffer unit to store information specific to the one or more packets of data, the specific information including at least one of the predicate state and a new address.   
     
     
         6 . The device of  claim 5 , wherein,
 the fetch unit is to forward the instruction to the instruction buffer if the predication criteria includes the predicate state of the current packet, and   the execution unit is to retrieve instructions to execute from the instruction buffer.   
     
     
         7 . The device of  claim 1 , wherein,
 the execution unit is to execute the instruction on the current packet of data and to output the executed packet, and   the fetch unit is to fetch a next packet of data while the current packet of data is executed.   
     
     
         8 . The device of  claim 7 , wherein,
 the instruction is to at least one of copy without changes, insert information into, replace and delete at least part of the current packet,   at least part of the current packet includes at least one of a MAC address, a time to live (TTL) field, a type of service (TOS) field, a tag, a header and a payload, and   the predicate state is a value and the predication criteria is a set of one or more values.   
     
     
         9 . The device of  claim 7 , wherein the instruction executed by the execution unit is not at least one of a branch and jump instruction. 
     
     
         10 . The device of  claim 1 , wherein
 the predicate state associated with the current packet is determined before the current packet is received by the execution unit, and   the execution unit is to not inspect the predicate state of the current packet of data.   
     
     
         11 . The device of  claim 10 , further comprising:
 a predicate unit to analyze the current packet of data and to add a predicate field to the current packet of data, the predicate field to include the predicate state and a value of the predicate state is to be based on the analysis, wherein   the predicate unit analyzes at least one of a packet header, a tag, and a packet size of the current packet of data.   
     
     
         12 . A method, comprising:
 inspecting a predicate state associated with a packet of data, the predicate state to indicate one or more operations to be performed on the packet;   comparing the inspected predicate state to a plurality of predication criteria of a plurality of instructions, to determine if any of the predication criteria of the plurality of instructions includes the inspected predicate state; and   forwarding the packet and any of the instructions that are associated with predication criteria that includes the inspected predicate state to an execution unit, the execution unit to execute the one or more forwarded instructions on the forwarded packet.   
     
     
         13 . The method of  claim 11 , further comprising:
 receiving the packet of data, before the inspecting;   analyzing one or more tags of the received packet, before the inspecting;   adding a predicate field to a header of the received packet based on the analysis, before the inspecting, the predicate field to include the predicate state; and   retrieving, from an instruction unit, the plurality of instructions, before the comparing.   
     
     
         14 . A non-transitory computer-readable storage medium storing instructions that, if executed by a processor of a device, cause the processor to:
 analyze a predicate state of a received packet of data;   retrieve a plurality of instructions, each of the instructions associated with predication criteria;   compare the predicate state to the predication criteria of each of the instructions to determine if the predication criteria includes the predicate state; and   forward, to an execution unit, the one or more instructions associated with the predication criteria that include the predicate state, the execution unit to execute the forwarded instructions on the packet of data.   
     
     
         15 . The non-transitory computer-readable storage medium of  claim 14 , wherein the execution unit is to execute a different instruction each clock cycle.

Join the waitlist — get patent alerts

Track US2016098278A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.