什么是影子寄存器文件,什么是窄寄存器文件?

What is a shadowed register file and what is a narrow register file?

我正在阅读 an architecture specification for an OpenRISC。第 2.1 节对功能进行了描述。其中之一如下:

Shadowed or single 32-entry or narrow 16-entry general purpose register file.


什么是镜像寄存器文件?什么是窄寄存器文件?

感谢任何帮助。

影子寄存器文件是一组与 'normal' 寄存器同名的寄存器,但仅在某些模式下使用。例如,在处理中断时,可能会使用一组影子寄存器,这样中断处理程序就不需要执行大量工作来保存上下文。

例如,来自链接文档的 4.4:

An implementation may have several sets of GPRs and use them as shadow registers, switching between them whenever a new exception occurs

ARM 在他们的一些架构中为此使用影子寄存器。

我相信(但我不确定)"single 32-entry or narrow 16-entry general purpose register file":

  • "single" 表示 OpenRISC 的实现不需要影子寄存器文件
  • "narrow" 表示允许 OpenRISC 实现仅支持 16 个 GPR,而不是通常的 32 个