고급 벡터 확장
보이기
고급 벡터 확장(Advanced Vector Extensions,약어:AVX)은 2008년 4월 춘계 인텔 개발자 포럼에서 발표된 x86 명령어 집합의 확장으로 SIMD명령어 집합중의 하나이다. SIMD 레지스터의 폭이 128비트에서 256비트로 확장돼서, 최대 2배까지 부동소수점 연산 처리 능력이 향상된다. 또한 기존의 2 피연산자 구조에서 3 피연산자 구조로 변경됨으로 인하여 프로그래밍이 더 효율적이고 성능이 더 뛰어나게 된다. 인텔은 2010년 1월에 발표한 샌디 브리지 마이크로아키텍처기반 프로세서부터 지원을 시작했으며 AMD는 불도저 프로세서(AMD Bulldozer Family 15h)에서 선보였다. AVX에 관련된 백서가 인텔 소프트웨어 네트워크에 있으며[1] 또한 온라인상에 참조 매뉴얼이 있다.[2]
특징
[편집]개요
[편집]- 부동소수점 계산이 많은 작업에 유용
- 멀티미디어 처리
- 3D 모델링
- 과학 모의실험
- 재무 분석
- 최대 256비트 넓이의 벡터 부동소수점 데이터
- 2 피연산자 명령어구조에서 3 피연산자 명령어 구조지원
- 전력 효율성이 뛰어나고 유휴 소비전력이 미미함
- 더 폭넓은 벡터의 지원으로 이전과 비교 최대 2배 높은 FLOPS
- 스레드와 코어들 그리고 상호 연결의 증가에 따라 성능 향상
- 프로그래밍의 유연성
- AVX로부터 기존과 새로운 애플리케이션의 성능 향상
명령어
[편집]- 200개 이상의 기존 인텔 SSE명령어들은 유연한 메모리 정렬과 분명한 소스 연산자를 처리하기 위해 갱신됨.
- 100개 이내의 기존 인텔 SSE명령어들은 256비트 벡터를 지원하기 위해 갱신됨
- 100개 이내의 새로운 명령어들
- 살포(Broadcast), 치환(permute), 곱하기와 더하기가 합쳐진 명령어들
- 4 연산자 명령어들은 다음을 포함 : 일반화된 셔플(shuffle), 그리고 변수들의 혼합
미래
[편집]- 미래 확장성을 고려하여 설계
- 256- 과 512비트 벡터 정수
- 512- 와 1024비트 벡터 부동소수점
미래의 인텔 명령어들
[편집]인텔은 2012년에 해스웰 마이크로아키텍처부터 하드웨어 기반의 FMA(fused multiply-add)를 선보일 예정이다.[1]
같이 보기
[편집]
|
각주
[편집]- ↑ 인텔. “Intel Software Network”. 2008년 4월 7일에 원본 문서에서 보존된 문서. 2008년 4월 5일에 확인함.
- ↑ 인텔. “Intel Advanced Vector Extensions Programming Reference”. 2011년 8월 7일에 원본 문서 (PDF)에서 보존된 문서. 2008년 4월 5일에 확인함.