我正在尝试研究一个我必须了解 MIPS 和汇编代码的测试。对于给定的问题,我会尝试写出我认为正确的答案,但我不确定我是否正确
MIPS中的直接操作数32位操作数可以包含任何32位值吗?
我认为“不 - 从不”,因为前 16 位是为操作码和源 + 最终寄存器保留的。是正确的还是有一些指令可以包含任何 32 位值?
我们有时间指导(IF = 400ps,ID = 500ps,EX = 450ps,MEM = 500ps,WB = 150ps)
什么是时钟机智
a) 没有管道的处理器?
b) 带有管道的处理器?我认为a)是2000ps(所有时间的总和)和b)500ps(表中最大的时间)但同样,我不确定。
我有以下汇编代码:
0x0000 addi t0, $0, 5 0x0004 loop: beq t0, $0, done 0x0008 nop 0x000C lw t1, 0x4($0) 0x0010 lw t2, 0x24($0) 0x0014 addi t0, t0, -1 0x0018 j loop 0x001C nop 0x0020 done
我不是 100% 确定它做了什么(因为我不完全理解
0x4($0)
负载操作的结果是什么)。我知道有一个 for 循环(for t=5, ,t >0 t--
)。问题是 -这个缓存的命中率和未命中率是多少,你如何计算它?
如果你至少能回答前两个问题,那就太好了。