【发布时间】:2013-09-05 14:13:51
【问题描述】:
在 ARM 中,SPSR 是一个分组寄存器,即每次模式更改后,CPSR 都会复制到 SPSR,模式返回后,SPSR 会复制回 CPSR。为什么 CPSR 不直接存入银行?每次模式更改似乎都有两条额外的指令(复制到spsr,复制到cpsr)
【问题讨论】:
-
不是真正的指令,来回复制数据,架构如果你可以看看它可能根本没有任何成本,银行业务将是更多触发器的成本。臂不是微编码的,因此此副本不需要时间,处理中断/事件的时钟周期之一也可以并行保存 cpsr。返回时也是如此。基本上,银行切换和 cpsr 的副本需要相同的确切时间。一个带有一点设置时间的时钟边沿。