(1)数据缓冲寄存器(DR) 数据缓冲寄存器用来暂时存放算术逻辑运算单元(ALU)运算结果,或由数据存绪器读出的一个数据字,或来自外部接口的一个数据字,缓冲寄存器的作用是:
① 作为ALU 运算结果和通用寄存器之间信息传送中时间上的缓冲;
② 补偿 CPU 和内存、外围设备之间在操作速度上的差别。
(2)指令寄存器(IR) 指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从指令存储器(简称指存)读出,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。一个叫做指令译码器的部件就是做这项工作的。指令寄存器中操作码字段OP 的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
(3) 程序计数器(PC) ①暂存当前地址②为了保证程序能够连续地执行下去,CPU 必须具有某些手段来确定下一条指令的地址。而程序计数器(PC)正是起到这种作用,所以它又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的指存单元地址送入 PC。因此 PC 的内容即是从指存提取的第一条指令的地址。当执行指令时,CPU 将自动修改PC 的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。
但是,当遇到转移指令如 JMP 指令时,那么后继指令的地址(即 PC 的内容)必须从指令寄存器中的地址字段取得。在这种情况下,下一条从指存取出的指令将由转移指令来规定,而不