【计算机组成原理】一条指令的一生

一条指令如何完成?

完成一条指令需要做的事情:
1、取指令 — PC(存放当前将要执行的指令的地址
2、分析指令 — IR(存放当前将要执行的指令)
3、执行指令 — CU(控制器单元)

以取数指令为例

【计算机组成原理】一条指令的一生

MAR:Memory Address Register 主存地址寄存器用来读取主存时缓存地址。
MDR:Memory Data Register 主存数据寄存器用来缓存从主存中读取的数据(包括指令)。

1.取指令
初始状态:PC中存放着将要执行的指令的地址(指令保存着存储器中)
过程1:PC把指令的地址送给MAR(然后可以PC+1→PC了)
过程2:MAR把指令的地址送给存储体
过程3:在CU的控制下,把将要执行的指令取出送入MDR
过程4:把取出的指令送入IR,取指完成

2.分析指令(细节未体现,日后完善)
过程5:IR分析操作码,把操作码部分送入CU。

3.执行指令
过程6:CU“知道”这是一个取数指令,于是让IR把地址码部分传送给MAR(将要取的数的地址)
过程7:MAR把将取的数的地址送给存储体
过程8:在CU的控制下,把取出的数送入MDR
过程9:取出的数由MDR送入ACC中。