상위 질문
타임라인
채팅
관점

CLMUL 명령어 집합

위키백과, 무료 백과사전

Remove ads

무자리수 곱셈(Carry-less Multiplication, CLMUL)은 인텔AMD마이크로프로세서에 사용되는 X86 명령어 집합의 확장으로, 2008년 3월 인텔이 제안했고[1] 2010년 초에 발표된 인텔 웨스트미어 프로세서에서 사용할 수 있게 되었다. 수학적으로 이 명령어는 비트열 이 다항식 을 나타내는 유한체 GF(2)에 대한 다항식 곱셈을 구현한다. CLMUL 명령어는 또한 전통적인 명령어 집합보다 훨씬 더 효율적으로 밀접하게 관련된 더 큰 유한체 GF(2k)의 곱셈을 구현할 수 있게 해준다.[2]

이 명령어들의 한 가지 용도는 유한체 GF(2k) 곱셈에 의존하는 갈루와/카운터 모드에서 블록 암호화 애플리케이션의 속도를 향상시키는 것이다. 또 다른 적용 분야는 CRC 값의 빠른 계산인데,[3] 여기에는 Zlibpngcrush에서 LZ77 슬라이딩 윈도우 DEFLATE 알고리즘을 구현하는 데 사용되는 CRC 값도 포함된다.[4]

ARMv8에도 CLMUL 버전이 있다. SPARC는 그들의 버전을 "XOR 곱셈"을 의미하는 XMULX라고 부른다.

Remove ads

새로운 명령어

이 명령어는 두 개의 64비트 값에 대한 128비트 무자리수 곱셈을 계산한다. 대상은 128비트 XMM 레지스터이다. 소스는 다른 XMM 레지스터 또는 메모리일 수 있다. 즉시 피연산자는 128비트 피연산자의 어느 절반이 곱해지는지를 지정한다. 즉시 피연산자의 특정 값을 지정하는 니모닉도 정의되어 있다.

자세한 정보 명령어, 옵코드 ...

EVEX 벡터화 버전(VPCLMULQDQ)은 AVX-512에서 볼 수 있다.

Remove ads

CLMUL 명령어 집합을 갖춘 CPU

CLMUL 명령어 집합의 존재 여부는 CPU 기능 비트 중 하나를 테스트하여 확인할 수 있다.

같이 보기

각주

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads