본문 바로가기
Tips

AVX

by Leo 리오 2012. 3. 15.
반응형

발번역:http://embeddedinnovator.com/2011/03/intel-advanced-vector-extensions-next-generation-vector-processing/

Abstract

High-performance vector processing은 레이더, 비디오 분석, 의료 이미지, 미디어 처리등에 꼭 필요하다. 이런 애플리케이션들은 파워, 공간, 가격, TTM등에 민감하다. 인텔에서 제한하는 Intel Advanced Vector Extensions (AVX)fully integrated graphics engine, power-saving enhancements, flexible I/O등을 통해서 이런 것들을 극복하게 해준다. 2nd 세대 Intel Core Processor는 그전 세대에 비해서 더 많은 workloads를 처리할 수 있다.

AVX instructions는 특히 computation intensive한 애플리케이션에대해 더욱 중요하다. AVXIntel Streaming SIMD Extensions (SSE)보다 두배의 floating-point 연산성능 향상을 기대할 수 있다. 두배의 성능을 내기위해서 AVXfloating-point data path128bits에서 256bits로 증가 시키고, 256-bit vector instructions을 지원한다.

 

Intel AVX Feautres

 

Wider Vecotrs

그림입니다.

AVX에는 (SSE128-bit XMM register를 확장시킨) 16개의 256-bit YMM register들이 있다. YMMlsb 128bits들은 XMM register들과 같다. 모든 16개의 YMM register들은 64bit OS에서 사용가능하고 32bit OS에서는 8개의 register들만 사용가능하다.

같은 원리로 128bits SSE floating-point arithmetic instruction256bits floating-point 연산으로 확장된다. 256-bit floating-point Add, Multiply, and shuffle 연산자는 single cycle에 연산이 가능하다.

 

Dual load ports

이전 세대에서는 한 개의 128-bit load port를 지원했으나, 2nd 세대에서는 두 개의 128-bit load ports를 지원한다. 따라서 bandwidth가 두배로 증가하였고, 이것은 앞서 말한 연산량의 두배 증가를 받쳐 줄 수 있다.

 

Support for 3- and 4-operand instructions

SSE에서는 XXM1 = XMM1 + XMM2와 같은 dual-operand instruction에 제한이 있었다. 반해, AVXYMM3 = YMM1 + YMM2와 같은 3-4- operand instruction을 지원한다. non-destructive source operand의 지원은 registers, register-register copy, explicit load 명령들을 줄여준다. 코드 크기의 감소는 macro-fusion(i.e., 컴파일러에 의한 instruction merging) micro-fusion(i.e., pipeline에서의 microinstruction merging)의 기회를 높여준다


샌디 브릿지의 AVX 명령어 셋트 : http://gigglehd.com/zbxe/5043210
반응형

'Tips' 카테고리의 다른 글

Ctrl + F5눌러도 안 멈출때  (0) 2012.06.04
고려대학교 무선랜 설정  (0) 2012.05.23
TTS  (0) 2011.11.30
jflap GUI NFA DFA 프로그램  (0) 2011.10.20
putty 나 xShell 등 shell 프로그램에서 GUI (X11) 보기  (0) 2011.08.09

댓글