新旧指令可以用在同一程序中;
·新指令实现出来之后,相应微码就固化在控制存储器中,即已将新指令追加到教学的指令系统中,在每次教学机重新加电后,新指令将能正常执行。
·新指令无汇编码(因汇编程序实现在前,新指令实现在后),故在程序中,只能通过机器码使用新指令;否则必须去扩展有关的汇编程序,由于汇编程序是选用了高级语言中的PASCAL实现,并已经考虑了扩展需要,把新的指令添加进去变得很容易。
·装入新的微指令与使用新指令变得非常容易,同学的精力就可以全部集中到微程序设计方面来。但必须想到,新、旧指令的微程序之间存在着如下协调与配合关系:
在扩展新指令时,通常只设计与实现新指令的具体执行功能,执行前的取指过程和执行后的判中断、与下条指令的衔接等均使用了原微程序的有关内容。从同学学习微程序设计的角度看,取指过程与每条指令完成后的相应处理是公用于所有指令的,而且比较简单,看懂原来的实现方法与细节,以及与每条指令执行过程的衔接方式,也就达到了深入掌握的程度,故一般不必在自己设计的微程序中考虑这一部分内容。若有的学生想在自己的微程序中实现自己设计的取指等处理过程,必须保证在新旧指令衔接时不出现矛盾。最简单的方法,是在自己的多条新指令中,有几条指令有自己设计的取指与后续处理,它们不能与原有指令的微程序段正确衔接。但有一条新指令用原有指令的取指处理完成取指过程,有另一条新指令用原有指令的后续处理完成判中断,保证能正确与原有指令的取指过程衔接。当用这样的两条指令"夹"起的其它新指令序列出现在任何程序中时,每条指令均将能正确衔接执行。
设计不同格式与功能的新指令的执行步骤,以及每一步中的微指令字的各字段的编码,是学习计算机微程序设计的重点,也是学懂计算机指令执行过程的核心内容。
|
|