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稍差一些。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)