首页 > 解决方案 > MARS 指令计数器是否适用于静态或动态指令?

问题描述

我找到了这个关于指令计数器的线程,但想要更多关于计数器如何在 MARS4 中工作的信息。显示的说明是静态的还是动态的?如果是这样,有没有办法找到另一个?谢谢!

标签: assemblymipsinstruction-setmars-simulator

解决方案


动态或静态的不是指令,而是计数

执行的指令计数是动态指令计数,您链接的问答表明这就是 MARS 的计数器为您提供的。

静态指令计数只是代码大小:在组装后查看二进制窗口,然后减去最后 - 第一个地址。指令 = 字节/4。(如果您不想计算对齐,请减去任何填充,但通常您会这样做,因为真正重要的是 I-cache 中的代码占用空间,以及要从磁盘加载的大小。一条从不运行的指令基本上与对齐填充。)

(所以静态 I 计数非常微不足道,就像反汇编的行数一样。但动态计数取决于程序的运行方式;这就是为什么在模拟器中使用动态指令计数器很有用。)


推荐阅读