Loading AI tools
위키백과, 무료 백과사전
FMA 명령어 집합(영어: FMA instruction set)은 단일 곱셈-누산기(FMA)계산을 하기위한 x86 마이크로프로세서 명령어 집합에서의 128비트 SIMD명령어들이다. 여기에는 두가지의 종류가 있다.
FMA3와 FMA4 명령어 집합은 기능면에서는 거의 동일하지만 상호 호환은 되지 않는다. 이 둘은 부동소수점 연산과 SIMD연산을 위한 단일 곱셈-누산기(FMA) 명령어들이다.
FMA3와 FMA4의 차이점은 명령어가 세개의 피연산자(operand)를 갖느냐 네개의 피연산자를 갖느냐이다. 이 차이점은 호환성 문제를 야기한다. 단일 곱셈-누산기(FMA)는 다음과 같은 형태로 이루어진다.
FMA4는 네개의 피연산자가 네개의 프로세서 레지스터를 사용하고 FMA3는 세개의 피연산자와 세개의 레지스터를 사용한다. 따라서 d 가 a와 같다. FMA3는 코드가 좀 더 짧게 되며 하드웨어의 구현이 좀 더 단순한반면 FMA4는 프로그램의 유연성을 제공한다.
Mnemonic (AT&T) | 피연산자 | 연산 |
---|---|---|
VFMADD132PDx | xmm, xmm, xmm/m128 | $0 = $0*$2 + $1 |
VFMADD132PDy | ymm, ymm, ymm/m256 | $0 = $0*$2 + $1 |
VFMADD213PDx | xmm, xmm, xmm/m128 | $0 = $1*$0 + $2 |
VFMADD213PDy | ymm, ymm, ymm/m256 | $0 = $1*$0 + $2 |
VFMADD231PDx | xmm, xmm, xmm/m128 | $0 = $1*$2 + $0 |
VFMADD231PDy | ymm, ymm, ymm/m256 | $0 = $1*$2 + $0 |
VFMADD132PSx | xmm, xmm, xmm/m128 | $0 = $0*$2 + $1 |
VFMADD132PSy | ymm, ymm, ymm/m256 | $0 = $0*$2 + $1 |
VFMADD213PSx | xmm, xmm, xmm/m128 | $0 = $1*$0 + $2 |
VFMADD213PSy | ymm, ymm, ymm/m256 | $0 = $1*$0 + $2 |
VFMADD231PSx | xmm, xmm, xmm/m128 | $0 = $1*$2 + $0 |
VFMADD231PSy | ymm, ymm, ymm/m256 | $0 = $1*$2 + $0 |
VFMADD132SD | xmm, xmm, xmm/m64 | $0 = $0*$2 + $1 |
VFMADD213SD | xmm, xmm, xmm/m64 | $0 = $1*$0 + $2 |
VFMADD231SD | xmm, xmm, xmm/m64 | $0 = $1*$2 + $0 |
VFMADD132SS | xmm, xmm, xmm/m32 | $0 = $0*$2 + $1 |
VFMADD213SS | xmm, xmm, xmm/m32 | $0 = $1*$0 + $2 |
VFMADD231SS | xmm, xmm, xmm/m32 | $0 = $1*$2 + $0 |
Mnemonic (AT&T) | 피연산자 | 연산 |
---|---|---|
VFMADDPDx | xmm, xmm, xmm/m128, xmm/m128 | $0 = $1*$2 + $3 |
VFMADDPDy | ymm, ymm, ymm/m256, ymm/m256 | $0 = $1*$2 + $3 |
VFMADDPSx | xmm, xmm, xmm/m128, xmm/m128 | $0 = $1*$2 + $3 |
VFMADDPSy | ymm, ymm, ymm/m256, ymm/m256 | $0 = $1*$2 + $3 |
VFMADDSD | xmm, xmm, xmm/m64, xmm/m64 | $0 = $1*$2 + $3 |
VFMADDSS | xmm, xmm, xmm/m32, xmm/m32 | $0 = $1*$2 + $3 |
인텔과 AMD는 양사간에 FMA3와 FMA4의 코딩 기법에 대한 협력없이 서로의 지원 계획을 바꿈으로서 호환성 문제가 발생했다. AMD는 FMA3에서 FMA4로 변경을 했고 이와 거의 동시에 인텔은 FMA4에서 FMA3로 계획을 변경했다. 대략적인 내력은 다음과 같다.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.