SSE专题
文章平均质量分 77
liu_chulong
这个作者很懒,什么都没留下…
展开
-
使用SSE指令优化的数学函数(整理)
float _SSE_cos( float x){ float temp; __asm { movss xmm0, x movss xmm1, _ps_am_inv_sign_mask andps xmm0, xmm1 addss xmm0, _ps_am_pi_o_2 mulss xmm0, _ps_am_2_o_pi cvttss2si ecx, xmm0 movss xmm转载 2006-06-25 20:22:00 · 1720 阅读 · 0 评论 -
在视频格式转换中使用MMX和SSE指令集提高性能
大家都知道使用Overlay平面显示视频可能充分利用显示的硬件加速功能,自由缩放,同时显著降低CPU的消耗。但现在市场上流行的MP4,H.264板卡解压时往往输出的格式是YV12,这种格式在多数显卡上无法正常显示,一般需要转换为YUYV格式进行显示。一.直接C++代码进行转换void CDispOverlay::BufferFrame(UINT nID, // 通道编号PBYTE转载 2006-06-25 20:26:00 · 1584 阅读 · 0 评论 -
MMX及SSE优化--SSE篇
上回讲到针对整数运算的MMX优化技术,然而真正大运算量的图形和声音处理大都用的是浮点运算,而且现在对浮点运算的要求也是越来越高,在这样一个条件下INTEL终于在Pentium III处理中增加针对浮点运算优化的SSE指令,所以所有用过SSE指令的程序必须在Pentium III或者Althon XP以后的CPU上才来运行。 SSE全新定义了8个新的128位寄存器xmm0-xmm7,比MMX的6转载 2006-06-25 20:33:00 · 1603 阅读 · 0 评论 -
SSE技术简介
SSE技术简介 Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的主题[1]有可能会使不熟悉使用SSE汇编指令编程的初学者感到困惑,但是转载 2006-06-25 20:37:00 · 1347 阅读 · 0 评论 -
再谈MMX优化
这几天帮别人做了彩色空间转换的MMX优化,包括YUV420RGB,YUV420YUV422,UYVY->YUV420,感觉收获不少.MMX指令的确强劲,使用内联的MMX指令后转换速度比优化前平均提高了3-4倍.下面承接原来的MMX优化的入门篇稍微深入点讲解MMX指令的用法.首先在VC的内联汇编中使用MMX指令的确时相当方便,而且效率也非常高.推荐使用.一般有两种传送方式:数组和指针.使用数转载 2006-06-25 20:28:00 · 1730 阅读 · 0 评论 -
MMX及SSE优化--MMX篇
MMX和SSE都是INTEL开发的基于SIMD(单指令多数据流)的技术。所谓单指令多数据流是指可以用一条指令可以完成多个数据的操作。虽然64位系统已经推出,但是我们大部分都是使用32位系统,所以如果要完成两个128位的相加运算,用普通32位指令很明显要执行4条相加指令,而基于64位的MMX指令只需要执行两次即可完成,更强大的SSE能一次处理128位,故一次就可以完成操作,所以采用MMX及SSE优化转载 2006-06-25 20:34:00 · 1117 阅读 · 0 评论 -
SSE2初学指南
IntroWhat is SSE2?SSE2 is an extension of assembly language which allows programs to execute one operation on multiple pieces of data at a time. Because SSE2 is assembly however, it only works on转载 2006-06-25 20:36:00 · 1000 阅读 · 0 评论 -
SSE所需头文件
Q:seafrog:您好,我看到你译著的两篇关于MMX、SSE编程的文章,很受启发。然而,它们都是在Visual Studio.NET下使用。我想在Visual C++里面使用,可在我的机器里找不到emmintrin.h和xmmintrin.h两个头文件。我已在机器上安装了Visual C++,是不是需要从INTEL的网站下载什么包解压后才有这两个文件呢?如果是需要下载什么包?在VC中究竟怎转载 2006-06-25 20:37:00 · 1751 阅读 · 0 评论 -
SSE指令介绍及其C、C++应用
SSE是英特尔提出的即MMX之后新一代(当然是几年前了)CPU指令集,最早应用在PIII系列CPU上。现在已经得到了Intel PIII、P4、Celeon、Xeon、AMD Athlon、duron等系列CPU的支持。而更新的SSE2指令集仅得到了P4系列CPU的支持,这也是为什么这篇文章是讲SSE而不是SSE2的原因之一。另一个原因就是SSE和SSE2的指令系统是非常相似的,SSE2比SSE多转载 2006-06-25 20:38:00 · 929 阅读 · 0 评论