实验二 流水线及流水线中的冲突

更新时间:2023-12-15 18:24:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

[实验名称]

流水线及流水线中的冲突 [实验时间和地点]

2012年10月1日 系统结构实验室 [姓名学号]

201012312 张蔷 [实验目的]

1.加深对计算机流水线基本概念的理解 2.理解MIPS结构的5段流水线实现 3.加深对数据冲突、结构冲突的理解 4.掌握定向技术处理数据冲突的方法 [实验环境]

计算机 MIPSsim模拟器 [实验内容]

预习MIPSsim模拟器的使用方法,了解MIPSsim的指令系统和汇编语言。 1、启动MIPSsim。

2、选择“配置” →“流水方式”选项,保留“流水方式”选项前的勾选,

使模拟器工作在流水方式下。 3、练习模拟器的使用:

(1)载入一样例程序:选择“文件”→“载入程序”

(2)以单步执行一个周期、执行多个周期、连续执行、设置断点等方式运行程序,观察程序的执行情况,观察时钟周期图,观察CPU中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 4、观察程序在流水线中执行情况

(1)执行样例程序:选择“文件”→“载入程序”,载入样例程序pipeline.s。 (2)关闭定向功能。通过取消“配置” →“定向”前的勾选实现。 (3)用单步执行一个周期的方式(在“执行”菜单中)或按F7键执行该程序,观察每一个周期,各段流水寄存器内容的变化、指令的执行情况(“代码”窗口)以及时钟周期图。

(4)当执行到第13个时钟周期时,各段分别正在处理的指令是: IF: ID: EX: MEM: WB: 画出这时的时钟周期图

5、这时各流水寄存器中的内容为: IF/ID.IR: IF/ID.NPC: ID/EX.A: ID/EX.B: ID/EX.Imm: ID/EX.IR: EX/MEM.ALUo: EX/MEM.IR: MEM/WB.LMD: MEM/WB.ALUo: MEM/WB.IR:

6、观察分析结构冲突对CPU性能的影响,步骤如下: (1) 加载structure_hz.s

(2) 执行该程序,找出存在结构冲突的指令对以及导致结构冲突的部件。 (3) 记录由结构冲突引起的停顿时钟周期数,计算停顿时钟周期数占总执行周期数的百分比。

(4) 把浮点加法器的个数改为4个,再次重复(1)至(3)的工作。

(5)分析结构冲突对CPU性能的影响,讨论解决结构冲突的方法。 7、观察数据冲突并用定向技术来减少停顿,步骤如下: (1)全部复位。 (2)加载data_hz.s (3)关闭定向功能。

(4)以单步执行一个周期的方式执行程序(F7),同时查看时钟周期图,列出在什么时候发生了RAW(先写后读)冲突。

(5)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期数,计算停顿时钟周期占总执行周期数的百分比。

(6)复位CPU (7)打开定向功能。

(8)以单步执行一个周期的方式执行程序(F7),同时查看时钟周期图,列出在什么时候发生了RAW(先写后读)冲突,并与未采用定向方式进行比较。

(9)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期数,计算停顿时钟周期占总执行周期数的百分比。

[实验结果]

[实验中出现的问题及解决办法]

[实验总结]

本文来源:https://www.bwwdw.com/article/msi5.html

Top