시각적 지침 집합

Visual Instruction Set

VIS(Visual Instruction Set) 또는 VISSun Microsystems가 개발한 SPARC V9 마이크로프로세서를 위한 SIMD 명령 집합 확장이다.VIS에는 VIS 1, VIS 2, VIS 2+, VIS 3, VIS 4의 5가지 버전이 있다.[1]

역사

VIS 1은 1994년에 도입되었으며, Sun이 UltraSPARC 마이크로프로세서(1995년)와 Fujitsu가 SPARC64 GP 마이크로프로세서(2000년)에서 처음 구현했다.

VIS 2는 UltraSPARC III에 의해 처음 구현되었다.이후의 모든 UltraSPARC 및 SPARC64 마이크로프로세서는 명령 집합을 구현한다.

VIS 3은 SPARC T4 마이크로프로세서에서 처음 구현되었다.

VIS 4는 SPARC M7 마이크로프로세서에서 처음 구현되었다.

차이점 대 x86

VIS는 인텔의 MMX나 SSE와 같은 명령 툴킷이 아니다. MMX는 FPU 스택과 공유되는 레지스터가 8개뿐이며, SPARC 프로세서는 32개의 레지스터를 가지고 있으며 이중 정밀(64비트) 부동소수점 레지스터와도 별칭된다.

다른 RISC 프로세서에 대한 SIMD 명령 집합 확장과 마찬가지로, VIS는 RISC의 주요 원칙을 엄격히 준수한다: 명령 집합을 간결하고 효율적으로 유지한다.

이 설계는 MMX, SSE, SSE2, SSE3, SSE4, 3DNow!와 같은 CSISC 프로세서의 비교 가능한 확장과는 매우 다르다.

때때로 프로그래머는 MMXSSE 명령 하나만 가지고 가능한 작업을 수행하기 위해 여러 VIS 명령을 사용해야 하지만, 명령이 더 적으면 자동으로 성능이 향상되지 않는다는 것을 명심해야 한다.

기능

VIS는 기존의 SPARC V9 64비트 부동소수 레지스터를 재사용하여 8, 16 또는 32비트 정수 값을 여러 개 보유한다.이 점에서 VIS는 SSE/SSE2/AltiVec과 같은 다른 SIMD 아키텍처보다 MMX의 설계와 더 유사하다.

VIS는 주로 그래픽 지원을 위한 많은 작업을 포함하기 때문에 대부분의 작업은 정수만을 위한 것이다.여기에는 3D에서 2D 변환, 에지 처리 및 픽셀 거리가 포함된다.

VIS를 코드로 사용하는 방법에는 다음 네 가지가 있다.

  • GCC -mvis 옵션
  • 인라인 어셈블리 사용
  • 인터페이스와 같은 C 기능을 가진 컴파일러 본질과 유사한 VSDK에서 인라인 템플릿 사용
  • C 함수 인터페이스가 있는 mediaLib 멀티미디어 라이브러리를 사용하십시오.SPARC 플랫폼의 VIS(x86/x64 플랫폼의 MMX/SSE/SSE2)를 사용하여 멀티미디어 애플리케이션 실행 가속화

참조

  1. ^ Liang He; Harlan McGhan (May 2005). "MT mediaLib for Chip MultiThreaded (CMT) Processors" (PDF). Sun Microsystems, Inc. Archived from the original (PDF) on December 30, 2006. Retrieved 2007-12-03.

외부 링크