计算机指令在CPU中的执行过程(图文版)

为了了解指令的大概流程,下面以加法指令做以说明(引用《计算机原理》)。

指令形式: ADD EA

该指令一个隐含的操作数存在累加器(AC)中,EA为另一个操作数在主存当中的有效地址。
该指令是把AC和EA的数据相加,最后把计算的和送回AC中,即AC+EA -> AC。

1. 取指

把PC的内容(指令地址)装入地址寄存器(AR),送上地址总线,由地址总线找到对应的主存,取出指令码,然后通过数据总线将指令码传给CPU的指令寄存器(IR)。

2. 分析

把IR中的指令交给译码器译码,识别出这是一条AC与主存数据相加的指令,将指令中的EA输出到地址总线,地址总线在加法指令的控制下从主存读出数据,然后将读出的数据通过数据总线送到CPU的暂存寄存器(TR)中。

在指令译码的同时,PC的值会加1,指向下一个指令地址。

3. 执行

将AC中的数据和TR中的数据传入运算中心(ALU)进行加法运算,再将计算之和通过数据总线传给AC,结束指令。

以上只列出最关键的3个步骤,其中一个指令的操作数是以直接寻址的方式给出的(EA),即译码后可立即进行访存操作。如果指令的操作数是由其他寻址方式给出,则还需要进一步取址得出EA,再由EA去存储器取值。

猜你喜欢

转载自my.oschina.net/u/3536632/blog/2934131