计算机组成原理(三)
控制器的功能
- 解释指令
- 保证指令的按序执行
控制器的基本组成
完成一条指令:
- 取指令 PC (Program Counter,程序计数器)
- 分析指令 IR (Instruction Register, 指令寄存器)
- 执行指令 CU (Control Unit,控制单元)
PC 存放当前欲执行指令的地址,具有计数功能(PC)+1 -> PC
IR 存放当前欲执行的指令
主机完成一条指令的过程以取数指令为例
取数指令是将某个地址下的数据读取到ACC中
初始状态下 PC 中已经保存了取数指令的地址
读取指令&解析:
- PC 将地址传入 MAR 中
- MAR 在 CU 的控制下,将传入地址传递给储存体,找到指令代码对应的储存单元
- 存储体在 CU 的控制下,将对应存储单元中的指令代码拷贝到 MDR 中
- MDR 在 CU 的控制下,将指令代码传入到 IR 中
- IR 将指令的操作码(OP)传入到 CU 中
执行指令:
- CU 解析指令操作码后,将 IR 中的地址码(AD),传入 MAR 中
- MAR 在 CU 的控制下,将传入地址传递给储存体,找到需要读取的数据对应的储存单元
- 存储体在 CU 的控制下,将对应存储单元中的数据拷贝到 MDR 中
- MDR 在 CU 的控制下将数据传入到 ACC 中
主机完成一条指令的过程以存数指令为例
数指令是将 ACC 中的某个数据保存到存储体中的某个地址下
初始状态下 PC 中已经保存了存数指令的地址
- PC 将地址传入 MAR 中
- MAR 在 CU 的控制下,将传入地址传递给储存体,找到指令代码对应的储存单元
- 存储体在 CU 的控制下,将对应存储单元中的指令代码拷贝到 MDR 中
- MDR 在 CU 的控制下,将指令代码传入到 IR 中
- IR 将指令的操作码(OP)传入到 CU 中
执行指令:
- CU 解析操作码后,将 IR 中的地址码传入 MAR 中
- MAR 将存数地址传入到存储体,存储体找到对应的存储单元,准备向这个单元写入数据
- ACC 在 CU 的控制下,将数据传入到 MDR 中
- MDR 在 CU 的控制下,将数据传给存储体,存储体将数据写入到之前准备好的存储单元中