计算机体系结构实验一 MIPSsim模拟器的安装与配置

本文档详细介绍了使用MIPSsim模拟器进行MIPS指令级实验的过程,包括加载样例程序、执行load和store指令、算术运算、逻辑运算以及控制转移指令,通过单步执行和观察寄存器、存储器变化来深入理解MIPS指令系统和体系结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1   实验目的

  1. 了解和熟悉指令级模拟器。
  2. 熟练掌握MIPSsim模拟器的操作和使用方法。
  3. 熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解。
  4. 熟悉MIPS体系结构。

1.2   实验平台

实验平台采用指令级和流水线操作级模拟器MIPSsim。

环境的建立:见A.0。

1.3   实验内容和步骤

首先要阅读MIPSsim模拟器的使用方法,然后了解MIPSsim的指令系统

1.启动MIPSsim(用鼠标双击MIPSsim.exe)。

2.点击“配置”→“流水方式”,使模拟器工作在非流水方式下。

3.阅读附录,熟悉MIPSsim模拟器的操作和使用方法。

可以先载入一个样例程序(在本模拟器所在的文件夹下的样例程序文件夹中),然后分别以单步执行一条指令、执行多条指令、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化。

4.选择“文件”→“载入程序”选项,加载样例程序alltest.asm,然后查看“代码”窗口,查看程序所在的位置(起始地址为0x00000100)。

5.查看“寄存器”窗口PC寄存器的值:[PC]=0x00000000

6.执行load和store指令。步骤如下:

1)单步执行一条指令(F7)。

2)下一条指令地址为0x00000004,是一条(有,无)符号载入字节(字节,半字,字)指令。

3)单步执行一条指令(F7)。

4)查看R1的值,[R1]=-128

5)下一条指令地址为0x00000008,是一条(有,无)符号载入(字节,半字,字)指令。

6)单步执行1条指令。

7)查看R1的值,[R1]=128

8)下一条指令地址为0x0000000C,是一条(有,无)符号载入(字节,半字,字)指令。

9)单步执行1条指令。

10)查看R1的值,[R1]=128

11)单步执行1条指令。

12)下一条指令地址为0x00000014,是一条保存(字节,半字,字)指令。

13)单步执行一条指令。

14)查看内存BUFFER处字的值,值为0x00000018

7.执行算术运算类指令。步骤如下:

1)双击“寄存器”窗口中的R1,将其值修改为2。

2)双击“寄存器”窗口中的R2,将其值修改为3。

修改成功。

3)单步执行一条指令。

4)下一条指令地址为0x00000020,是一条加法指令。

5)单步执行一条指令。

6)查看R3的值,[R3]=5

7)下一条指令地址为0x00000024,是一条乘法指令。

8)单步执行一条指令。

9)查看LO、HI的值,[LO]=0x0000000000000006,[HI]=0x0000000000000000

8.执行逻辑运算类指令。步骤如下:

1)双击“寄存器”窗口中的R1,将其值修改为0XFFFF0000。

2)双击“寄存器”窗口中的R2,将其值修改为0XFF00FF00。

修改成功。

3)单步执行一条指令。

4)下一条指令地址为0x00000030,是一条逻辑与运算指令,第二个操作数寻址方式是立即数寻址(寄存器直接寻址,立即数寻址)。

5)单步执行一条指令。

6)查看R3的值,[R3]=0x00000000FF000000

7)下一条指令地址为0x00000034,是一条逻辑或指令,第二个操作数寻址方式是寄存器直接寻址(寄存器直接寻址,立即数寻址)。

8)单步执行一条指令。

9)查看R3的值,[R3]=0x0000000000000000

9.执行控制转移类指令。步骤如下:

1)双击“寄存器”窗口中R1,将其值修改为2。

2)双击“寄存器”窗口中R2,将其值修改为2。

3)单步执行一条指令。

4)下一条指令地址为0x00000040,是一条BEQ指令,其测试条件是R0值为空

5)单步执行1条指令。

6)查看PC的值,[PC]=0x0000004C,表明分支成功(成功,失败)。

7)一条指令是一条BGEZ指令,其测试条件是大于或等于零,目标地址为0x00000058

8)单步执行1条指令。

9)查看PC的值,[PC]=0x00000058,表明分支成功(成功,失败)。

10)下一条指令是一条BGEZAL指令,其测试条件是小于或等于零转移,目标地址为0x00000064

11)单步执行1条指令。

12)查看PC的值,[PC]=0x00000064,表明分支成功(成功,失败);查看R31的值,[R31]=92

13)单步执行1条指令。

14)查看R1的值,[R1]=116

15)下一条指令地址为0x00000068,是一条JALR指令,保存目标地址的寄存器为R1,保存返回地址的目标寄存器为R3

16)单步执行1条指令。

17)查看PC和R3的值,[PC]=0x00000074,[R3]=108

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钻仰弥坚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值