200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【计算机体系结构实验】MIPS指令系统和MIPS体系结构

【计算机体系结构实验】MIPS指令系统和MIPS体系结构

时间:2021-08-08 02:01:48

相关推荐

【计算机体系结构实验】MIPS指令系统和MIPS体系结构

文章目录

实验:MIPS指令系统和MIPS体系结构实验目的要求实验目的实验要求实验材料和仪器设备实验内容实验要求实验步骤:(含基本步骤及异常情况记录等:问题你是怎么解决的,在实验过程中碰到的哪些问题)1.启动MIPSsim。2.选择“配置”->“流水方式”选项,使模拟器工作在非流水方式。3.参照使用说明,熟悉MIPSsim模拟器的操作和使用方法。4.选择“文件”->“载入程序”选项,加载样例程序 alltest.asm,然后查看“代码”窗口,查看程序所在的位置。5.查看“寄存器”窗口PC寄存器的值:[PC]= 0X00000000 。6.执行load和store指令,步骤如下:7.执行算术运算类指令。步骤如下:8.执行逻辑运算类指令。步骤如下:9.执行控制转移类指令。步骤如下:实验结果分析:实验体会:简单描述你在实验过程中的问题和收获。

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

实验目的要求

实验目的

熟悉实验环境、掌握初步汇编语言结构及编程

实验要求

了解实验环境,利用实验机观察的方法,掌握实验环境虚拟机的基本情况。掌握常用汇编语言指令,能够看懂汇编语言程序,并进行简单汇编语言编程。

实验材料和仪器设备

硬件:计算机

软件:虚拟仿真环境

实验内容

1.启动MIPSsim。

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

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

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

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

6.执行load和store指令

7.执行算术运算类指令

8.执行逻辑运算类指令

9.执行控制转移类指令

实验要求

1.在使用该模拟软件之前,应先熟悉软件的各个组成部分及其使用方法。

2.掌握模拟软件的指令系统,并且能够编写简单的汇编程序并调试成功。

实验步骤:(含基本步骤及异常情况记录等:问题你是怎么解决的,在实验过程中碰到的哪些问题)

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

1.启动MIPSsim。

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

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

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

C:\users\Administrator\Desktop\计算机组成原理实验\MIPSsim\miosSIM模拟器\样例程序\alltest.s

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

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

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

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

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

4)查看R1的值,[R1]= -128 十六进制-> 0XFFFFFFFFFFFFFF80 。

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

6)单步执行1条指令。

7)查看R1的值,[R1]= 128 十六进制-> 0X0000000000000080 。

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

9)单步执行1条指令。

10)查看R1的值,[R1]= 128 十六进制-> 0X0000000000000080 。

11)单步执行1条指令。

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

13)单步执行一条指令。

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

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指令,其测试条件是 两操作数相等 。

5) 单步执行1条指令。

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

7) 一条指令是一条BGEZ指令,其测试条件是 >=0 ,目标地址为 0X00000058 。

8) 单步执行1条指令。

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

10) 下一条指令是一条BGEZAL指令,其测试条件是 >=0 ,目标地址为 0X00000064 。

11) 单步执行1条指令。

12) 查看PC的值,[PC]= 0X00000064 ,表明分支 成功 (成功,失败);查看R31的值,[R31]= 92 16进制-> 0X000000000000005c

13) 单步执行1条指令。

14)查看R1的值,[R1]= 1160X0000000000000074 。

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

16)单步执行1条指令。

17)查看PC和R3的值,[PC]= 0X00000074 ,[R3]=1080X000000000000006c 。

实验结果分析:

实验体会:简单描述你在实验过程中的问题和收获。

问题:

(1)仍然有部分的寄存器值的变化不很清楚,希望可以在接下来的实验环节中弄懂;

(2)对时钟周期内存这部分理解的还不是很清晰,在以后的实验中解决。

收获:

(1)MIPSsim模拟器的基础操作以及使用方法;

(2)单步执行(F7、F8的使用),程序的载入,以及配置方式中的流水;

(3)熟悉MIPS指令系统;加深对MIPS指令操作语义的理解;

(4)对load和store指令、算术指令、逻辑指令、控制转移指令有了初步的认识

(5)对代码区,寄存器进行了剖析;

(6)思考了LB,字节,字,双字,以及无符号如何查看,以及buffer如何查看内容;

(7)然后通过对对代码区中的符号指令进行了自我学习;

(8)认识LW,LB,LU,ADDU,ADDIU,SLL,MUL,BEQ等简单指令的含义进行了分析。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。