细化的计算机组成框图
首先来看细化的计算机组成框架图
由图中可以看出,计算机由运算器、主存储器、控制器和I/O设备组成
那么计算机如何执行一条指令呢
计算机执行一条指令分为三步,取指令,分析指令和执行指令
控制器是计算机的神经中枢,由它指挥各部件自动、协调地工作、具体而言,它首先要命令存储器读出一条指令,称为取指阶段。接着,它要对这条指令进行分析,指出该指令要完成什么样的操作,并按寻址特征指明操作数的地址,称为分析过程。最后跟操作数所在的地址以及指令的操作码完成某种操作,称为执行过程
我们先以取数指令为例分析一下计算机执行一条指令的过程
取指阶段
首先控制器PC(程序计数器,Program Count,用来存放当前欲执行指令的地址),将指令的地址送给MAR(存储器地址寄存器)并命令存储器做操作记作PC→MAR,至于为什么能送到,是因为PC和MAR由一条直接的通路,且PC具有自动加1的功能,即可自动形成下一条指令的地址。
然后MAR根据得到的地址和存储体,将得到的指令送入MDR(存储器数据寄存器),然后由MDR送至控制器中的IR(指令寄存器,寻访当前执行的指令,它的内容来自主存器中的MDR)。
分析阶段
IR将得到的指令中操作码送至CU(控制单元),记作(OP(IR)→CU),CU得到指令操作码后经分析得知,这是一条取数指令。
执行阶段
于是CU又将IR中的地址码送入MAR中,记作(AD(IR)→MAR),并命令存储器做读操作,将该地址单元中的操作数X送至MDR,再有MDR将操作数送入运算器ACC中,至此,一条取数指令执行完毕。