[SIMD 프로그래밍] MMX 명령어 / unpack의 개념 / 레지스터 이동 명령어, unpack 명령어
MMX MMX는 인텔이 설계한 SIMD(Single Instruction Multiple Data) 명령어 집합으로 여러개의 정수에 대한 병렬 연산을 제공한다. MM0부터 MM7까지의 8개의 64비트 레지스터로 연산을 처리한다. MM 레지스터 총 64비트로 64 비트 정수 하나를 저장하거나, 16, 8, 4, 2, 1 바이트 크기와 같은 더 작은 크기의 정수를 여러개 저장할 수 있다. 여러개의 정수를 하나의 레지스터에 저장하는 형태를 'Packed' 라 한다. 하나의 MMX의 명령어는 두개의 32비트 정수, 네개의 16비트 정수, 여덟개의 8비트 정수를 처리한다. 이동 명령어 MOVD, MOVQ 각각 Doubleword (4바이트), Quadword (8바이트)를 의미한다. MOVD의 경우 메모리에서 m..