合理地确定一台计算机的指令系统,无论对计算机厂家还是对最终用户来说都是十分重要的事情,它密切关系到计算机设计与实现的复杂程度和生产成本,计算机使用的难易程度和运行效率。对主要用于教学和教学实验目的的计算机,特别是对于一台8位字长的教学计算机来说,确定其指令系统,更多地应关注它在教学过程中的作用和使用方法。我们的主要想法是:
(1)尽可能小的指令集,指令数目要少,超短的指令格式,简化的寻址方式,单字节指令为主,每条指令的功能要尽可能地简单。给出的指令集合,只要能够写出教学计算机的监控程序,能够写出教学实验经常用到的小程序即可。这样做的好处是,教学计算机的结构可以简化,实现可以简单,有利于降低制造成本,更重要的考虑是,讲课时容易完整地讲解清楚这套指令系统本身和控制器设计,有利于教学内容的整体安排。
(2)指令系统要有一定的完备程度,有较好的典型性,给出的指令格式适当规范,指令分类合理,指令执行步骤容易理解,符合人们通常的编程使用习惯。总之,有较好的易学易用性,还要尽可能地满足对教学内容、教学课时安排的要求。
(3)适当的可扩充性,即为学生添加各种新的指令留下比较充足的余地,包括为每一类指令保留多条待实现的指令,为扩展的教学实验内容预留一些要学生亲自实现的指令;当扩展新的指令时,实现手段要适当简单,但要有比较多的设计内容和选择余地,以便更好地培养学生的创新意识和开创能力,有利于深化教学内容。
(4)对8位字长的计算机,指令的操作码部分,只能选用逐位扩展技术;再结合我们所选用的运算器器件Am2901芯片内含16个通用寄存器的特点,就可以在指令中使用多个专用的寄存器,以便最大程度地缩短指令字的长度,简化指令执行流程设计。
上述4项思路(或者说指导思想)比较充分地反映在教学计算机的设计与实现中。
|
|