上面,我们介绍了5条典型指令的指令周期,通过画示意图来解释每一条指令的取指令过程和执行指令过程。实际上我们可以用更简洁的语言,即用方框图法来表示一条指令的指令周期,如图5-14所示。
图中一个方框代表一个CPU周期,方框中的内容表示在这个CPU周期中的所有操作或操作的控制。除了方框以外,还需要一个菱形框,它用来表示某种判别或测试,不过时间上它依附于它前面一个方框的CPU周期,而不单独占用一个CPU周期。
其中(IR)→AR和(IR→)IP都是指IR中的地址码部分送AR和IP。我们看到,所有指令的取指令阶段是完全相同的,而且是一个CPU周期。但是指令的执行阶段,由于各条指令的功能不同,所用的CPU周期是各不相同的,其中INC、NOP、JMP指令是一个CPU周期,ADD和MOV指令是两个CPU周期。
图5-14中,还有一个“”符号,我们称它为公操作符号。这个符号表示一条指令已经执行完毕,转入公操作。所谓公操作,就是一条指令执行完毕后,CPU所开始进行的一些操作,这些操作主要是CPU响应外设的中断请求,与外设交换数据。如果没有外设要求交换数据,那么CPU又转向从内存中取下一条指令。由于所有指令的取指令阶段是完全一样的,因此,取指令也可以认为是公操作。一条指令执行结束后,如果没有外设请求,CPU一定转入“取指令”操作。指令周期的方框图表示法通常用在计算机设计中。
图5-14 指令周期示意图
例5-1:图5-15所示为双总线结构计算机的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),MO为主存(受信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路,其作用是允许或不允许两条总线上的信号传送。另外,线上标注有小圈的表示有控制信号,例如,R1i表示R1寄存器的输入控制信号,R10为寄存器R1的输出控制信号,线上未标注小圈的表示没有控制信号,是直通线。
图5-15 双总线结构计算机的数据通路(www.xing528.com)
①“ADD R2,R0”指令完成(R2)+(R0)→R2的操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。
②“SUB R1,R3”指令完成(R1)-(R3)→R1的操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。
解:两条指令的指令周期流程图及其相应的微操作如图5-16所示。其中的取指令阶段的部分是相同的,不同的是执行指令阶段。
①“ADD R2,R0”指令是一条加法指令,参与运算的两个操作数放在寄存器R2和R0中,先把R2和R0通过数据通路传送到X和Y寄存器,然后由ALU部件执行加操作,操作结果通过数据通路传到R2寄存器。指令周期流程图及其相应的微操作如图5-16(a)所示。
图5-16 加法和减法指令周期流程图
②“SUB R1,R3”指令是一条减法指令,参与运算的两个操作数放在寄存器R1和R3中,先把R1和R3通过数据通路传送到X和Y寄存器,然后由ALU部件执行减操作,操作结果通过数据通路传到R1寄存器。指令周期流程图及其相应的微操作如图5-16(b)所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。