Visual Instruction Set(缩写VIS),是一个用于SPARC处理器的SIMD多媒体指令集扩展。VIS在所有的UltraSPARC以及较新的SPARC64处理器上都有实现。

VIS有三个版本。VIS 1.0和VIS 2.0已在先前的SPARC处理器上得到实现;VIS 3.0 将在Rock微处理器中首次实现。

VIS重用了SPARC处理器中的64位长浮点寄存器来储存8位,16位或者32位的整数数值。从这方面来讲,VIS大概更像MMX而不怎么像SSE/SSE2/AltiVec,后者都具有专用的128位SIMD寄存器。但是,MMX只有8个寄存器可用,而SPARC处理器通常具有数目大得多的寄存器,这是RISC处理器的特色之一。

作为RISC处理器的扩展指令集,VIS严格遵守RISC的设计原则--保持指令集的精简与高效。这很不同于CISC处理器扩展指令集(如MMX/SSE/SSE2/SSE3/SSE4/3D Now!)的做法。理论上,RISC的设计原则可以保持流水线的简单高效,从而可能带来更大的吞吐量及性能提升。

然而,Intel/AMD可以很容易的为x86/x64处理器加入新的指令集扩展,Sun却必须在这方面非常谨慎。这可能是CISC相较于RISC的优势之一。有时候程序员们不得不组合几条VIS指令来完成MMX/SSE只用一条指令便可完成的某项操作。值得指出的是,更少的指令数目并不一定就会带来更大的性能提升。

VIS包含一系列对图形图像网络等的处理支持,其中大多数只可用于整型数据。

有三种方法可以在程序中使用VIS:使用内嵌汇编

使用VSDK中的内嵌模板,这很类似于使用编译器原语,使用起来有些像调用C语言函数

使用mediaLib多媒体函数库。这个库提供C函数接口,并在SPARC平台上使用VIS(同时在x86/x64平台上使用MMX/SSE/SSE2)来加速多媒体应用程序

C语言中vis函数,VIS指令集相关推荐

  1. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

  2. C语言中atoi()函数的用法

    C语言中atoi()函数的用法 一.学习要点: 1.int atoi(const char *str)把参数str所指向的字符串转换为一个整数: 二.代码 #include<stdio.h> ...

  3. r语言中c函数错误,R语言中c()函数与paste()函数的区别说明

    c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...

  4. C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 我们知道作为一个语言本身是不会有诸如从main函数开始运行这样的条件(深层次的说 底层汇编代码不会指定从mian函数开始的这样的条件,程序开始的位 ...

  5. 浅析C语言中strtol()函数与strtoul()函数的用法

    这篇文章主要介绍了浅析C语言中strtol()函数与strtoul()函数的用法,注意其将字符串转换成long型的区别,需要的朋友可以参考下 头文件: ? 1 #include <stdlib. ...

  6. c语言memcopy_C语言中memcpy 函数的用法详解

    C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...

  7. c语言中memcpy函数_带有示例的C中的memcpy()函数

    c语言中memcpy函数 memcpy()函数 (memcpy() function) memcpy() is a library function, which is declared in the ...

  8. c语言中 调用函数除函数名外,【单选题】在 C 语言中 , 调用函数除函数名外 , 还必须有 ( ). (10.0分) A. 函数预说明 B. 实际参数 C. ( ) D. 函数返回值...

    [单选题]在 C 语言中 , 调用函数除函数名外 , 还必须有 ( ). (10.0分) A. 函数预说明 B. 实际参数 C. ( ) D. 函数返回值 更多相关问题 下列关于IMOECDIS性能标 ...

  9. c语言中open函数r,C语言中open函数

    语法Open ( windowvar, windowtype {, parent } ) 参数windowvar:指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中windowtype:s ...

  10. c语言中sprintf函数_在C / C ++中使用sprintf()函数

    c语言中sprintf函数 In this article, we'll take a look at using the sprintf() function in C / C++. 在本文中,我们 ...

最新文章

  1. Stucts应用引起的OutOfMemoryError
  2. Android O 前期预研之一:Android Treble 计划
  3. 美国计算机科学和计算机工程专业的好大学,2021USNews美国计算机工程专业排名一览表...
  4. IDEA将Maven项目中src源代码下的xml配置文件编译进classes
  5. .NET平台下Web树形结构程序设计
  6. 前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?___请求时,为什么要携带token?
  7. win8f8修复计算机,Win8怎么在启动时按F8出现修复计算机选项
  8. Serverless 全能选手,再添一“金”
  9. 爬虫之Xpath的使用
  10. mac修改了/etc/profile导致所有命令不能用、mac下vim不能使用
  11. Linux系统基础原理
  12. 数据治理:数据血缘关系分析
  13. 元胞自动机及其MATLAB实例
  14. 这两种方法能使PDF不能被复制和修改
  15. python界面登录程序_python的基础程序——简陋的管理员(用户)登录界面
  16. 南开计算机考研难么,我的一点考研心得
  17. 斯坦福大学C语言课程观后感,看《斯坦福大学公开课:编程方法学》有感之一...
  18. C语言知识体系框架图
  19. FFmpeg[14] - ffbuild/common.mak:173: *** missing separator. Stop.
  20. WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)

热门文章

  1. PJzhang:查看你的微信、QQ、新浪微博都授权给过谁
  2. MTK FAQ解决方案官方资料介绍(MT6765/MT6762/MT6761芯片平台)
  3. FreeTextBox使用详解 (版本3.1.1)
  4. 如何在VirtualBox中启用3D加速和使用Windows Aero
  5. 食品科学与工程考研可以考计算机吗,食品科学与工程考研考哪些科目
  6. 详解容灾架构中的数据复制技术
  7. CLR基础全面版-概念、执行模型、托管模块、程序集、FCL
  8. firefox custom css,自定义FireFox的样式,火狐CSS样式使用教程
  9. 实验9:8X8LED点阵(点亮一个点)
  10. 霍夫变换探测直线(HT最初版)