0

这四条指令需要多少个时钟周期?

#Macro Instructions
li  $t0, 32         #  1 or 2 cycles ?
                    #      
                    # Based on MIPS Assembly Language Programming by Robert Britton :
                    #
                    #                lui $at, Upper 16-bits of value 
                    #                ori Rd, $at, Lower 16-bits of value
                    #                ***OR***
                    #                ori Rt, $0, value
                    #
                    #
                    #  But when I run it on Mars4_3 it showed the assembler 
                    #  converted it to addiu, $8, $0, 0x00000020


div $t2, $t2, $t0   #  41 cycles?          
                    #                bne Rt, $0,
                    #                break $0
                    #                ok: div Rs, Rt
                    #                mflo Rd

#Integer Instruction

lw  $t2, 0($t1)     #  1  cycles?
sw  $t2, 0($t3)     #  1  cycles?

我使用了 QtSpimMars4_3,但没有看到测量时钟周期的选项。我想知道你是否知道,请帮帮我。

4

1 回答 1

1

好吧,我可以肯定地告诉你,lw而且sw肯定不会在 1 个周期内执行。事实上,没有办法说这些指令需要多长时间才能执行,因为这些指令将通过多个级别的缓存,每个缓存要么命中,要么丢失。对于访问内存的指令,您能做的最好的事情就是给出平均访问时间。

于 2013-07-03T21:25:24.503 回答