Validating data using processor instructions
AssigneeIntel Corporation
InventorsSteven R. King, Frank L. Berry, Abhijeet Joglekar
Life of this patent
Estimating the term…
Abstract
In one embodiment, the present invention includes a method for determining from a data block in a buffer a number of first operands in a first portion of the buffer and a number of second operands in a second portion of the buffer. Based on these numbers, a cyclic redundancy checksum (CRC) operation may be iteratively performed on the first and second operands to obtain a checksum result. The first and second operands are of a different length, and the checksum operation may be executed using processor instructions corresponding to the different lengths. Other embodiments are described and claimed.
Claims18
A method comprising:
- determining from a data block in a buffer a number of first operands in a first portion of the buffer and a number of second operands in a second portion of the buffer;
- iteratively performing a cyclic redundancy checksum (CRC) operation on the first operands, wherein the first operands are of a first length, each iteration using destination data in a destination storage and storing a result in the destination storage as the destination data;
- and
- iteratively performing the CRC operation on the second operands, wherein the second operands are of a second length, the second length greater than the first length, each iteration using the destination data in the destination storage and storing a result in the destination storage as the destination data.
An article comprising a machine-accessible medium including instructions that when executed cause a system to:
- perform a checksum operation on data in a buffer according to a first user-level checksum instruction iteratively executed in a first logic block of an execution unit of a processor for sourcedata of a first width until a natural alignment boundary for source data of a second width is reached;
- and
- perform the checksum operation on data in the buffer according to a second user-level checksum instruction iteratively executed in a second logic block of the execution unit for the source data of the second width after the natural alignment boundary is reached.
A method comprising:
- determining from a data block in a buffer a number of first operands in a first portion of the buffer and a number of second operands in a second portion of the buffer;
- iteratively performing a cyclic redundancy checksum (CRC) operation on each of the first operands using a first user-level checksum instruction, wherein the first operands are of a first length, each iteration operating on a first operand and a destination operand and storing a result in a destination location, the destination operand obtained from the destination location;
- and
- iteratively performing the CRC operation on each of the second operands, wherein the second operands are of a second length, the second length greater than the first length, each iteration operating on a second operand and the destination operand and storing a result in the destination location, wherein an iteration on a first one of the second operands uses the result of a final iteration of the CRC operation on a final one of the first operands.
An apparatus comprising:
- a processor including a sequencer to determine from a data block in a buffer a number of first operands in a first portion of the buffer and a number of second operands in a second portion of the buffer, a first logic block to iteratively perform a cyclic redundancy checksum (CRC) operation on the first operands, wherein the first operands are of a first length, each iteration using destination data in a destination storage and storing a result in the destination storage as the destination data, and a second logic block to iteratively perform the CRC operation on the second operands, wherein the second operands are of a second length, the second length greater than the first length, each iteration using the destination data in the destination storage and storing a result in the destination storage as the destination data.
Dependencies are inferred from the claim text.