我在armv7中处理异常返回和模式切换。我看到了RFE和SRS指令。我阅读了它们并偶然发现了这一行“在任何情况下,基本寄存器都是一个早期寄存器,并且需要额外的结果延迟周期来提供它的值。”我觉得这很奇怪,因为我认为任何登记册都是如此。
这是我第一次遇到这样的情况,我查阅了架构参考手册,找不到任何关于“早期注册”的描述。我想知道它们是什么以及它们是如何分类的?
发布于 2016-10-19 12:00:59
考虑下面的示例代码:
LDR R3, [R0,#0x04]
CMP R3, R2现在,在本例中,由于加载指令,需要一些时钟周期来处理,并且该值不能立即用于比较指令。在这种情况下,核心将停止运行,直到+k周期过去,因为我们在前面使用R3 ,然后才实际将结果写入它。
https://stackoverflow.com/questions/40128578
复制相似问题