计算机体系结构实验

计算机体系结构实验

ID:11875407

大小:138.31 KB

页数:10页

时间:2018-07-14

计算机体系结构实验_第1页
计算机体系结构实验_第2页
计算机体系结构实验_第3页
计算机体系结构实验_第4页
计算机体系结构实验_第5页
资源描述:

《计算机体系结构实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验3用MIPS指令实现求两个数组的点积班级姓名学号1.实验目的(1)通过实验熟悉实验1和实验2的内容(2)增强汇编语言编程能力(3)学会使用模拟器中的定向功能进行优化(4)了解对代码进行优化的方法2.实验原理本次实验通过MIPS语句实现对应的功能,通过代码在指令级和流水线操作级模拟器MIPSsim上执行,根据加载的文档代码中对应操作的通用寄存器,来观察执行的结果是否正确;然后通过观察统计一栏中汇总的执行周期总数,来判断优化和定向前后执行的效率高低,并判断静态调度的情况。3.实验内容和步骤:(1)自行编写一个计算两个向量点积的汇编程序,该程序要求可以实现求两个向量点积计算后的结果。向

2、量的点积:假设有两个n维向量a、b,则a与b的点积为:两个向量元素使用数组进行数据存储,要求向量的维度不得小于10(2)启动MIPSsim。(3)载入自己编写的程序,观察流水线输出结果。注意:不要使用浮点指令及浮点寄存器!!使用TEQ$r0$r0结束程序!!代码如下:.textmain:ADDIU$r1,$r0,array1ADDIU$r2,$r0,array2ADDIU$r3,$r0,10ADDIU$r7,$r0,0loop:LW$r4,0($r1)LW$r5,0($r2)MUL$r6,$r4,$r5ADD$r7,$r7,$r6#r7存放的是点积结果ADDI$r1,$r1,4ADD

3、I$r2,$r2,4ADDI$r3,$r3,-1BGTZ$r3,loopTEQ$r0,$r0.dataarray1:.word0,1,2,3,4,5,6,7,8,9array2:.word0,1,2,3,4,5,6,7,8,9运行结果如下:汇总情况如下:时钟周期图如图所示:(中间部分省略)(4)使用定向功能再次执行代码,与刚才执行结果进行比较,观察执行效率的不同。使用定向功能执行,汇总如下:由此可见,定向后的执行效率为定向前的134.188034%,同时,所少的执行周期为RAW停顿周期。时钟周期图如图所示:(5)采用静态调度方法重排指令序列,减少相关,优化程序代码如下:.textma

4、in:ADDIU$r1,$r0,array1ADDIU$r2,$r0,array2ADDIU$r3,$r0,10ADDIU$r7,$r0,0loop:LW$r4,0($r1)LW$r5,0($r2)MUL$r6,$r4,$r5ADDI$r1,$r1,4ADDI$r2,$r2,4ADDI$r3,$r3,-1ADD$r7,$r7,$r6#此处进行了优化BGTZ$r3,loopTEQ$r0,$r0.dataarray1:.word0,1,2,3,4,5,6,7,8,9array2:.word0,1,2,3,4,5,6,7,8,9运行结果如下:汇总情况如下:时钟周期如下:(中间部分省略)与进

5、行优化前相比,效率为原来的157/127=123.62205%,所少的周期数为RAW停顿周期数。(6)对优化后的程序使用定向功能执行,与刚才执行结果进行比较,观察执行效率的不同。采用定向优化后,执行结果如下:时钟周期如图所示:(中间部分省略)由此可见,定向后的执行效率为定向前的127/107=118.6916%所少的周期数为RAW停顿周期数。4.分析结果代码优化后的性能要比代码优化前的性能提高很大。代码优化之前,需要397个时钟周期,而优化后需要316个时钟周期,停顿周期也从237个时钟周期减少到了134个时钟周期,数据相关和控制相关都有所减少。但是代码优化后因为trap停顿的时钟周

6、期数有所增加5.实验总结通过本次实验更进一步了解了代码优化的重要性,实际应用中一个优化的代码可以提高工作效率,减少不必要的开销,代码优化最重要的工作时分析各种相关性,这样才有可能进一步将代码优化。平时学习时更应该注意对代码优化的学习。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。