北邮大三计算机体系结构实验三DLX处理器程序设计

北邮大三计算机体系结构实验三DLX处理器程序设计

ID:48305058

大小:192.00 KB

页数:14页

时间:2020-01-15

北邮大三计算机体系结构实验三DLX处理器程序设计_第1页
北邮大三计算机体系结构实验三DLX处理器程序设计_第2页
北邮大三计算机体系结构实验三DLX处理器程序设计_第3页
北邮大三计算机体系结构实验三DLX处理器程序设计_第4页
北邮大三计算机体系结构实验三DLX处理器程序设计_第5页
资源描述:

《北邮大三计算机体系结构实验三DLX处理器程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验三DLX处理器程序设计1.实验目的学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。2.实验原理采用静态调度方法重排指令序列,减少相关,优化程序。3、实验内容和要求自编一段汇编代码,完成一维向量加法运算,并输出结果。观察程序中出现的数据/控制/结构相关。(注:使用一维数组表示一维向量。)4.1向量加法代码清单及注释说明1、向量加法设计源代码.dataVectorLength:.word16Vector1:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16Vector2

2、:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;声明向量长度以及声明向量1、2Printf1:.asciiz"Vector="Printf2:.asciiz"%f".align2PrintPrompt:.wordPrintf1PrintPar:.wordPrintf2Result:.space4;存放打印数据的空间申请.textmain:addir14,r0,PrintPrompttrap5lwr20,VectorLengthaddir2,r0,0Loop:ldf10,Vect

3、or1(r2)ldf12,Vector2(r2);循环体中读入向量cvti2df0,f10cvti2df2,f12adddf4,f2,f0;加法运算Finish:;****Finish,writeresultintostdoutsdResult,f4addir14,r0,PrintPartrap5;系统中断,输出结果addir2,r2,4subir20,r20,1bnezr20,Loop;****Endtrap02、运行结果5.1程序相关性分析结果(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令

4、组合。产生34.12%的数据相关。当对当前指令的操作数寄存器进行操作的时候,前几条指令的运算结果还未写回结果寄存器,由此产生数据相关。没有产生结构相关。产生3.94%的控制相关。系统按照预测成功来执行指令,执行一条指令后马上将其下一条指令trap读进来。(2)考察增加浮点运算部件对性能的影响。1个浮点运算部件3个浮点运算部件同一段代码执行相同步,但是经过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统计结果都不造成影响,可能是由于该程序不存在争用浮点运算部件资源的情况(3)考察增加for

5、ward部件对性能的影响。不使用forward部件使用forward部件使用forward部件之后执行相同的代码用的时钟周期比不使用forward部件少了大约100个时钟周期,由于没有结构相关,所以使用forward部件主要使得RAW相关明显减少了,占总的时钟周期比例也减少了,对控制相关没有什么影响。总之,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到很大的改善。(4)观察转移指令在转移成功和转移不成功时候的流水线开销。在本次实验中转移成功的几率比较大,进行16次转移只有一次转移不成功的,因

6、为系统按照预测成功来执行指令,当判断转移不成功时,系统对trap指令进行的操作被全部作废,转而去执行跳转到的指令。4.2双精度浮点加法求和代码清单及注释说明1、双精度浮点加法求和源代码.data;初始化两个用于相加的一维向量(双精度浮点数),向量长度为20a:.double1.9,2.1,3.7,4.6,5.5,6.4,7.3,8.2,9.1,10.1,11.2,12.3,13.4,14.5,15.6,16.7,17.8,18.9,19.0,20.2b:.double1.1,2.2,3.3,4.4,5.5,6.6,7.

7、7,8.8,9.8,10.9,11.8,12.7,13.6,14.5,15.4,16.3,17.2,18.1,19.9,20.8PrintfFormat:.asciiz"Theresultis%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft".align2PrintfPar:.wordPrintfFormatr:.space200;r为保存相加结果的向量空间.text.globalmainma

8、in:addir1,r0,0;r1计数相加的次数adduir4,r0,8;r4为常数8loop:;循环计算向量相加结果subir2,r1,20;r1=20时,跳转到finishbeqzr2,finishmultur3,r1,r4;r3为当前分量相对于向量基址的偏移(每个分量占8B)ldf0,a(r3);取a中第r1个分量ldf2,

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

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

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