实验作业3:DLX流水线实验报告

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

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

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

资源描述

计算机体系结构实验作业3:DLX流水线实验报告姓名:学号:班级:班号:《计算机系统结构》第三次实验作业一、实验目的本次实验的主要目的是熟悉DLX流水线以及结构相关、数据相关、控制相关、前送(forwarding)等概念和技术。二、实验内容1.了解各种指令在DLX流水线中的运行过程;2.流水线相关实验;3.前送(forwarding)技术对流水线性能的影响;4.考察改变部件数量和延迟数对性能的影响。三、实验步骤及结果分析1.了解各种指令在DLX流水线中的运行过程如上次实验那样,读入并运行fact.s和input.s。请从程序中选择有代表性的5条不同类型的指令,并描述每条指令在5段流水线中每步完成的工作。(1)(2)(3)(4)(5)2.流水线相关实验在流水线窗口中观察,分别找出结构相关、数据相关、控制相关各一种,并描述冒险情况以及这些冒险在winDLX是如何解决的。(1)结构相关在执行subdf0,f0,f4和jfact.Loop期间由于ALU被占用硬件资源无法满足jfact.Loop进入EX阶段,发生结构相关的冒险。winDLX中通过阻塞EX1个周期来解决此问题。(2)数据相关bnezr5,input.Finish需要使用seqi的计算结果r5,所以产生数据相关的冒险。WindDLX通过阻塞解决问题。(3)控制相关语句lwr2,SaveR2(r0)被aborted,这是控制相关的冒险造成的。因为前一条语句jinput.Loop是跳转语句,而指定到EX阶段语句被解码后在能知道其作用,所以已经取指令的lw语句被取消。3.前送(forwarding)技术对流水线性能的影响(1)开启forwarding:没有开启forwarding:lburr3,0x0(r2)……①seqir5,r3,0xa……②对比在开启和关闭forwarding的情况下以上两条语句的执行,由于语句2需要使用语句1计算的结果r3作为输入,产生数据冒险。在没有forwarding时语句2的IF阶段需要阻塞2个周期,即等待语句1完成EX,后才可继续执行。当开启forwarding后语句2的IF与语句1的ID并行执行,语句2的ID受冒险影响阻塞1个周期,并在EX阶段得到前送数据,继续执行。从整体上看,开启forwarding后使阻塞周期减少了1个,提高了性能。(2)开启forwarding:没有开启forwarding:movi2fpf11,r2……①cvti2df2,f11……②对比在开启和关闭forwarding的情况下以上两条语句的执行,由于语句2需要使用语句1计算的结果f11作为输入。在没有forwarding时语句2的IF阶段需要阻塞8个周期,即等待语句1完成后,才可继续执行。当开启forwarding后语句2的IF与语句1的ID并行执行,从整体上看,开启forwarding后使阻塞周期减少了8个,提高了性能。4.考察改变部件数量和延迟数对性能的影响通过configurationfloatingpointstages可施加各种改变。该实验由你自己设计实验计划,得出结果和结论。使用默认设置:增加加法单元数量增加加法单元的延时:通过测试可以发现,增加加法单元并没有明显改变性能情况,但是增加延时使得总周期数和阻塞周期发生明显变换。四、实验总结通过此次实验,我学习了计算机体系结构的流水线操作。winDLX有了进一步了解。熟悉了DLX流水线以及结构相关、数据相关、控制相关、前送(forwarding)等概念和技术。

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

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

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

×
保存成功