Набор визуальных инструкций - Visual Instruction Set

Набор визуальных инструкций, или ВИС, это SIMD расширение набора инструкций для SPARC V9 микропроцессоры разработан Sun Microsystems. Существует пять версий VIS: VIS 1, VIS 2, VIS 2+, VIS 3 и VIS 4.[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 - это не набор инструкций, как Intel MMX и SSE. MMX имеет только 8 регистров, совместно используемых с FPU стек, в то время как процессоры SPARC имеют 32 регистра, которые также имеют псевдонимы регистров с плавающей запятой двойной точности (64-битные).

Как и в случае с расширениями набора инструкций SIMD на других RISC процессоров, VIS строго соответствует основному принципу RISC: держать набор команд кратким и эффективным.

Этот дизайн сильно отличается от аналогичных расширений на CISC процессоры, такие как MMX, SSE, SSE2, SSE3, SSE4, 3DNow!.

Иногда программистам приходится использовать несколько инструкций VIS для выполнения операции, которая может быть выполнена только одним MMX или SSE инструкции, но следует иметь в виду, что меньшее количество инструкций не приводит автоматически к повышению производительности.

Функциональность

VIS повторно использует существующие 64-разрядные регистры с плавающей запятой SPARC V9 для хранения нескольких 8-, 16- или 32-разрядных целочисленных значений. В этом отношении VIS больше похож на дизайн MMX чем другие архитектуры SIMD, такие как SSE /SSE2 /AltiVec.

VIS включает ряд операций, в первую очередь для поддержки графики, поэтому большинство из них предназначены только для целых чисел. К ним относятся преобразование 3D в 2D, обработка края и расстояние до пикселей.

Есть четыре способа использовать VIS в коде:

  • В GCC -mvis параметр
  • Использовать встроенная сборка
  • Использовать встроенный шаблон в ВСДК, похожий на встроенные функции компилятора, которые имеют функции C как интерфейсы
  • Использовать mediaLib мультимедийная библиотека, которая имеет интерфейсы функций C. Он использует VIS на платформах SPARC (и MMX / SSE / SSE2 на платформах x86 / x64) для ускорения выполнения мультимедийных приложений.

использованная литература

  1. ^ Лян Хэ; Харлан МакГан (май 2005 г.). «MT mediaLib для многопоточных процессоров Chip MultiThreaded (CMT)» (PDF). Sun Microsystems, Inc. Архивировано с оригинал (PDF) 30 декабря 2006 г.. Получено 2007-12-03.

внешние ссылки