F16C
보이기

F16C[1](이전/비공식적으로 CVT16으로 알려짐) 명령어 집합은 반정밀도와 표준 IEEE 단정밀도 부동소수점 형식 간의 변환을 지원하는 X86 명령어 집합 확장이다.
역사
[편집]2009년 5월 1일 AMD가 발표한 CVT16 명령어 집합[2]은 X86 및 AMD64 명령어 집합의 128비트 스트리밍 SIMD 확장 코어 명령어의 확장이다.
CVT16은 2007년 8월 30일에 발표된 SSE5 명령어 집합 제안의 일부를 수정한 것으로, XOP 명령어 집합 및 FMA 명령어 집합으로 보완된다. 이 수정은 제안된 새 명령어의 이진 코딩을 인텔의 고급 벡터 확장 명령어 확장과 더 호환되도록 만들었으며, 명령어의 기능은 변경되지 않았다.
최근 문서에서는 인텔과 AMD의 X86-64 아키텍처 사양 모두에서 F16C라는 이름이 공식적으로 사용된다.
기술 정보
[편집]XMM 레지스터의 4개 부동소수점 값 또는 YMM 레지스터의 8개 부동소수점 값을 변환하는 변형이 있다.
이 명령어는 "팩 반정밀도를 팩 단정밀도로 벡터 변환"과 그 반대의 약어이다.
VCVTPH2PS xmmreg,xmmrm64
– 메모리 또는 XMM 레지스터의 하위 절반에 있는 4개의 반정밀도 부동소수점 값을 XMM 레지스터의 4개 단정밀도 부동소수점 값으로 변환한다.VCVTPH2PS ymmreg,xmmrm128
– 메모리 또는 XMM 레지스터(YMM 레지스터의 하위 절반)에 있는 8개의 반정밀도 부동소수점 값을 YMM 레지스터의 8개 단정밀도 부동소수점 값으로 변환한다.VCVTPS2PH xmmrm64,xmmreg,imm8
– XMM 레지스터의 4개 단정밀도 부동소수점 값을 메모리 또는 XMM 레지스터의 하위 절반에 있는 반정밀도 부동소수점 값으로 변환한다.VCVTPS2PH xmmrm128,ymmreg,imm8
– YMM 레지스터의 8개 단정밀도 부동소수점 값을 메모리 또는 XMM 레지스터에 있는 반정밀도 부동소수점 값으로 변환한다.
VCVTPS2PH
의 8비트 즉시 인수는 반올림 모드를 선택한다. 값 0-4는 가장 가까운 값, 내림, 올림, 잘라내기, MXCSR.RC
에 설정된 모드를 선택한다.
이 명령어에 대한 지원은 CPUID (EAX=1) 후 ECX의 비트 29로 표시된다.
F16C를 지원하는 CPU
[편집]- AMD:
- 재규어 (마이크로아키텍처)-기반 프로세서
- 푸마 (마이크로아키텍처)-기반 프로세서
- "헤비 이큅먼트" 프로세서
- 파일드라이버 (마이크로아키텍처)-기반 프로세서, 2012년 4분기[3]
- 스팀롤러 (마이크로아키텍처)-기반 프로세서, 2014년 1분기
- 엑스카베이터 (마이크로아키텍처)-기반 프로세서, 2015년 2분기
- 젠 (마이크로아키텍처)-기반 프로세서, 2017년 1분기 및 이후
- 인텔:
- 아이비브리지 (마이크로아키텍처) 프로세서 및 이후
각주
[편집]- ↑ Chuck Walbourn (2012년 9월 11일). “DirectXMath: F16C and FMA”.
- ↑ “128-Bit and 256-Bit XOP, FMA4 and CVT16 Instructions” (PDF). 《AMD64 Architecture Programmer's Manual》 6. 2009년 5월 1일. 2009년 5월 20일에 원본 문서 (PDF)에서 보존된 문서. 2022년 7월 5일에 확인함.
- ↑ 《New "Bulldozer" and "Piledriver" Instructions》 (PDF), AMD, October 2012
외부 링크
[편집]- New Bulldozer and Piledriver Instructions [1] 보관됨 2013-01-07 - 웨이백 머신
- DirectX math F16C and FMA [2]
- AMD64 Architecture Programmer's Manual Volume 1 [3] 보관됨 2013-12-14 - 웨이백 머신
- AMD64 Architecture Programmer's Manual Volume 2 [4]
- AMD64 Architecture Programmer's Manual Volume 3 [5] 보관됨 2013-12-14 - 웨이백 머신
- AMD64 Architecture Programmer's Manual Volume 4 [6] 보관됨 2021-11-14 - 웨이백 머신
- AMD64 Architecture Programmer's Manual Volume 5 [7] 보관됨 2013-12-14 - 웨이백 머신
- IA32 Architectures Software Developer Manual [8]