《计算机系统结构实验四指令调度》由会员分享,可在线阅读,更多相关《计算机系统结构实验四指令调度(6页珍藏版)》请在金锄头文库上搜索。
1、深 圳 大 学 实 验 报 告课程名称: 计算机系统结构 实验项目名称: 实验四 指令调度 学院: 信息工程 指导教师: 报告人: 学号: 班级: 实验时间: 实验报告提交时间: 一实验目的通过本实验,加深对指令调度的理解,了解指令调度技术对 CPU 性能改进的好处。二实验内容1. 通过 Configuration 菜单中的“Floating point stages”选项,把除法单元数设置为 3,把加法乘法除法的延迟设置为 3 个时钟周期。2. 用 WinDLX 模拟器运行调度前的程序 sch-before.s 。记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。3. 用 Wi
2、nDLX 模拟器运行调度后的程序 sch-after.s ,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。4. 根据记录结果,比较调度前和调度后的性能。5. 论述指令调度对于提高 CPU 性能的意义。三实验要求:实验前要做好充分准备,包括 WinDLX 安装与调试步骤、程序运行方法,以及对模拟结果的分析等。四实验原理:在非线形流水线中,由于存在有反馈回路,当一个任务在流水线中流过时,在同一个功能段中可能要经过多次。因此不能每一个时钟周期向流水线输入一个新任务,否则会发生在同一个时刻有几个任务争用同一个功能段的情况。这种情况称为功能部件冲突,或流水线冲突。为了避免冲突,一般采用
3、延迟输入新任务的方法。应该间隔多少时钟周期向流水线输入一个新任务就是非线性流水线的调度问题。非线性流水线调度的就是找出一个最小的循环周期,按照这周期向流水线输入新任务,流水线的各个功能段都不会发生冲突,而且流水线的吞吐率和效率最高。五WinDLX 的窗口配置:点击 Configuration / Floating Point Stages(点击 Configuration 打开菜单,然后点击 Floating Point Stages 菜单项) ,选择如下标准配置:Count DelayAddition Units: 1 2Multiplication Units: 1 5Division U
4、nits: 1 19在本实验中,将标准配置更改为以下配置:Count DelayAddition Units: 1 3Multiplication Units: 1 3Division Units: 3 3六实验报告:1将程序 sch-before.s 装入主存后运行后,记录程序运行过程中各种相关发生的次数以及程序执行的总时钟周期数。数据相关 42 资源相关 54控制相关 0Trap 25总共相关 121总执行周期 1302将程序 sch-after.s 装入主存后运行后,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。数据相关 21 资源相关 69控制相关 0Trap 39总共相关 129总执行周期 1243根据记录结果,比较调度前和调度后的性能。指导教师批阅意见:成绩评定:指导教师签字:年 月 日备注:注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。2、教师批改学生实验报告时间应在学生提交实验报告时间后 10 日内。