处理寄存器

时间:2012-08-04 06:44:22

标签: operating-system cpu-registers

这是一个非常普遍的查询,一直困扰着我。我刚刚读到了处理器寄存器并了解到它们基本上有两大类 - 用户可见寄存器:最小化存储器参考并加速功能和控制和状态寄存器 - 处理器用于处理器本身的操作。任何人都可以解释,或者可能会向我推荐一些可以增强我对这个概念的理解的链接。用户可见寄存器究竟是什么意思?我还读到PC有时是用户可见的。现在,这是什么意思?

提前致谢。

2 个答案:

答案 0 :(得分:1)

处理器通常具有少量用户可见寄存器,正如您所说,寄存器用于最小化内存使用。例如,编译器可能会将for循环中的控制变量分配给寄存器。寄存器读取时间通常比RAM的读取时间快几个数量级。实际上,寄存器甚至比缓存更快。因此,当您的代码经常读取和/或修改变量时,用户可见寄存器可以帮助加速这些计算。通常,编译器会非常有效地使用可用的用户寄存器。

另一方面,控制和状态寄存器通常具有很高的特权,对于普通用户来说可能无法访问。例如,处理器上通常有数百甚至数千个寄存器,用于保存核心温度或处理器型号等信息。在调试期间,处理器制造商经常使用它们。

当人们说PC可能对用户可见时,他们指的是程序计数器,它是一个寄存器,用于保存下一个要执行的指令的指针(地址)。 PC中的地址用于加载指令寄存器(IR)和来自存储器的指令,然后解码并执行。

答案 1 :(得分:0)

嗯,从我的OS类和微处理器类开始已经有一段时间了,但是术语“用户可见寄存器”从未在课程中使用过。我快速谷歌你可以找到这张教授幻灯片的PDF:http://umcs.maine.edu/~cmeadow/courses/cos335/COA12.pdf。因此,“用户可见寄存器”只是不是控制寄存器和状态寄存器的寄存器,但通常不会对该子组“用户可见寄存器”进行区分。以下列出了常见的寄存器类型及其作用:http://en.wikipedia.org/wiki/Processor_register

从您提出的问题和扣除中,您可能希望从头开始,从图书馆获取图书可能会更有帮助。