表3.11 指令分组表


  A组包括26条指令,均完成CPU内部的寄存器之间的数据运算和传送功能,不计算取指和指令完成后的判中断(下同),则每条指令都用一个CPU周期(一条微指令)完成。其中3条转移指令,实际上执行的也是寄存器之间的信息传送。

  B组包括14条指令,每条指令均完成一次内存或I/O读写操作功能,要用一个总线周期完成,即用两条微指令解释执行。其中3条转移指令需要读一次内存以取来转移地址,只有JP CND,SR指令不读内存,但也得经过判条件CND和传送转移地址分两步完成。

  C组和D组分别包括5条和2条指令,每条指令均执行两次读/写内存操作,正常应使用2个总线周期完成,即4个时钟时间(对应4条微指令)。但C组指令的第一个总线周期的第二个时钟时间的读数据操作,与第二个总线周期的第一个时钟时间的送地址操作合成一步完成,故总的只使用了3个时钟时间。

  我们可以把教学计算机的解释执行主要机器指令的微程序的逻辑结构表示成图3.21的形式。其中每个方框代表一到多条微指令,方框之间的带箭头的连线指明微指令的连接次序,箭头旁边的16进制的数字,是该方框所代表的一条微指令的地址,或一段微程序的首地址,或多条微指令的多个地址。例如,D组指令只有2条,最容易看清楚,IRET指令按86h,87h,84h,85h的次序用4条微指令解释执行,CALL指令则由94h,95h,96h,97h共4条微指令顺序地解释执行。而A组指令则各用一条微指令控制完成,其每条为指令的地址分别为1Ch,1Eh,…,52h,…,88h,…72h,…。B组和C组指令的也示意表示清楚。


图3.21 微程序总体逻辑结构