当前位置: 代码迷 >> 汇编语言 >> 怎么用汇编语言优化图像处理的代码呢
  详细解决方案

怎么用汇编语言优化图像处理的代码呢

热度:222   发布时间:2016-05-02 04:24:16.0
如何用汇编语言优化图像处理的代码呢
图像处理用的是opencv的库,目前是c++写的,想用汇编优化,该参考些神马资料呢。
谢谢。
------解决思路----------------------
http://scc.qibebt.cas.cn/docs/optimization/VTune(TM)%20User's%20Guide/mergedProjects/analyzer_ec/mergedProjects/reference_olh/whnjs.htm

http://softpixel.com/~cwright/programming/simd/sse.php

前两个是单纯的指令集参考,可作为字典来查。
阅读能力强的话可以直接上 Intel 手册 ( google Intel? Itanium? Architecture Software Developer's Manual )

MMX:http://dev.gameres.com/Program/Other/MMX_1.htm(见识少看的这个入门,lz有兴趣可以多google一下这些指令集. 把后面的MMX_1.htm换成MMX_2.htm才能换页。一共四页。看懂了SSE就差不多懂了。操作数翻翻了而已,没多出几个新的指令)

(说点乱七八糟的) 一般情况交给编译器优化就够了,其次就是SIMD指令(MMX/SSE指令集等等),一次操作N个数据。这些指令集在设计的时候有很多缺陷,导致很多很早就该有的指令出现在SSE3/SSSE3后面的扩展中。而且用起来非常膈应,熟练度不高的话很难写出有用的程序。

很多编译器都支持内建指令 包含在 mmintrin.h 等文件中, 可以像调痈函数一样使用SIMD
------解决思路----------------------
以前我也这么想过,但是发现工程巨大,流水线等优化还不如编译器,果断放弃
------解决思路----------------------
优化首先是算法和数据结构的优化,然后才是语言的优化,仅仅把高级语言翻译成汇编语言,并不能提高多少,翻译得不好还没有编译器生成的代码优化。
  相关解决方案