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]