如何认识MIPSsim模拟器的模块

如何认识MIPSsim模拟器的模块,第1张

MIPSsim模槐渣拟器铅碧悄是学习计算机系统结构时为加强对理论的认识所需要的一款软件,作者朝夕相处58首先带你认识一下MIPSsim模拟器

7个模块

1

统计

显示一些基本信息,以及执行程序时的情况

2

代码

显示的就是执行代码,以及地址,断点标记和所对应得机器码

3

寄存器

又分为四个窗慧饥口:通用寄存器,浮点寄存器,特殊寄存器,以及流水寄存器

4

流水线

就是以流水线框图的显示形式来表现程序的执行情况,很直观,

5

内存

着重体现着在执行程序时内存的变化,也很直观

6

时钟周期图

显示程序的执行过程(按照时钟周期为轴)

7

断点

许多人都会忘了它,只不过它是最小化的,它的作用就如同它的名字一样

.global main

.data

str0:

.ascii "Input two integers: \000"

str1:

.ascii "%d%d\000"

str2:

.ascii "The sum of %d and %d is %d. \012\000"

add:

addiu $sp, $sp, -12

sw $ra, 8($sp)

sw $fp, 4($sp)

move $fp, $sp

add $v0, $a0, $a1

move $sp, $fp

lw $fp, 4($sp)

lw $ra, 8($sp)

addiu $sp, $sp, 12

j $ra

nop

main:

addiu $sp, $sp, -40

sw $ra, 36($sp)

sw $fp, 32($sp)

move $fp, $sp

la $a0, str0

jal printf

nop

la $a0, str1

addiu $a1, $fp, 28

addiu $a2, $fp, 24

jal __isoc99_scanf

nop

lw $a0, 28($fp)

lw $a1, 24($fp)

jal add

nop

la $a0, str2

lw $a1, 28($fp)

lw $a2, 24($fp)

move $a3, $v0

jal printf

nop

move $sp, $fp

lw $fp, 32($sp)

lw $ra, 36($sp)

addiu $sp, $sp, 40

j $ra

nop

准确测试cpu的mips或者mflops一般是设计体系结构时候樱森用cpu模拟器或者verilog前仿得到的。对于用C语言比脊芹亩较准确的测试mips或者mflops,你可以用一个程序读取系统时间,然后执行第二个程序,第二个程序执行完成后再记录执行的时间,首氏然后反汇编第二个程序,统计第二个程序中执行的指令条数,通常第二个程序中执行的指令数是确定的,(分支和循环的次数是可确定的)。mips和mflops在risc cpu的评价中比较有价值,感觉cisc稍差一些。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12528209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存