实验3 MIPS指令系统和MIPS体系结构

一.实验目的

1)了解和熟悉指令级模拟器

2)熟悉掌握MIPSsim模拟器的操作和使用方法

3)熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解

4)熟悉MIPS体系结构


二. 实验内容和步骤

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

(1)、启动MIPSsim。

 实验3 MIPS指令系统和MIPS体系结构_第1张图片

2)、选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。

 实验3 MIPS指令系统和MIPS体系结构_第2张图片

 

3)、参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。

4)、选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置。

 实验3 MIPS指令系统和MIPS体系结构_第3张图片

实验3 MIPS指令系统和MIPS体系结构_第4张图片

实验3 MIPS指令系统和MIPS体系结构_第5张图片

 

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

 实验3 MIPS指令系统和MIPS体系结构_第6张图片

6)、执行load和store指令,步骤如下:

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

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

 实验3 MIPS指令系统和MIPS体系结构_第7张图片

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

4)查看R1的值,[R1]= -128(十进制)/0xFFFFFFFFFFFFFF80(十六进制)

 实验3 MIPS指令系统和MIPS体系结构_第8张图片实验3 MIPS指令系统和MIPS体系结构_第9张图片

 

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

 实验3 MIPS指令系统和MIPS体系结构_第10张图片

6)单步执行1条指令。

7)查看R1的值,[R1]= 128(十进制) /0x0000000000000080 (十六进制)  

 实验3 MIPS指令系统和MIPS体系结构_第11张图片

实验3 MIPS指令系统和MIPS体系结构_第12张图片

 

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

 实验3 MIPS指令系统和MIPS体系结构_第13张图片

    9)单步执行1条指令。

10)查看R1的值,[R1]= 128(十进制) /0x0000000000000080 (十六进制)  

 实验3 MIPS指令系统和MIPS体系结构_第14张图片

    11)单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第15张图片

    13)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第16张图片

   

(7)、执行算术运算类指令。步骤如下:

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

修改后:

 实验3 MIPS指令系统和MIPS体系结构_第17张图片

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

修改后:

 实验3 MIPS指令系统和MIPS体系结构_第18张图片实验3 MIPS指令系统和MIPS体系结构_第19张图片


    3)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第20张图片

    5)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第21张图片

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

 实验3 MIPS指令系统和MIPS体系结构_第22张图片

    8)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第23张图片

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

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

 实验3 MIPS指令系统和MIPS体系结构_第24张图片

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

 实验3 MIPS指令系统和MIPS体系结构_第25张图片

3)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第26张图片

5)单步执行一条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第27张图片

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

实验3 MIPS指令系统和MIPS体系结构_第28张图片                            

8)单步执行一条指令。

9)查看R3的值,[R3]=   0(十进制) /0x0000000000000000 (十六进制)         

 实验3 MIPS指令系统和MIPS体系结构_第29张图片

实验3 MIPS指令系统和MIPS体系结构_第30张图片

 

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

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

 实验3 MIPS指令系统和MIPS体系结构_第31张图片

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

 实验3 MIPS指令系统和MIPS体系结构_第32张图片

 3)单步执行一条指令。

4)下一条指令地址为 0x00000040        ,是一条BEQ指令,其测试条件是    两个操作数相等     

 实验3 MIPS指令系统和MIPS体系结构_第33张图片

    5) 单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第34张图片实验3 MIPS指令系统和MIPS体系结构_第35张图片

 

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

8) 单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第36张图片

 

10) 下一条指令是一条BGEZAL指令,其测试条件是 大于等于零转移并链接     ,目标地址为            

 实验3 MIPS指令系统和MIPS体系结构_第37张图片

 11) 单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第38张图片

 

 13) 单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第39张图片

 15)下一条指令地址为 0x00000068      ,是一条JALR(无条件跳转并链接寄存器)指令,保存目标地址的寄存器为R1 ,保存返回地址的目标寄存器为R3

 实验3 MIPS指令系统和MIPS体系结构_第40张图片

 16)单步执行1条指令。

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

 实验3 MIPS指令系统和MIPS体系结构_第41张图片

 

三、实验结果分析

根据自身的运用与操作,直接可以体现出适应32位操作系统,64位对文件的读取格式报错,提示 “试图加载格式不正确的程序”

 实验3 MIPS指令系统和MIPS体系结构_第42张图片



 

 

 

 

你可能感兴趣的:(计算机组成原理)