- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XJTUSE
计算机体系结构
MMX 实验报告
专业:软件工程
班级:
姓名:
学号:
Andy
2014/12/31
计算机体系结构MMX 实验报告
计算机体系结构 MMX 实验
一、实验目的及要求
了解并学习 Inter 微处理器的 MMX/SSE 相关的技术,用相关的技术,混合其
他的编程语言对图像或者是视频进行处理。
本实验的目的是通过 MMX 技术对图形的处理的强大的计算功能,实现图片
的渐变,最终利用 MMX 技术实现一个简易的电子相册应用。
二、实验环境
本实验的实验的软件环境:
操作系统:Windows 7 64 bits SP1 旗舰版
开发 IDE:visual studio 2010 旗舰版
硬件开发环境为 Lenovo IdeaPad Y560
处理器:Inter (R)Core(TM) i5 CPU M 480 @2.67GHz 2.67 GHz
RAM:8G
三、实验内容与步骤
1、 MMX 技术
MMX 是 MultiMediaeXtensions (多媒体扩展)的缩写,是为了方便处理大
量计算的视频、音频等多媒体数据,特地在 CPU 中加入的专门用来进行多媒体
处理的多媒体数据处理指令 MMX。MMX CPU 极大地提高了电脑的多媒体(如
立体声、视频、三维动画等)处理功能。
MMX 技术是继 Intel386(TM)处理器(将体系结构扩展至 32 位)之后对 Intel 体
系结构的最重要的加强。MMX 技术的基础是一项称为单指令、多数据(SIMD )
的技术。它使得许多条信息可由一条单一指令来处理,这种平行操作使性能得以
大幅度地提高。
MMX 技术随着出现后就以后再发展着,目前已经到了 SSE 指令集。在 MMX
到 SSE 之间本质是一样的,只是不用的是指令功能的增强和指令数目的增加,
使得我们在处理计算密集型的数据时候更够节省更多的时间。以下就简单介绍下
MMX/SSE 相关的指令及其优点。
1
计算机体系结构MMX 实验报告
MMX 技术的基础是一项称为单指令、多数据(SIMD )的技术。它使得许多
条信息可由一条单一指令来处理,这种平行操作使性能得以大幅度地提高。MMX
基本的指令集有拷贝指令、运算指令、分组指令。
MOVQ:64 位数据拷贝
MOVD:32 位数据拷贝
PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ:将寄存器的 32位数据交错组合为64位的
数据
PACKUSWB:将 16 位的数据转换为无符号的 8 位数据
PACKSSWB/PACKSSDW:将 32/16 位数据转化为 16/8 位数据
PADDB/W/D:加法的运算
PASUB/W/D:减法运算 等
2、 实验步骤及相关代码
本实验采用的是 MFC 架构,在 MFC 中嵌入 MMX 代码进行图像的相关的处
理。下面简单说明了简单的电子相册需求以及技术实现:
1、打开文件,添加图片
2、在客户区显示客户选择的图片的渐变效果
在实现的过程中,按照 MFC 单文档架构,添加一个计时器,定时从文档
中得到要显示的位图数据,并显示在客户区域中。
下面给出详细的实验步骤及相关的代码。
(1) 建立 MFC 单文档工程 SSE4
(2 ) 添加位图读取的相关的函数库。
本实验在实验的过程中,读取 BMP 文件的代码是清华出版社和北京交通
大学出版社出版的杨淑莹老师的《VC++ 图像处理程序设计》这本书中的的CDib
函数库,主要的功能有:
TCHAR* GetFileName(); //得到位图文件的名称
BOOL IsValid();
DWORD GetSize(); //得到位图的大小
原创力文档


文档评论(0)