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

US11899530B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11899530-B2
Application numberUS-202117359537-A
CountryUS
Kind codeB2
Filing dateJun 26, 2021
Priority dateDec 23, 2005
Publication dateFeb 13, 2024
Grant dateFeb 13, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: a plurality of cores, wherein at least one of the cores comprises: a cache; a plurality of general-purpose registers; and a plurality of execution units, including an integer execution unit and a single instruction multiple data (SIMD) execution unit, wherein at least one of the plurality of execution units comprises circuitry to: perform a cyclic redundancy check (CRC) operation in response to one or more instructions executed in a 64-bit mode of operation, wherein the circuitry is to perform the CRC operation based on one of a plurality of data sizes, including a data size of 8-bits, 16-bits, 32-bits, and 64-bits, and wherein the one or more instructions are to indicate the data size to be used. 2. The processor of claim 1 , wherein the plurality of general-purpose registers are 64-bit general-purpose registers. 3. The processor of claim 1 , wherein said at least one of the plurality of execution units is to store a result of the CRC operation in a least significant 32-bits of a 64-bit general-purpose register and zeroes in a most significant 32-bits of the 64-bit general-purpose register. 4. The processor of claim 1 , wherein the plurality of execution units include a floating point unit. 5. The processor of claim 1 , wherein the at least one of the cores further comprises an address generation unit. 6. The processor of claim 1 , wherein the CRC operation is to be performed with a polynomial that does not correspond to 11EDC6F41H. 7. The processor of claim 1 , wherein the CRC operation is to be performed with a polynomial that corresponds to an Ethernet protocol. 8. The processor of claim 1 , wherein the CRC operation is to be performed with a selected one of a plurality of different possible polynomials. 9. 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 cache; a plurality of general-purpose registers; and a plurality of execution units, including an integer execution unit and a single instruction multiple data (SIMD) execution unit, wherein at least one of the plurality of execution units comprises circuitry to: perform a cyclic redundancy check (CRC) operation in response to one or more instructions executed in a 64-bit mode of operation, wherein the circuitry is to perform the CRC operation based on one of a plurality of data sizes, including a data size of 8-bits, 16-bits, 32-bits, and 64-bits, and wherein the one or more instructions are to indicate the data size to be used. 10. The system of claim 9 , wherein the plurality of general-purpose registers are 64-bit general-purpose registers. 11. The system of claim 9 , wherein said at least one of the plurality of execution units is to store a result of the CRC operation in a least significant 32-bits of a 64-bit general-purpose register and zeroes in a most significant 32-bits of the 64-bit general-purpose register. 12. The system of claim 9 , wherein the CRC operation is to be performed with a polynomial that does not correspond to 11EDC6F41H. 13. The system of claim 9 , wherein the CRC operation is to be performed with a polynomial that corresponds to an Ethernet protocol. 14. The system of claim 9 , wherein the CRC operation is to be performed with a selected one of a plurality of different possible polynomials. 15. A system comprising: a main memory; and a multicore processor coupled to the main memory, the multicore processor comprising a plurality of cores, wherein at least one of the cores comprises: a cache; a plurality of general-purpose registers; and a plurality of execution units, including an integer execution unit and a single instruction multiple data (SIMD) execution unit, wherein at least one of the plurality of execution units comprises circuitry to: perform a cyclic redundancy check (CRC) operation in response to one or more instructions executed in a 64-bit mode of operation, wherein the circuitry is to perform the CRC operation based on one of a plurality of data sizes, including a data size of 8-bits, 16-bits, 32-bits, and 64-bits, and wherein the one or more instructions are to indicate the data size to be used. 16. The system of claim 15 , further comprising a data storage device, and wherein the plurality of general-purpose registers are 64-bit general-purpose registers. 17. The system of claim 15 , further comprising a communication device, and wherein said at least one of the plurality of execution units is to store a result of the CRC operation in a least significant 32-bits of a 64-bit general-purpose register and zeroes in a most significant 32-bits of the 64-bit general-purpose register. 18. The system of claim 15 , further comprising an audio input/output (I/O) device, and wherein the CRC operation is to be performed with a polynomial that does not correspond to 11EDC6F41H. 19. The system of claim 15 , wherein the CRC operation is to be performed with a polynomial that corresponds to an Ethernet protocol. 20. The system of claim 15 , wherein the CRC operation is to be performed with a selected one of a plurality of different possible polynomials.

Assignees

Inventors

Classifications

  • Bit or string instructions · CPC title

  • to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title

  • Arrangements for executing specific machine instructions · CPC title

  • Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE · CPC title

  • Architectures of general purpose stored program computers (with program plugboard G06F15/08; multicomputers G06F15/16) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11899530B2 cover?
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 …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/1004. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 13 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).