IP Library Granted Patent US 9,262,159
Granted Patent B2
US 9,262,159 · App. 14/579,538 · Granted Feb 16, 2016

Performing a cyclic redundancy checksum operation responsive to a user-level instruction

Inventors: Steven R. King (Portland, OR); Frank L. Berry (North Plains, OR); Mlchael E. Kounavis (Portland, OR)
Assignee: Intel Corporation
G06F9/30032G06F9/30003G06F9/30018G06F11/1004G06F15/76G06T1/20H03M13/00H03M13/09H03M13/093
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 9,262,159
App. No.
14/579,538
Granted
Feb 16, 2016
Kind
B2
Abstract

In one embodiment, the present invention includes a method for receiving incoming data in a processor and performing a checksum operation on the incoming data in the processor pursuant to a user-level instruction for the checksum operation. For example, a cyclic redundancy checksum may be computed in the processor itself responsive to the user-level instruction. Other embodiments are described and claimed.

Claims (19)

1. A system comprising:

a memory controller;

a graphics engine; and

a multicore processor coupled to the memory controller and the graphics engine, the multicore processor comprising a plurality of cores, wherein at least one of the cores comprises:

a plurality of general purpose registers; and

a plurality of execution units, including a store data unit, an integer execution unit, and a single instruction multiple data (SIMD) execution unit, wherein at least one of the plurality of execution units comprises logic to:

perform a cyclic redundancy check (CRC) operation in response to one or more CRC32 instructions executed in a 32-bit mode of operation or a 64-bit mode of operation, wherein the logic is to perform the CRC operation based on one of a plurality of data sizes, including a data size of 8-bits, 16-bits, and 32-bits, and wherein the one or more CRC32 instructions are to indicate the data size to be used.

2. The system of claim 1 , wherein the plurality of data sizes further comprises a data size of 64-bits in the 64-bit mode of operation.

3. The system of claim 1 , wherein at least one the plurality of execution units is a floating point unit.

4. The system of claim 1 , wherein the at least one of the cores further comprises an address generation unit.

5. The system of claim 1 , further comprising a communication device coupled to the multicore processor.

6. A multicore processor comprising:

a plurality of cores, wherein at least one of the cores comprises:

a plurality of general purpose registers; and

a plurality of execution units, including a store data unit, an integer execution unit, and a single instruction multiple data (SIMD) execution unit, wherein at least one of the plurality of execution units comprises logic to:

perform a cyclic redundancy check (CRC) operation in response to one or more CRC32 instructions executed in a 32-bit mode of operation or a 64-bit mode of operation, wherein the logic is to perform the CRC operation based on one of a plurality of data sizes, including a data size of 8-bits, 16-bits, and 32-bits, and wherein the one or more CRC32 instructions are to indicate the data size to be used.

7. The multicore processor of claim 6 , wherein the plurality of data sizes further comprises a data size of 64-bits in the 64-bit mode of operation.

8. The multicore processor of claim 6 , wherein at least one the plurality of execution units is a floating point unit.

9. The multicore processor of claim 6 , wherein the at least one of the cores further comprises an address generation unit.

Continuity (13)
Continuation 14288261 · May 27, 2014
Continuation 13940706 · Jul 12, 2013
Continuation 13940696 · Jul 12, 2013
Continuation 13940691 · Jul 12, 2013
Continuation 13940681 · Jul 12, 2013
Continuation 13940665 · Jul 12, 2013
Continuation 13940659 · Jul 12, 2013
Continuation 13940647 · Jul 12, 2013
Continuation 13796032 · Mar 12, 2013
Continuation 13484787 · May 31, 2012
Continuation 13097462 · Apr 29, 2011
Continuation 11316772 · Dec 23, 2005
Related Publication 20150155883A1 · Jun 4, 2015