计算机系统结构实验报告-流水线与冲突

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机系统结构实验报告班级:0555555fhgdghhgd姓名:99999999学号:23020088888888888报告完成时间:20144444444计算机系统结构实验报告班级99999999999999实验日期tttttttttt实验成绩姓名88888学号88888888888888实验名称流水线与流水线中的冲突实验目的要求及器材实验目的:1)加深对计算机流水线基本概念的理解;2)理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本操作;3)加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性能的影响。4)进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿。加深对计算机流水线基本概念的理解;实验平台:采用指令级和流水线操作级模拟器MIPSsim;计算机一台。实验内容、步骤及结果实验内容和步骤:(1)启动MIPSsim。(2)根据预备知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。(3)参照前一个实验的使用说明,熟悉MIPSsim模拟器的操作和使用方法。(4)选择配置菜单中的“流水方式”选项,使模拟器工作于流水方式下。(5)观察程序在流水线中的执行情况。①选择MIPSsim的文件-载入程序来加载pipeline.s②关闭定向功能③用单步执行一个周期的方式,观察每个周期中,各段流水寄存器内容的变化,指令执行情况和时钟周期图④当执行到第13个时钟周期时,记录各段指令IF:LW$r4,60($r6)0x0000002cID:ADDI$r3,$r0,250x00000028EX:ADDI$r1,$r1,-10x00000024MEM:ADDI$r6,$r0,80x00000020WB:ADDI$r2,$r1,$r00x0000001c画出这时的时钟周期图:(6)这时各流水寄存器中的内容为:IF/ID.IR:8CC4003CIF/ID.NPC:00000030ID/EX.A:00000000000000000ID/EX.B:00000000000000000ID/EX.IMM:00000000000000019ID/EX.IR:20030019EX/MEM.ALU0:0000000000000004EX/MEM.IR:2021FFFFMEM/WB.LMD:0000000000000000MEM/WB.ALU0:0000000000000008MEM/WB.IR:20060008(7)观察和分析结构冲突对CPU性能的影响。①加载structure_hz.s②执行该程序,找出存在结构冲突的指令部件前两条指令在fadd存在冲突;第三至第八条指令之间在ID和FADD存在结构冲突;第九条在ID和EX存在冲突;第十条在ID存在冲突。③记录由结构冲突引起的停顿时钟周期数,计算停顿时钟周期数占执行总周期数百分比可见结构停顿周期数为35,停顿周期数占执行周期总数的67.30769%。④把浮点加法器个数改为4个⑤重复1-3步骤冲突部件:第五条在fadd发生冲突,第六条在ID发生冲突,第九条在EX发生冲突,第十条在ID发生冲突。结构停顿周期数位2,占周期总数的10.52632%⑥分析结构冲突对CPU性能的影响,讨论解决结构冲突的方法.。结构冲突使得CPU的有效周期变少,CPU性能下降。为了使各种组合的指令都能够顺利地重叠执行,解决方法可以:对功能部件进行全流水处理或重复设置足够多的功能部件。(8)观察数据冲突并用定向技术来减少停顿①全部复位②加载data_hz.s③关闭定向功能④用单步执行一个周期的方式执行程序,同时查看时钟周期图,列出什么时候发生RAW冲突发生冲突的周期为:3、5、6、8、9、12、13、16、17、19、20、24、25、27、28、31、32、35、36、38、39、43、44、46、47、50、51、54、57、58⑤记录数据冲突引起的停顿时钟周期数和程序执行的总时钟周期数,计算百分比停顿时钟周期数为:31总时钟周期数为:65停顿时钟周期数占总执行周期数的百分比=31/65=47.69231%⑥复位CPU⑦打开定向功能⑧单步执行程序,查看RAW冲突并与3结果比较程序在周期4、12、24、36时发生RAW冲突。跟步骤③相比较,定向比非定向RAW冲突大幅减少⑨记录数据冲突引起的停顿周期数和程序总时钟周期数,计算定向后性能是原来的几倍停顿时钟周期数:9总时钟周期数:43停顿时钟周期数占总执行周期数的百分比:20.93023%采用定向技术后性能是原来的2.2786倍总结通过本次实验,我对流水线的工作原理、流水线的冲突以及解决方法都有了更深入直观的了解,加深了对经典5段RISC流水线的的理解和掌握,对于独立的运算执行部件例如fadd、fmul、fdiv替换EX时指令的执行轨迹形象的展现在我们面前。通过观察时钟周期图能够辨别冲突类型及冲突原因,对结构冲突和数据冲突有了更好的认识,对结构冲突的解决办法一般是通过增加工作部件的方式增加并行度,解决数据冲突的方法一般是采用定向方式。附录无

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功