MIPS中lw指令运行时间最长

我们都知道,在MIPS指令级架构中,采用的都是定长指令,即就是每一个指令都是32位,分为R型(6, 5, 5, 5, 5, 6),I型(6, 5, 5,16),J型(6, 26), 在这所有指令中,是lw(存指令)运行时间最长,对于这个原因,从宏观上来理解,就是我们在内存中采用32个32位的通用寄存器来存和指令有关的东西,比如说是一个数组的话,我们只会在这个通用寄存器中将此数组的首地址存下来,要访问这个数组的其他部分的时候,利用sw指令,将首地址加上一个偏移量(offset)的方法得到一个地址(应该在外存储器),然后将此地址中的值暂时拿回到内存中的某个寄存器中,(这就是sw指令所完成的功能),也正是因为这样,造成sw指令是所有指令中运行时间最长的,因为从外存储器向内存储器读入数据到寄存器中相对于从寄存器读入是很慢的。下面贴一张时间做个参考

这里多说一下sw指令是不需要在指令运行期间访问外存的,我个人的理解就是sw指令是需要访问外存的,因为他要把数组中的数据存到外存中,但这对于我们指令的运行来说是不耽误整个指令的运行时间的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值