- 55
- 0
- 约3.18千字
- 约 5页
- 2017-08-19 发布于河南
- 举报
MIPS指令系统与MIPS体系结构入门
计算机系统结构实验报告
班级
*****
实验日期
*****
实验成绩
姓名
*****
学号
*******
实验名称
MIPS指令系统和MIPS体系结构
实
验
目
的
、
要
求
及
器
材
试验目的:
1、了解和熟悉指令级模拟器;
2、熟练掌握MIPSsim模拟器的操作和使用方法;
3、熟悉MIPS指令系统及其特点,加深对MIPS指令操作语义的理解;
4、熟悉MIPS体系结构;
实验要求:
1、对指令级模拟器有一定了解;
2、能够熟练使用MIPSsim模拟器;
3、理解MIPS指令系统及其特点,加深对MIPS指令操作语义的理解;
实验器材:
1、实验平台采用指令级和流水线操作级模拟器MIPSsim;
2、计算机一台;
实
验
内
容
、
步
骤
及
结
果
【求阶乘】
理清实验思路,使用算数指令即可完成。
结果:
【求(X-Y)*2-(X+Y)/8】
使用简单的运算指令即可。
结果:
【求补码】
求补码基本思路利用异或运算,将原数与-1进行疑惑,等到其相应的反码,之后对其进行加1运算得到相应的补码,但是MIPS指令系统大部分运算支持的是32位,因此要将其进行补码运算还需要处理些问题,我们可以利用2个32位的运算来模拟64位的求补运算。
具体如下,分别取2次值到2个寄存器中,分别存放高位和低位,之后对高位和低位分别进行求反运算,之后对低位的数进行加1,判断是否有进位。有进位则最高位加1,之后在分别存储到相应的内存单元中。
从内存的O元开始存放64位整数
总
结
本次试验让我们熟悉了基本指令的使用,对机器指令有了更深入的了解。
通过MIPSsim软件的使用,让我们很好的模拟了指令执行的过程,相信我们在后续的实验中会学习到跟多的内容。
附
录
代码部分:
【求阶乘】
# 求阶乘
# 将寄存器R3中的值默认为1;将要求的数放在R1中;
.text
main:
ADDI $r2,$r1,0 #在R1中放置要求阶乘的数
PROG2:
SUB $r1,$r1,$r3 #R1中的数减一
MUL $r2,$r1,$r2 #R1与R2做乘法,将乘积放在R2中
BGTZ $r1,PROG2 #若R1仍大于零,则转移
NOP
【求(X-Y)*2-(X+Y)/8】
# 求(X-Y)*2-(X+Y)/8
#X放在R1中;Y放在R2中;最终结果放在R3中;
.text
main:
# 算术运算指令
SUB $r3,$r1,$r2
ADD $r4,$r1,$r2
DSLL $r3,$r3,1
DSRL $r4,$r4,3
SUB $r3,$r3,$r4
NOP
【求补码】
#求补码
.text
main:
ADDI $r3,$r3,-1
LW $r1,0($r4) #取字
ADDI $r4,$r4,4
LW $r2,0($r4) #取字
XORI $r1,$r1,-1
XORI $r2,$r2,-1
BNE $r1,$r3,NEXT
ADDI $r2,$r2,1
NEXT:
ADDI $r1,$r1,1
SW $r2,0($r4)
ADDI $r5,$r5,4
SUB $r4,$r4,$r5
SW $r1,0($r4)
原创力文档

文档评论(0)