Single instruction multiple data add processors, methods, systems, and instructions
AssigneeIntel Corporation
InventorsCorey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsCorey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
Estimating the term…
New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
An apparatus comprising:
An apparatus comprising:
An apparatus comprising:
An apparatus comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
To perform operations on data operands: arithmetic instructions
Arithmetic instructions: with variable precision
To perform operations on data operands: bit or string instructions
To perform operations on data operands: instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Term ended 22 Jan 2024 (estimated)
This disclosure relates generally to data packet manipulation, and specifically, to new instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation, to a new PADD logic device that performs the PADD operation, and to a new SMAD logic device that performs the SMAD operation.
Many applications require the manipulation of data residing in data packets. For instance, packet processing in voice applications require the manipulation of several layers of protocol headers and several types of protocols. Also, protocols such as Internet Protocol (IP), Asynchronous Transfer Mode (ATM), and ATM adaptation layers (AALs) require header manipulation and error detection.
In the prior art, reduced instruction set computation (RISC) processors are used to perform manipulation of packet data. However, processors typically require many clock cycles to perform complex data manipulation. In addition, because processors typically operate on fixed length words, some inefficiencies result when the data to be manipulated is less than or more than the length of the word.
FIG. 1 illustrates a block diagram of an exemplary packet arithmetic logic device in accordance with an embodiment of the invention;
FIG. 2A illustrates an exemplary syntax for an instruction to perform a packet addition (PADD) in accordance with another embodiment of the invention;
FIG. 2B illustrates various examples of PADD instructions in accordance with another embodiment of the invention;
I. Packet Arithmetic Logic Device
FIG. 1 illustrates a block diagram of an exemplary packet arithmetic logic device 100 in accordance with an embodiment of the invention. The packet arithmetic logic device 100 performs various operations on data packets. Such operations include packet processing for voice applications which require the manipulation of several layers of protocol headers and several types of protocols, and header manipulation and error detection especially in complex protocols such as Internet protocol (IP), asynchronous transfer mode (ATM), and ATM adaptation layers (AALs). The packet arithmetic logic device 100 performs these operations in substantially less clock cycles than the prior art processors which take a multitude of steps to achieve these operations.
The packet arithmetic logic device 100 comprises an instruction control device 102, a result register RZ 104, a plurality of source data registers RX 106, RY, 108, RX+1 110, and RY+1 112, a data bus 114, a packet add (PADD) logic device 116, and a single instruction multiple data add (SMAD) logic device 118. The instruction control device 102 receives, interprets, and controls the registers and logic devices to properly execute the instruction. The result data register RZ 104 stores the result of the packet arithmetic operations. The source data registers RX 106, RY, 108, RX+1 110, and RY+1 112 store the various operands for the packet arithmetic operations. The PADD logic device 116 performs a packet add operation in about one to two clock cycles. The SMAD logic device 118 performs a multiple data add operation in about one to two clock cycles.