常见寄存器及其可见性
-
数据寄存器(Data Register,DR)
- 可见性:对系统程序员可见,对应用程序员透明。
- 功能:用于保存从存储器中读取的数据,以及运算器生成的结果。
- 作用:作为CPU和主存、外围设备之间信息传送的中转站,弥补操作速度上的差异。
-
指令寄存器(Instruction Register,IR)
- 可见性:对程序员不可见(透明)。
- 功能:用于保存当前正在执行的一条指令。
- 作用:保存从主存读取的指令,并进行指令译码,以便指令译码器对操作码部分进行译码,产生指令所要求操作的控制信号。
-
程序计数器(Program Counter,PC)
- 可见性:对程序员可见(汇编程序员可通过指定待执行指令的地址来设置PC的值)。
- 功能:用于指出下一条指令在主存储器中的地址。
- 作用:保存程序的首地址和下一条指令的地址,自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址。
-
地址寄存器(Address Register,AR)
- 可见性:对程序员不可见(透明)。
- 功能:用于保存CPU当前所访问的主存单元的地址。
- 作用:暂时保存主存的地址信息,直到主存的存取操作为止,确保地址信息的正确传输。
-
累加寄存器(Accumulator,ACC)
- 可见性:对系统程序员可见,对应用程序员透明。
- 功能:在运算器的算术逻辑单元(ALU)执行运算时提供工作区。
- 作用:暂时保存操作数或运算结果,为ALU提供支持。
-
程序状态字寄存器(Program Status Word,PSW)
- 可见性:对系统程序员可见,对应用程序员透明。
- 功能:用于保存运算结果的状态和控制信息。
- 作用:帮助系统了解当前状态。
-
主存地址寄存器(Memory Address Register,MAR)
- 可见性:对程序员不可见(透明)。
- 功能:用于保存CPU访问主存时需要使用的地址信息。
-
存储器数据寄存器(Memory Data Register,MDR)
- 可见性:对程序员不可见(透明)。
- 功能:用于暂存CPU从主存中读取的数据或准备写入主存的数据。
工作原理
寄存器的工作原理涉及数据的存储、读取和传输。以下是主要寄存器的工作原理概述:
- 数据寄存器:暂时存放由主存读取的数据或将要写入主存的数据。
- 指令寄存器:保存当前指令,并对其进行译码,以便执行相应的操作。
- 程序计数器:指向下一条指令的地址,确保程序按顺序执行。在每条指令执行完毕后,PC会自动递增,指向下一条指令的地址。
- 地址寄存器:保存当前访问的主存单元地址,确保数据正确传输。在CPU和主存进行信息交换时,地址寄存器会提供正确的地址信息。
- 累加寄存器:在执行算术或逻辑运算时提供工作区,暂时保存操作数或运算结果。
- 程序状态字寄存器:保存运算结果的状态和控制信息,如进位标志、溢出标志等,以便系统了解当前状态并做出相应的处理。