正在阅读:基于MMX指令集的程序设计简介基于MMX指令集的程序设计简介

2004-02-14 09:34 出处:CSDN 作者:hifrog(翻译) 责任编辑:linjixiong

  for each  8 members in array  //把数组中的8个字节(其中一个字节为数组中的一个单位)作为一组取出
  {
    把这8个字节加载到MMX寄存器中
    通过一个CPU指令执行周期把这个寄存器中的8个字节都加上n
    把寄存器中计算的结果写回内存
  }


  C++编程人员不必直接使用MMX指令集中的指令访问这些MMX寄存器。你可以使用64位的数据类型__m64和一系列C++函数来进行相关的算术和逻辑运算。而决定程序使用哪个MMX寄存器以及代码优化是C++编译器的任务。

  Visual C++ MMXSwarm [4]是MSDN中提供的一个很好的使用MMX技术进行图象处理的例子,它包含了一些封装好了的类简化了使用MMX技术的操作,并向你展示了对各种不同格式图象进行处理的操作(如单色24位象素RGB、32位象素RGB等)。本文只是对使用Visual C++实现MMX程序设计的简单介绍。如果你感兴趣的话,可以参看MSDN上MMXSwarm的例子。

  MMX程序设计详细介绍

  包含的头文件

  所有的MMX指令集函数在emmintrin.h文件中定义:
  #include <emmintrin.h>
  因为程序中用到的MMX处理器指令是由编译器决定,所以它并没有相关的.lib库文件。

  __m64 数据类型

  这种类型的变量可用作MMX指令的操作数,它不能被直接访问。_m64类型的变量被自动分配为8个字节的字长。

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品