为了了解指令的大概流程,下面以加法指令作以说明(引用《计算机原理》)。spa
该指令一个隐含的操做数存在累加器(AC)中,EA为另外一个操做数在主存当中的有效地址。 该指令是把AC和EA的数据相加,最后把计算的和送回AC中,即AC+EA -> AC。
把PC的内容(指令地址)装入地址寄存器(AR),送上地址总线,由地址总线找到对应的主存,取出指令码,而后经过数据总线将指令码传给CPU的指令寄存器(IR)。code
把IR中的指令交给译码器译码,识别出这是一条AC与主存数据相加的指令,将指令中的EA输出到地址总线,地址总线在加法指令的控制下从主存读出数据,而后将读出的数据经过数据总线送到CPU的暂存寄存器(TR)中。原理
在指令译码的同时,PC的值会加1,指向下一个指令地址。引用
将AC中的数据和TR中的数据传入运算中心(ALU)进行加法运算,再将计算之和经过数据总线传给AC,结束指令。im
以上只列出最关键的3个步骤,其中一个指令的操做数是以直接寻址的方式给出的(EA),即译码后可当即进行访存操做。若是指令的操做数是由其余寻址方式给出,则还须要进一步取址得出EA,再由EA去存储器取值。数据