Jump to content

CLMUL instruction set: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Kdef (talk | contribs)
CPUs with CLMUL instruction set: westmere is now present - changed date
Line 1: Line 1:
'''Carry-less Multiplication''' (CLMUL) is a future extension to the [[x86]] [[instruction set architecture]] for [[microprocessor|microprocessors]] from [[Intel Corporation|Intel]] and [[Advanced Micro Devices|AMD]] proposed by Intel in March 2008<ref>{{cite web | url=http://softwareprojects.intel.com/avx/ | title=Intel Software Network | publisher=Intel | accessdate=2008-04-05}}</ref>. The purpose is to improve the speed of applications doing block cipher encryption in [[Galois/Counter Mode]], which depends on [[finite field]] multiplication. Finite field (GF(2<sup>k</sup>)) multiplication can be implemented more efficiently with the new CLMUL instructions than with the traditional instruction set.<ref>{{cite web|url=http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/|title=Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2}}</ref>
'''Carry-less Multiplication''' (CLMUL) is an extension to the [[x86]] instruction set used by [[microprocessor|microprocessors]] from [[Intel Corporation|Intel]] and [[Advanced Micro Devices|AMD]] which was proposed by Intel in March 2008<ref>{{cite web | url=http://softwareprojects.intel.com/avx/ | title=Intel Software Network | publisher=Intel | accessdate=2008-04-05}}</ref> and made available in the [[Intel Westmere (microarchitecture)|Intel Westmere processors]] announced in early 2010. The purpose is to improve the speed of applications doing block cipher encryption in [[Galois/Counter Mode]], which depends on [[finite field]] multiplication. Finite field (GF(2<sup>k</sup>)) multiplication can be implemented more efficiently with the new CLMUL instructions than with the traditional instruction set.<ref>{{cite web|url=http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/|title=Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2}}</ref>


==New instructions==
==New instructions==

Revision as of 14:46, 27 April 2010

Carry-less Multiplication (CLMUL) is an extension to the x86 instruction set used by microprocessors from Intel and AMD which was proposed by Intel in March 2008[1] and made available in the Intel Westmere processors announced in early 2010. The purpose is to improve the speed of applications doing block cipher encryption in Galois/Counter Mode, which depends on finite field multiplication. Finite field (GF(2k)) multiplication can be implemented more efficiently with the new CLMUL instructions than with the traditional instruction set.[2]

New instructions

Instruction Description
PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers
PCLMULLQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 00]
PCLMULHQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 01]
PCLMULLQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 02]
PCLMULHQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 03]
PCLMULQDQ xmmreg,xmmrm,imm [rmi: 66 0f 3a 44 /r ib]

CPUs with CLMUL instruction set

See also

References

  1. ^ "Intel Software Network". Intel. Retrieved 2008-04-05.
  2. ^ "Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2".
  3. ^ "Striking a balance". Dave Christie, AMD Developer blogs. May 7, 2009. Retrieved 2009-05-08.