
Asm
文章平均质量分 88
napu_sh
半路出家的机械师
展开
-
MMX 和SSE指令集的区别是什么
<br />MMX 是Intel在Pentium MMX中引入的指令集。其缺点是占用浮点数寄存器进行运算(64位MMX寄存器实际上就是浮点数寄存器的别名)以至于MMX指令和浮点数操作不能同时工作。为了减少在MMX和浮点数模式切换之间所消耗的时间,程序员们尽可能减少模式切换的次数,也就是说,这两种操作在应用上是互斥的。后来Intel在此基础上发展出SSE指令集;AMD在此基础上发展出3D Now指令集。<br /><br />SSE(Streaming SIMD Extensions)是Intel在3D No转载 2011-01-24 20:27:00 · 3270 阅读 · 0 评论 -
MMX指令
转自 http://blog.youkuaiyun.com/dahan_wangtao/article/details/1816513最近学习相关的多媒体数据操作指令, 统计了一下的MMX指令,作为知识积累。MMX的数据结构多媒体软件具有如下显著的特点:1、 小整型数据类型(图形数据为8位 ,声频数据为16位)2、 对小整型数据的频繁且重复的计算操作(例如被频繁的调转载 2012-05-17 09:46:54 · 742 阅读 · 0 评论 -
MMX指令集(详解)
转自 http://blog.youkuaiyun.com/dahan_wangtao/article/details/1944153EMMSMMX状态置空:将FP特征字置空(全1),使后续浮点指令可以使用浮点寄存器,其他MMX指令自动置FP为全0.本指令应在所有MMX例程结束和调用可含有FP指令的例程时使用,以清除MMX状态.MOVD mm,r/m32MO转载 2012-05-17 09:44:07 · 2623 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(1)介绍
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7007100#我们知道,在C/C++代码中,可以插入汇编代码提高性能。现在的指令集有了很多的高级指令,如果我们希望使用这些高级指令来实现一些高效的算法,就可以在代码中嵌入汇编,使用SSE等高级指令,这是可行的,但是如果对汇编不太熟悉,不愿意使用汇编的人来说,其实也是可以的,这就转载 2012-05-18 09:47:01 · 590 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(2)参考手册
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7008682http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/index.htm#intref_cls/common/intref_bk_ss转载 2012-05-18 09:48:43 · 631 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(3)SSE指令集基础
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7008704相关参考:http://edu.gamfe.com/tutor/d/11820.htmlhttp://blog.163.com/chenqneu@126/blog/static/45738484200781392836677/http:/转载 2012-05-18 09:49:20 · 801 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(4)SSE指令集Intrinsic函数使用
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7010615在http://blog.youkuaiyun.com/gengshenghong/article/details/7008682里面列举了一些手册,其中Intel Intrinsic Guide可以查询到所有的Intrinsic函数、对应的汇编指令以及如何使用等,所以,接下来转载 2012-05-18 09:50:17 · 748 阅读 · 0 评论 -
Intel体系结构MMX 指令集(表结构)
转自http://blog.youkuaiyun.com/dahan_wangtao/article/details/1816513 Intel体系结构MMX 指令集成组算术环绕方式有符号饱和模式无符号饱和模式AdditionPADDPADDSPADDUSSubtractionPSUBPSUBSPSUBUSMultip转载 2012-05-17 09:46:13 · 919 阅读 · 0 评论 -
内存拷贝的优化方法(草稿) [2]
转自 http://flier.cnblogs.com/archive/2004/07/08/22352.html让我们回过头来看看P4架构下的Cache结构。 The IA-32 Intel Architecture Software Developer's Manual, Volume 3: System Programming Guide转载 2012-05-17 14:32:51 · 590 阅读 · 0 评论 -
A practical guide to using SSE SIMD with C++ (printable)
转自 http://sci.tuomastonteri.fi/programming/sse/printableA practical guide to using SSE SIMD with C++ (printable)1.0 Introduction2.0 What is SIMD?3.0 Effective use of SSE4.0 Data structures w转载 2012-05-18 09:35:56 · 1637 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7011373下面是一个简单的测试SSE指令性能的程序,可以看到明显的性能提升。(说明:程序中的timing.h使用的是http://blog.youkuaiyun.com/gengshenghong/article/details/6973086中介绍的时间间隔获取方法)转载 2012-05-18 09:51:35 · 929 阅读 · 0 评论 -
SSE 介紹
转自 http://www.csie.ntu.edu.tw/~r89004/hive/sse/page_1.htmlSSE(為 Streaming SIMD Extensions 的縮寫)是由 Intel 公司,在 1999 年推出 Pentium III 處理器時,同時推出的新指令集。如同其名稱所表示的,SSE 是一種 SIMD 指令集。所謂的 SIMD 是指 single instru转载 2012-05-19 22:28:27 · 1194 阅读 · 0 评论 -
Microsoft Visual C++ 浮点优化
转自 http://msdn.microsoft.com/zh-cn/library/aa289157(v=vs.71).aspx摘要:了解如何使用 Microsoft Visual C++ 2005(以前称为 Visual C++“Whidbey”)的浮点语义管理方法来优化浮点代码。创建快速程序,同时确保仅对浮点代码执行安全优化。本页内容 C++ 中的浮点代码转载 2012-05-25 10:30:22 · 1891 阅读 · 0 评论 -
SSE指令介绍及其C、C++应用(2)
转自 http://blog.youkuaiyun.com/hikaliv/article/details/4264188http://blog.youkuaiyun.com/olncy/archive/2009/04/16/4084374.aspx作者:Alex Farber出处:http://www.codeproject.com/cpp/sseintro.aspSSE技术简介转载 2012-08-24 12:25:34 · 1110 阅读 · 0 评论 -
汇编指令速查
转自 http://www.cnblogs.com/del/archive/2010/03/16/1687665.html指令功能AAA调整加AAD调整除AAM调整乘AAS调整减ADC进位加ADD加AND转载 2012-08-24 12:21:55 · 899 阅读 · 0 评论 -
SSE指令介绍及其C、C++应用(1)
转自 http://blog.youkuaiyun.com/delphihero/article/details/1270069 SSE是英特尔提出的即MMX之后新一代(当然是几年前了)CPU指令集,最早应用在PIII系列CPU上。现在已经得到了Intel PIII、P4、Celeon、Xeon、AMD Athlon、duron等系列CPU的支持。而更新的SSE2指令集仅得到了P4系列CPU的支持转载 2012-05-18 09:29:49 · 695 阅读 · 0 评论 -
内存拷贝的优化方法(草稿) [1]
转自 http://www.cnblogs.com/flier/archive/2004/07/08/22343.html 在复杂的底层网络程序中,内存拷贝、字符串比较和搜索操作很容易成为性能瓶颈所在。编译器自带的此类函数虽然做了一些通用性的优化工作,但因为在使用指令集方面受到兼容性的约束,远远没有达到最大限度利用硬件能力的地步。而通过针对特定硬件平台的优化,可以大大提高此类操作的性转载 2012-05-17 14:32:09 · 978 阅读 · 0 评论 -
CPU指令集介绍
转自 http://blog.youkuaiyun.com/gengshenghong/article/details/7006817(1)什么是指令集参考:http://product.pconline.com.cn/itbk/bjbzj/notebook/1109/2522116.html所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型转载 2012-05-18 09:45:36 · 673 阅读 · 0 评论 -
MMX� Technology General Support Intrinsics
转自 http://www.gursey.gov.tr/Gilgamesh-WWW/IntelCompDocs/c_ug/linux337.htmThe prototypes for MMX technology intrinsics are in the mmintrin.h header file.IntrinsicNameAlternateNa转载 2012-05-17 18:33:32 · 1094 阅读 · 0 评论 -
基于MMX指令集的程序设计简介
<br />转自 http://blog.youkuaiyun.com/guanchanghui/archive/2006/07/28/989256.aspx<br /> <br /><br />作者:Alex Farber<br />出处:http://www.codeproject.com/cpp/mmxintro.asp<br />MMX技术简介<br /> <br />Intel 公司的MMX™(多媒体增强指令集)技术可以大大提高应用程序对二维三维图形和图象的处理能力。Intel MMX技术可用于对大量数据和复转载 2011-01-24 20:28:00 · 726 阅读 · 0 评论 -
数学库中应用SSE之一
转自 http://hi.baidu.com/sige_online/blog/item/d8fdfffc8f0033f7fd037fac.html毫无疑问,数学库是图形程序的基石,是图形程序运行效率的关键之一。一个优秀的数学库可以让图形程序运行得更流畅,甚至要快上几十倍上百倍。有时候替换一条除法运算会带来成倍的效率增长,比如用乘以 1/op 替换 vector 里的 operator转载 2012-05-29 19:38:43 · 1269 阅读 · 0 评论 -
INTEL 汇编指令集
转自 http://www.moon-soft.com/doc/30105.htm#770CONTENTIntel 8086 Family ArchitectureInstruction Clock Cycle Calculation8088/8086 Effective Address (EA) CalculationTask State Calculation转载 2012-05-29 18:30:05 · 4521 阅读 · 0 评论 -
优化:浮点型转整型 (通过测试验证)
转自 http://blog.youkuaiyun.com/caiguowu/article/details/6911615本文主要是测试验证:赋值与内嵌汇编的浮点型转整型,在效率上的差别,哈,其实,代码主要还是清晰,如果不是一个大的循环,也没必要这么做,毕竟计算机的运行速度,快的永远超出我们能感觉到的范围。 所以,本文只是提供一种优化的途径,与大家学习和交流!(通过测试验证转载 2012-06-01 09:51:29 · 700 阅读 · 0 评论 -
Intel SSE / MMX2 / KNI documentation
转自 http://intel80386.com/simd/mmx2-doc.htmlPlease note, this is a work-in-progress (ie BETA).Timings are of approximate throughput cycles using average from TSC, thelatency and ranges are转载 2012-06-01 12:53:51 · 1012 阅读 · 0 评论 -
通用二进制代码编程指南
转自 http://www.apple.com.cn/developer/mac/library/documentation/Platform/Conceptual/universal_binary/universal_binary_vector/chapter_6_section_3.html#//apple_ref/doc/uid/TP40002217-//apple_ref/doc/uid/转载 2012-06-01 12:55:26 · 2050 阅读 · 0 评论 -
SIMD、MMX、SSE、AVX、3D Now!、neon
转自 http://blog.youkuaiyun.com/conowen/article/details/7255920SIMDSIMD单指令流多数据流(SingleInstruction Multiple Data,SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。在微处理器中,单指令流多数据转载 2012-06-02 22:10:02 · 1283 阅读 · 0 评论 -
浮点指令的优化
转自 http://dev.gameres.com/Program/Other/fudianOp.htm 现在的编译器都能够针对浮点指令做优化,但是,我还是想你推荐VC,我认为,VC的优化更好,它能够更好地利用Pentium系列处理器的流水线。 · 优化概略 · 尽量理解你的编译器处理浮点指令的原理,要知道,你不可能把一个程序完全用浮点指令来写,更多的代码还是基于高转载 2012-05-25 10:31:25 · 1028 阅读 · 0 评论 -
原码 反码 补码
转自 http://www.cnblogs.com/liushuijinger/archive/2012/04/18/2454677.html && http://baike.baidu.com/view/377340.htm &&http://www.cnblogs.com/liushuijinger/archive/2012/04/05/2433718.html补码(two转载 2012-06-04 13:30:14 · 713 阅读 · 0 评论 -
汇编资料
Tommesani.com Docshttp://www.tommesani.com/Docs.html包括了:Programming SIMD computers is no easy task, but here you will find all the information you need to build fast applications that转载 2012-06-04 14:52:25 · 710 阅读 · 0 评论 -
mmx开发文档
转自 http://blog.sina.com.cn/s/blog_5018d6110100ce4q.htmli mmx简介 intel的mmx™技术是对intel体系结构(ia)指令集的扩展。该技术使用了单指令多数据技术(simd)技术,以并行方式处理多个数据元素,从而提高了多媒体和通讯软件的运行速度。mmx™指令集增加了57条新的操作码和一个新的64位四字数据类型。m转载 2012-06-04 14:55:21 · 804 阅读 · 0 评论 -
饱和运算
转自 http://baike.baidu.com/view/1547769.htm?fromTaglist 所谓饱和运算,就是当运算结果大于一个上限或小于一个下限时,结果就等于上限或是下限。例如:BYTE运算,最大值是255,0xF1+0x35应该是等于0x26,但由于结果大于255,那么饱和运算的结果就是0xFF。在图像处理里经常有(比如说增加亮度)两种灰度值运算后要判断值是否大转载 2012-06-04 14:46:30 · 5877 阅读 · 0 评论 -
深入浅出说流水线
转自 http://www.cnblogs.com/liushuijinger/archive/2012/04/23/2465231.html 注意:1 是准并行,不是真正的并行。2 流水线提高的是部件的利用率和指令的平均执行速度,单个指令执行的速度没有提高。流水线指令的特点:用流水线执行的指令都是相转载 2012-06-04 13:34:24 · 700 阅读 · 0 评论 -
MMX指令集在C++中的使用
转自 http://www.vckbase.com/document/viewdoc/?id=418下载本文示例源代码上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,然后介绍如何使用MMX指令。 一、 内联汇编的一般原则:1、 自由使用通用寄存器;(EAX,EBX,转载 2012-06-04 13:36:31 · 931 阅读 · 0 评论 -
CPUID指令介绍
转自 http://blog.youkuaiyun.com/dahan_wangtao/article/details/19072071、什么是cpuid指令 CPUID指令是intel IA32架构下获得CPU信息的汇编指令,可以得到CPU类型,型号,制造商信息,商标信息,序列号,缓存等一系列CPU相关的东西。2、cpuid指令的使用 cpuid使用e转载 2012-05-17 09:58:57 · 1365 阅读 · 0 评论 -
深入剖析PE文件 (告诉你exe文件打开后是依据什么来创建进程并在系统中运行)
转自 深入剖析PE文件 (告诉你exe文件打开后是依据什么来创建进程并在系统中运行)转载自http://lwglucky.blog.51cto.com/1228348/283812PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解.一、 基本结构。转载 2017-11-24 16:29:41 · 3459 阅读 · 0 评论