下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、For personal use only in study and research; not for commercial use实验三DLX处理器程序设计1. 实验目的学习简单编译优化方法,观察采用编译优化方法所带来的性能的提高。2. 实验原理采用静态调度方法重排指令序列,减少相关,优化程序。3、实验内容和要求 自编一段汇编代码,完成一维向量加法运算,并输出结果。观察程序中出现的 数据 /控制/ 结构相关。(注:使用一维数组表示一维向量。 )41 向量加法代码清单及注释说明1、向量加法设计源代码.dataVectorLength: .word 16Vector1:.word1,2,3,4
2、,5,6,7,8,9,10,11,12,13,14,15,16Vector2:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 ;声明向量长度 以及声明向量 1、2Printf1:.asciiz"Vector ="Printf2:.asciiz" %f".align 2PrintPrompt: .word Printf1PrintPar:.wordPrintf2Result:.space4 ;存放打印数据的空间申请.textmain:addi r14,r0,PrintPrompt trap 5 lw r20,Vect
3、orLength addi r2,r0,0Loop:ld f10,Vector1(r2)ld f12,Vector2(r2) ;循环体中读入向量 cvti2d f0,f10 cvti2d f2,f12addd f4,f2,f0 ;加法运算 Finish:;* Finish,write result into stdoutsd Result,f4addi r14,r0,PrintPartrap 5 ;系统中断,输出结果addi r2,r2,4 subi r20,r20,1 bnez r20,LoopEnd trap 0 2、运行结果51 程序相关性分析结果(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 指令进 行的操作被全部作废,转而去执行跳转到的指令。42 双精度浮点加法求和代码清单及注释说明;初始化两个用于相加的一维向量(双精度浮点数)向量长度为20a: .double 1.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: .double 1.1, 2.2, 3.3, 4.4,5.5,6.6,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
7、,20.81、双精度浮点加法求和源代码.dataPrintfFormat:.asciiz"Theresultisnn%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ft%ftnn" .align 2PrintfPar: .word PrintfFormatr: .space 200;r 为保存相加结果的向量空间.text.global mainmain:addi r1,r0,0 ;r1 计数相加的次数addui r4,r0,8 ;r4 为常数 8loop:;循环计算向量相加结果subi r2,r1,20 ;r1=
8、20 时,跳转到 finishbeqz r2,finishmultu r3,r1,r4;r3 为当前分量相对于向量基址的偏移 (每个分量占 8B)ld f0,a(r3) ;取 a中第 r1 个分量ld f2,b(r3) ;取 b中第 r1个分量addd f4,f0,f2 ; 相加结果放在 f4 中sd r(r3),f4 ; 将相加结果放入结果向量 r 中addi r1,r1,1 ; 下一分量j loopfinish: ; 输出向量相加的结果addi r14,r0,PrintfPartrap 52、运行结果:52 程序相关性分析结果(1)观察程序中出现的数据 /控制/ 结构相关。指出程序中出现上
9、述现象的指令 组合。产生了 53.78%的数据相关。 当对当前指令的操作数寄存器进行操作的时候,前 几条指令的运算结果还未写回结果寄存器, 由此产生数据相关。 产生数据相关的 指令主要有:1) addi r1,r0,0subi r2,r1,202) subi r2,r1,20beqz r2,finish3) multu r3,r1,r4ld f0,a(r3)4) ld f2,b(r3)addd f4,f0,f2无结构相关产生了 4.29%的控制相关。 系统按照预测成功来执行指令,执行一条指令后马上 将其下一条指令 trap 读进来。和 4.1 代码类似。( 2) 考察增加浮点运算部件对性能的影
10、响。1 个浮点运算部件 3 个浮点运算部件同一段代码执行相同步, 但是经过对比发现浮点运算部件的多少对于程序执行效 率并没有什么影响, 浮点运算部件的多少对统计结果都不造成影响, 可能是由于 该程序函数中没有连续的浮点运算指令。(3) 考察增加 forward 部件对性能的影响。没有 forward 部件 有 forward 部件使用 forward 部件之后执行相同的代码用的时钟周期比不使用 forward 部件少了 大约122个时钟周期,使用 forward部件使得 RAW相关明显减少了,流水线的性能 得到很大的改善。(4)观察转移指令在转移成功和转移不成功时候的流水线开销。 该转移指令不
11、成功的情况较多, 21次预测中只有 1 次转移成功,所以预测顺序 取对流水线的性能是有利的。6、实验总结 本次实验主要是向量求和运算, 在本次实验我设计了两个部分, 首先是整数 向量的加法,整数向量加法的实验进行成功后才在之前实验的基础上略作修改, 进行了的双精度浮点加法求和的实验。 本次实验没有输入, 是直接对固定在代码 中的数据进行运算,运算完毕后直接输出结果。编程中遇到的一些问题: 在由整形改为双精度浮点运算的时候对双精度运算指 令不知道怎么来标识,后来查到所有涉及到 double 型数据的运算指令,指令代 码都要加上 d 来说明,否则编译是不通过的。通过本次自己编写汇编程序对浮点数的操作有了更深入的了解,也学会了 WINDLX中浮点寄存器和浮点状态寄存器的设置和使用。熟悉了双精度浮点运算 的流水线操作过程,以及数据相关,结构相关,控制相关, forward 部件对于双 精度浮点运算流水线的影响。仅供个人用于学习、研究;不得用于商业用途For personal use only in study and research; not for commercial use.Nur f ür den pers?nlichen für
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 炼钢浇铸工班组管理考核试卷含答案
- 阳极氧化工安全意识强化知识考核试卷含答案
- 整经工风险评估评优考核试卷含答案
- 酱卤肉制品加工工岗前工艺控制考核试卷含答案
- 遗体火化师安全应急考核试卷含答案
- 铁渣处理工安全意识强化水平考核试卷含答案
- 环己酮(醇酮)装置操作工安全知识竞赛评优考核试卷含答案
- 制漆配色调制工安全生产规范考核试卷含答案
- 防爆电气装配工岗前技术综合考核试卷含答案
- 2026班车司机面试题目及答案
- 2026年广东公务员遴选考试题库及答案
- 2026年广东高考地理题考点及完整答案
- 老年人营养配餐与慢性病管理
- 湖南农业发展投资集团有限责任公司2026年校园招聘笔试历年备考题库附带答案详解
- 2026年透析护理护士试卷及答案
- 生鲜超市门面房租赁协议
- 2025年甘肃省兰州市中考英语真题(含答案)
- 2026年写字楼物业试题及答案
- 2025年贵州省高考物理试卷真题(含答案)
- 《PCB工艺与设计》课件-155.PCB的拼板实例演示
- 重症急性胰腺炎超声引导下经皮置管引流专家共识(2024版)
评论
0/150
提交评论