好吧,这是一个一直困扰着我的非常普遍的问题。我刚刚阅读了有关处理器寄存器的信息,并了解到它们基本上有 twp 大类 - 用户可见寄存器:以最小化内存引用并加快功能以及控制和状态寄存器 - 由处理器用于处理器本身的操作。任何人都可以解释,或者可能向我推荐一些可以增强我对这个概念的理解的链接。用户可见寄存器到底是什么意思?而且我还读到PC有时是用户可见的。这是什么意思?
提前致谢。
好吧,这是一个一直困扰着我的非常普遍的问题。我刚刚阅读了有关处理器寄存器的信息,并了解到它们基本上有 twp 大类 - 用户可见寄存器:以最小化内存引用并加快功能以及控制和状态寄存器 - 由处理器用于处理器本身的操作。任何人都可以解释,或者可能向我推荐一些可以增强我对这个概念的理解的链接。用户可见寄存器到底是什么意思?而且我还读到PC有时是用户可见的。这是什么意思?
提前致谢。
处理器通常具有少量用户可见寄存器,正如您所说,这些寄存器用于最大限度地减少内存使用。例如,编译器可能会将 for 循环中的控制变量分配给寄存器。寄存器读取时间通常比从 RAM 读取时间快几个数量级。事实上,寄存器甚至比缓存还要快。因此,当您的代码非常频繁地读取和/或修改变量时,用户可见寄存器可以帮助加快这些计算。通常,编译器非常有效地使用可用的用户寄存器。
另一方面,控制和状态寄存器通常具有很高的特权,普通用户可能无法访问。例如,处理器上通常有数百甚至数千个寄存器,这些寄存器保存核心温度或处理器型号等信息。处理器制造商在调试期间经常使用它们。
当人们说 PC 可能对用户可见时,他们指的是程序计数器,它是一个寄存器,用于保存指向接下来要执行的指令的指针(地址)。PC 中的地址用于从内存中加载指令寄存器 (IR),然后对其进行解码和执行。
好吧,自从我的操作系统课程和微处理器课程以来已经有一段时间了,但是课程中从未使用过“用户可见寄存器”这个术语。我快速谷歌你可以找到教授幻灯片的 PDF:http: //umcs.maine.edu/~cmeadow/courses/cos335/COA12.pdf。因此,“用户可见寄存器”只是既不是控制寄存器也不是状态寄存器的寄存器,但通常不区分“用户可见寄存器”这个子组。以下是常见寄存器类型及其作用的列表:http ://en.wikipedia.org/wiki/Processor_register
从你提出的问题和推论来看,你可能想从头开始,从图书馆借一本书可能会更有帮助。