고급 벡터 확장

고급 벡터 확장(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]

같이 보기

각주