实验 2 流水线及流水线中的冲突2
1 实验目的(1)加深对计算机流水线基本概念的理解
(2)理解 MIPS 结构如何用5 段流水线来实现,理解各段的功能和基本操作
(3)加深对数据冲突和资源冲突的理解,理解这两类冲突对CPU 性能的影响
(4)进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿
2 实验平台指令级和流水线操作级模拟器MIPSsim
3 实验内容和步骤(1)启动 MIPSsim
(2)根据教材中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义
(鼠标双击各段,即可看到各流水寄存器的内容)(3)载入一个样例程序(在本模拟器所在文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、 连续执行、设置断点等方式运行程序,观察程序的执行情况,观察CPU 中寄存器和存储器内容的变化,特别是流水寄存器内容的变化
(4)选择配置菜单中的“流水方式”选项,使模拟器工作于流水方式下
(5)观察程序在流水方式下的执行情况,步骤如下:1)选择“文件”→“载入程序”,加载 pipeline
s(在模拟器所在文件夹下的“样例程序”文件夹中)
2)选择“配置”→“定向” (使该项前没有“√” ),关闭“定向功能”
3)选择单步执行方式(在“执行”菜单中)或按F7 来执行该程序,观察每一个周期中,各段流水寄存器内容的变化、指令的执行情况(“代码”窗口)以及时钟周期图
4)当执行到第13 个周期是,各段分别正在处理的指令是:IF:LW &r4,60(&r6) ID: ADDI &r3,&r0,25 EX:ADDI &r1,&r1,-1 MEM : ADDI &r6,&r0,8 WB :ADD &r2,&r1,&r0 画出此时的时钟周期图
(6)此时各流水寄存器的内容为:IF/ID
IR :236