寄存器的“银行”是什么意思?

时间:2012-11-17 16:10:54

标签: arm cpu

在维基百科上阅读“ARM架构”并发现以下声明:

  

寄存器R0-R7在所有CPU模式下都是相同的;他们永远不会   入库。

     

R13和R14在除系统之外的所有特权CPU模式下进行存储   模式。

寄存器的含义是什么意思?

3 个答案:

答案 0 :(得分:23)

  

注册银行业务是指在同一地址提供多个注册副本。

取自手臂docs

的第1.4.6节

该术语指的是一个问题的解决方案,即不能同时看到所有寄存器。

  

每种处理器模式都有不同的寄存器库。分组寄存器提供快速上下文切换,用于处理处理器异常和特权操作。

如果您正在寻找更理论的推理,我建议使用this论文 编辑:给出了比我更深刻的答案here

答案 1 :(得分:12)

当处理器输入异常时,分组寄存器会自动切换到另一组寄存器。

实际上,异常处理程序例程不必将这些寄存器保存在堆栈上,以防止它们在以后被异常处理(通过异常处理函数)。处理器只保留该组的安全副本;并将在异常返回时恢复原始设置。

答案 2 :(得分:0)

此剪辑很好地说明了这一点 https://youtu.be/7LqPJGnBPMM?t=1419

存储区寄存器是当前执行模式不需要且不可访问的寄存器。当执行模式更改时,新模式所需的寄存器将可用。

相关问题