cpu-architecture - 什么是影子寄存器文件以及什么是窄寄存器文件?

标签 cpu-architecture

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

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


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

感谢任何帮助。

最佳答案

影子寄存器文件是一组与“正常”寄存器组具有相同名称的寄存器,但仅在某些模式下使用。例如,在处理中断时,可能会使用一组影子寄存器,以便中断处理程序不需要执行大量工作来保存上下文。

例如,来自链接文档的 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 在其某些架构中为此使用影子寄存器。

我相信(但我不确定)“单个 32 项或窄 16 项通用寄存器文件”短语中:

  • “单一”意味着 OpenRISC 的实现不需要有影子寄存器文件
  • “窄”意味着 OpenRISC 实现仅允许支持 16 个 GPR,而不是通常的 32 个

关于cpu-architecture - 什么是影子寄存器文件以及什么是窄寄存器文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31843244/

相关文章:

assembly - 关于x86 I/O口地址和IN/OUT指令的问题

macros - 检测预处理器中的 -xarch 选项?

computer-science - 为什么即使是大端计算机也从低位内存读取到高位内存?对于 big-endianness 相反可能更优化

linux - 为什么 Linux (x86) 的页面大小是 4 KB,这是如何计算的?

ios - 32 位架构与 64 位架构主要在应用程序速度和内存管理方面有何不同?

java - 在 CPU 指令管道模拟器中管理 Java 线程

performance - 32 位 SPARC V8 应用程序可以在 64 位 SPARC V9 上运行吗?

performance - AVX512中 "masked"存储的粒度是多少?

operating-system - "Protection rings"和 "CPU modes"是一回事吗?

c++ - 硬件是否将多个代码操作合并为一个物理 CPU 操作?