电 电 子 科 技 大 学 实 实 验 报 告 学生姓名:
廖 雪平 学 学 号:2011060120003 一、实验室名称:
计算机学院计算中心 二、实验项目名称:
模拟流水线 指令调度 三、实验原理:
流水线能够提高指令执行的并行度,但是流水线要受到相关的影响,因此在对任务的指令序列进行调度时,要根据相关对指令的顺序进行调整。
对指令顺序进行调整的目的是为了尽可能的减少相关,但是,相关是不可避免的,随着流水线分段数的增加,并行度提高,但是相关所造成的影响也在增加,总在某个临界点,增加流水线的段数所提高的性能,会被相关所增加的影响多抵消,此时再增加流水线的段数已经不可能继续缩短任务的执行时间了。
四、实验目的:
通过本实验,理解流水线指令调度的基本方法,掌握使用 VC 开发平台模拟处理机内部指令流调度的编程策略。
五、实验内容:
(一)给定要执行的任务和执行该任务的流水线结构,编写程序模拟在示例流水线执行,在屏幕上输出任务调度序列及运行所需时间。
(二)用时空图方式模拟该任务的运行. (三)对比二者的结果。
六、实验器材(设备、元器件):
PC 微机一台 七、实验步骤及操作:
1.给定任务:EX:81 i ai 2.对该任务进行分解,减少相关 a1+a2; a3+a4 a1+a2+a3+a4 3.给定流水线:
该流水线为加法流水线,共四段,各部件用时均为△t 4.使用 VC 开发模拟程序:创建工程,用队列模拟输入和输出,用加法类模拟加法流水线,用定时器模拟每个单位时间流水线的流动。
5.在屏幕上显示加法流水线流动的过程,并计算完成任务所需单位时间数。
6.更改任务中加法的次数,记录各次时间花费,并画出时空图,验证模拟程序中计算得到的时间和时空图模拟的时间是否一致,以验证模拟程序的正确性。
1 2 3 4 X Y
八、实验数据及结果分析:
存储队列:
加法器:
加法实现:
存储实现:
结果截图:
九、实验结论:
相关对于流水线的性能的影响是非常大的,在实际应用中,所有的任务的执行过程中总是存在着相关,相关不可避免,对指令执行顺序的调整可以减少相关,但不能完全避免相关。对于某个特定任务而言,无论怎样对指令顺序进行调整,其执行时间总是存在某个上限值,该值是有该任务内在的并行性所决定的。
对模拟程序的开发中,使用了队列、类等等基本的 VC 结构,通过对程序的开发,理解了流水线的调度策略,同时实际的程序开发提高了编程技巧和能力。
十一、对本实验过程及方法、手段的改进建议:
本实验通过队列存储数据创建加法类实现加法过程,模拟了流水线调度实现累加的计算,最终虽成功实现了过程,但在些细微的控制方面不足,还需要更微调实现方法达到效果。
报告评分:
指导教师签字: