《实验二 流水线及流水线中的冲突2》由会员分享,可在线阅读,更多相关《实验二 流水线及流水线中的冲突2(2页珍藏版)》请在金锄头文库上搜索。
1、实验二 流水线及流水线中的冲突实验目的:1、加深对计算机流水线基本概念的理解。2、理解 MIPS 结构如何用 5 段流水线来实现,理解各段的功能和基本操作。3、加深对数据冲突的理解,理解这两类冲突的 CPU 性能的影响。4、进一步理解解决数据冲突的方法,掌握如何运用定向技术来减少数据冲突引起的停顿。实验平台:实验平台采用指令级和流水线模拟器 MIPSSim;实验内容和步骤:1、启动 MIPSim。2、根据流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各段流水寄存器的含义。3、熟悉 MIPSim 模拟器的操作和使用方法。4、选择配置菜单中的“流水方式”选项,使模拟器工作在流水方式下
2、。(1)选择 MIPSim 的“文件”-“载入程序”选项来加载 pipeline.s。(2)关闭定向功能。(3)用单步执行一个周期的方式执行该程序,观察每一个周期中,各段流水寄存器内容的变化、指令的执行情况以及时钟周期。(4)当执行到第 13 个周期时,各段分别正在处理的指令是:IF: ID: EX: MEM: WB: 画出这时的时钟周期图。(5)这时各流水寄存器中的内容为:IF/ID.IR IF/ID.A ID/EX.B ID/EX.Imm: ID/EX.IR: EX/MEM.ALU: EX/MEM.LMD: MEM/WB.LMD: MEM/WB.ALU: MEM/WB.IR: 5、观察和分
3、析结构冲突对 CPU 性能影响,步骤如下:(1)加载 structure_hz.s。(2)执行该程序,找出存在结构冲突的指令以及导致结构冲突的部件。(3)记录由结由结构冲突引起的停顿时钟周期数,计算停顿时钟周期数占总执行周期数的百分比。(4)把浮点加法器改为 4 个。(5)再重复(1)-(3)的工作。(6)分析结构冲突对 CPU 性能的影响,讨论结构冲突的方法。6、观察数据冲突并用定向技术来减少停顿,步骤如下:(1)全部复位。(2)加载 data_hz.s。(3)关闭定向功能。(4)用单步执行一个周期的方式执行该程序,同时查看时钟周期图,列出在什么时刻发生了 RAW 冲突。(5)记录数据冲突引起的时钟周期数以及程序执行的总时钟周期数,计算停顿时钟周期数占总执行周期数的百分比。(6)牌位 CPU。(7)打开定向功能。(8)用单步执行一个周期的方式执行该程序,同时查看时钟周期图,列出在什么时刻发生了 RAW 冲突,并与步骤(3)的结果进行比较。(9)记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期数。计算采用定向技术后的性能是原来的几倍。