控制单元的功能
大家好呀!我是小笙,本章我主要分享计算机组成原理的控制单元的功能知识,这也是计算机组成原理的最后一章节了,希望内容对你有所帮助!下一阶段我主要以分享软考相关的知识点!
控制单元的功能
微操作命令分析
完成一条指令分四个周期:取指周期、间址周期、执行周期、中端周期
取指周期
- 指令地址计算:CPU 根据程序计数器 PC 中的值计算下一条指令的地址。程序计数器存储着当前正在执行的指令的地址或者下一条要执行的指令的地址
- 访问内存:CPU根据计算得到的指令地址,向主存发送请求,读取下一条指令所在的内存单元
- 指令译码:CPU对从内存中读取的指令进行译码,确定指令的操作类型、操作数等信息
- 指令存储:将从内存中读取的指令存储到指令寄存器 IR 中,供接下来的执行阶段使用

间址周期
在间接寻址中,指令不直接提供操作数的地址,而是提供一个指向操作数地址的指针(IR 分析出的是操作数的地址)
执行周期
非访存指令
- 清除累加器指令 CLA (0 => A)
- 累加器取反指令 COM
- 算术右移一位指令 SHR(L(ACC) => R(ACC))
- 循环左移一位指令 CSL(R(ACC) => L(ACC))
- 停机指令STP(0 => G)
访存指令
- 加法指令 ADD X
- 将指令的地址码部分送至存储器地址寄存器(Ad(IR)→MAR)
- 向主存发读命令,启动主存作读操作(1→R)
- 将MAR(通过地址总线)所指的主存单元中的内容(操作数)经数据总线读至MDR内(M(MAR)→MDR)
- 给ALU发送加命令,将ACC的内容和MDR的内容相加,结果存于ACC((ACC)+(MDR)+ACC))
- 存数指令 STA X
- 将指令的地址码部分送至存储器地址寄存器(Ad(IR)→MAR)
- 向主存发写命令,启动主存作写操作(1→W)
- 将累加器内容送至MDR(ACC-→MDR)
- 将MDR的内容(通过数据总线)写入到MAR(通过地址总线)所指的主存单元中(MDR+M(MAR))
- 取数指令 LDA X
- 将指令的地址码部分送至存储器地址寄存器(Ad(IR)→MAR)
- 向主存发读命令,启动主存作读操作(1