MARS 指令计数器适用于静态指令还是动态指令?

问题描述

我找到了 this thread regarding the instruction counter,但想了解更多有关 MARS4 中计数器如何工作的信息。说明是静态显示还是动态显示?如果是这样,有没有办法找到另一个?谢谢!

解决方法

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

执行的指令数是一个动态指令数,您链接的问答说这就是 MARS 的计数器给您的。

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

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