下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.计算机系统构造实验报告一流水线中的相关实验目的:1. 熟练掌握WinDL*模拟器的操作和使用,熟悉DL*指令集构造及其特点;2. 加深对计算机流水线根本概念的理解;3. 进一步了解DL*根本流水线各段的功能以及根本操作;4. 加深对数据相关、构造相关的理解,了解这两类相关对CPU性能的影响;5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。实验平台:WinDL*模拟器实验容和步骤:1.用WinDL*模拟器执行以下三个程序:求阶乘程序fact.s 求最大公倍数程序gcm.s 求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的
2、执行情况,观察CPU中存放器和存储器的容。熟练掌握WinDL*的操作和使用。 2. 用WinDL*运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 3. 在不采用定向技术的情况下去掉Configuration菜单中Enable Forwarding选项前的勾选符,用WinDL*运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 在采用定向技术
3、的情况下勾选Enable Forwarding,用WinDL*再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。1. 求阶乘程序用WinDL*模拟器执行求阶乘程序 HYPERLINK .mdj*.net/course/hep/jisuanjiti*ijiegou/simulation/e*periment1.htm l # fact.s 。这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。该程序中调用了 HYPERLINK .mdj*.net/course/hep/jisuanjiti*ijiegou/simulation/
4、e*periment1.htm l # input.s中的输入子程序,这个子程序用于读入正整数。实验结果:在载入fact.s和input.s之后,不设置任何断点运行。a.不采用重新定向技术,我们得到的结果b.采用定向技术,我们得到的结果:从上面的数据我们可以看出定向的作用:在定向技术存在的情况下Statistics 窗口中的各种统计数字:总的周期数(215) 和暂停数 (17 RAW, 25 Control, 12 Trap; 54 Total)在定向技术不存在时候,控制暂停和 Trap 暂停仍然是同样的值,而RAW暂停从17变成了53,总的模拟周期数增加到236。所以定向技术带来的加速比:2
5、36 / 215 = 1.098DL*forwarded比 DL*not forwarded 快9.8%。2.数据相关先给出一个存在数据相关的程序:LHI R2, (A16) & 0*FFFF ADDUI R2, R2, A & 0*FFFF LHI R3, (B16)&0*FFFF ADDUI R3, R3, B&0*FFFF loop: LW R1, 0 (R2) ADD R1, R1, R3 SW 0(R2), R1 LW R5, 0 (R1) ADDI R5, R5, #10 ADDI R2, R2, #4 SUB R4, R3, R2 BNEZ R4, loop TRAP #0 A:
6、 .word 0, 4, 8, 12, 16, 20, 24, 28, 32, 36 B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1, 0没有采用定向技术时运行该程序:得到程序执行了202个周期,10个数据相关引起的时钟周期RAW stall为104个。暂停时钟周期数占总执行周期数的百分比=51.48%采用定向技术时运行该程序:得到程序执行了128个周期,共有6个数据相关引起的时钟周期RAW stall为30个。暂停时钟周期数占总执行周期数的百分比=23.44%可见通过定向技术,减少了数据相关,缩短了程序的执行周期,整个性能为原来的1.57倍。3.构造相关下面这段程序存在
7、构造相关ADDI R5, R5, 1SUBI R4, R4, 1AND R3, R3, R3*OR R7, R7, R7ADDI R8, R8, 1ADDI R9, R9, 1MULT R1,R5,R4 MULT R2,R3,R7执行之后得到的clock cycle programeStatistics:可见1个构造相关引起了4个stall,占总共20个CYCLE 的20%为了防止构造相关,可以考虑采用资源重复的方法,比方,在流水线机器中设置相互独立的指令存储器和数据存储器,也可以将CACHE分割成指令CACHE 和数据CACHE。二循环展开及指令调度实验目的:1. 加深对循环级并行性、指令调
8、度技术、循环展开技术以及存放器换名技术的理解;2. 熟悉用指令调度技术来解决流水线中的数据相关的方法;3. 了解循环展开、指令调度等技术对CPU性能的改良。实验平台:WinDL*模拟器实验容和步骤:1用指令调度技术解决流水线中的构造相关与数据相关1用DL*汇编语言编写代码文件*.s,程序中应包括数据相关与构造相关假设:加法乘法除法部件各有2个,延迟时间都是3个时钟周期2通过Configuration菜单中的Floating point stages 选项,把加法乘法除法部件的个数设置为2个,把延迟都设置为3个时钟周期;3用WinDL*运行程序。记录程序执行过程中各种相关发生的次数、发生相关的指
9、令组合,以及程序执行的总时钟周期数;4采用指令调度技术对程序进展指令调度,消除相关;5用WinDL*运行调度后的程序,观察程序在流水线中的执行情况,记录程序执行的总时钟周期数;6根据记录结果,比拟调度前和调度后的性能。论述指令调度对于提高CPU性能的意义。2. 用循环展开、存放器换名以及指令调度提高性能1用DL*汇编语言编写代码文件*.s,程序中包含一个循环次数为4的整数倍的简单循环;2用WinDL*运行该程序。记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;3将循环展开3次,将4个循环体组成的代码代替原来的循环体,并对程序做相应的修改。然后对新的循环体进展存放器换名和指令调度;4
10、用WinDL*运行修改后的程序,记录执行过程中各种相关发生的次数以及程序执行的总时钟周期数;5根据记录结果,比拟循环展开、指令调度前后的性能。3)存在相关的程序1.指令调度:首先,通过Configuration菜单中的Floating point stages选项,把除法单元数设置为3,把加法乘法除法的延迟设置为3个时钟周期。给出调度前的程序sch_bef:.data.global ONEONE: .word 1.te*t.global mainmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by storing in f7 1 innop
11、 ;floating-point formatdivf f1,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2addf f3,f1,f2divf f10,f3,f7 ;move f3 into *=(f10)divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f5multf f6,f4,f5divf f13,f6,f7 ;move f6 into A=(f13)Finish: trap 0运行之后可以得到结果:调度之后的程序sch_af
12、t:.data.global ONEONE: .word 1.te*t.global mainmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by storing in f7 1 innop ;floating-point formatdivf f1,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f5addf f3,f1,f2mu
13、ltf f6,f4,f5divf f10,f3,f7 ;move f3 into *=(f10)divf f13,f6,f7 ;move f6 into A=(f13)Finish: trap 0运行之后得到:可以看出经过调度之后运行周期从27减少到21,而且减少了相关。2.循环展开:循环展开前的程序:LHI R2, (A16)&0*FFFF ADDUI R2, R2, A&0*FFFF LHI R3, (B16)&0*FFFF ADDUI R3, R3, B&0*FFFF ADDU R4, R0, R3 NOP loop: SUBI R4, R4, #8 SUB R5, R4, R2 BNEZ R5, loop TRAP #0 A: .double 1, 2, 3, 4 B: .double 1, 2, 3, 4运行结果:循环展开后的程序:LHI R2, (A16)&0*FFFF ADDUI R2, R2, A&0*FFFF LHI R3, (B16)&0*FFFF ADDUI R3, R3, B&0*FFFF ADDU R4, R0, R3 SUBI R4, R4, #8 SUBI R4, R4, #8 SUBI R4,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 党课课件严以律己风清气正深入促进领导干部廉洁自律
- 税务管理总结
- 2022年河南省三门峡市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2023年山西省大同市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年内蒙古自治区锡林郭勒盟公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年广西壮族自治区百色市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2022年安徽省滁州市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 广西南宁市(2024年-2025年小学六年级语文)统编版期末考试(上学期)试卷及答案
- 单位管理制度品读大全员工管理篇十篇
- 单位管理制度佳作合集职工管理
- 2024时事政治考试题库(100题)
- 2024地理知识竞赛试题
- 《城市轨道交通工程盾构吊装技术规程》(征求意见稿)
- 【新教材】统编版(2024)七年级上册语文期末复习课件129张
- 钦州市浦北县2022-2023学年七年级上学期期末语文试题
- 古典时期钢琴演奏传统智慧树知到期末考试答案章节答案2024年星海音乐学院
- 乐山市市中区2022-2023学年七年级上学期期末地理试题【带答案】
- 两人合伙人合作协议合同
- 苏教版一年级上册数学期末测试卷含答案(完整版)
- 2024年中考历史复习-中国古代史专项试题
- DZ/T 0462.5-2023 矿产资源“三率”指标要求 第5部分:金、银、铌、钽、锂、锆、锶、稀土、锗(正式版)
评论
0/150
提交评论