微程序设计技术及其在计算机组成原理教学中作用的探讨
来源:用户上传
作者:
摘 要:微程序设计技术是现代SISC指令系统设计的主要技术。介绍了计算机组成课程中微程序设计的关键环节,并讨论了微程序设计技术在计算机组成课程教学中的重要作用。
关键词:微程序设计;计算机组成;教学
《计算机组成原理》课程是计算机类本科专业的核心专业基础课程。它的先导课程有数字电子技术、汇编语言程序设计,后续课程有操作系统、微机原理与接口技术、计算机体系结构等课程。在一系列软硬件课程中起着承上启下的作用,是所有后续硬件专业课的基础和支撑。在各硬件及软件的课程中,该课程处于核心重点地位。本课程的教学目标是使学生掌握计算机五大功能部件的功能、基本组成、工作原理、设计方法及逻辑实现等有关的知识和技术,最终建立完整、清晰的计算机整机概念,并使学生具备对计算机系统整机和部件进行分析和设计的初步能力。
建立完整、清晰的计算机整机概念,是计算机组成原理学习的重要目标。整机目标的建立是让学生知道计算机各部件在计算机中扮演的角色、各部件是如何协调工作的,各部件协调工作的目标是在控制器的统一指挥下执行指令。这些目标的实现需要通过微程序设计的学习和实践。学生只有真正掌握微程序设计技术,并掌握指令设计和调试的全过程,才能建立计算机整机概念。因此在教学中,微程序设计是计算机组成原理教学的重点和难点,特别在实验教学中,更要加强微程序设计部分的实验。
1 微程序设计的关键步骤
微程序设计的目的是实现机器的指令系统,属于硬件设计范畴。具体分为设计指令、确定指令的微程序流程、确定各微指令的地址、微指令代码化、指令调试等五个主要步骤。
1.1设计指令
对于计算机组成教学来说,设计指令就是设计模型机的指令系统。对此需要首先让学生深入熟悉模型机的数据通路图以及模型机的部件结构,知道在此硬件平台下,能设计哪些指令。比如说,如果模型机的运算器不支持乘除运算,则就不能设计乘除指令。在这个环节上要强调指令的执行是由对应的硬件去完成的,一台计算机指令系统越复杂,硬件就越复杂。还有,要把指令系统设计章节的理论贯穿到这里,让学生知道指令系统设计这一章在计算机组成课程中的作用。有的学生不理解计算机组成为什么学习指令系统的设计,事实上,指令系统的设计是计算机硬件设计的依据。在这里还有一点需要注意的,模型机的指令设计要设计输入输出指令、运算类指令、传送类指令及程序控制类指令等,寻址方式要涉及基本的寻址方式,这样,学生对指令的理解将更加深刻。
1.2 确定指令的微程序流程图
程序设计需要给出程序流程图,程序流程图的确定是程序设计中关键步骤,同样,指令的设计也需要给出微程序流程图。微程序流程图用来说明为了完成指令定义的功能,计算机应该做哪些操作。这一步是微程序设计最基本也是最关键的环节。微程序流程图的确定需要知道指令执行的全过程,特别对于寻址方式的理解有很好的作用。在教学中,这一环节一定要讲清楚,作为重点来讲。以几个有代表性的指令详细分析,比如ADD [addr]指令,JMP addr指令等。
1.3 确定各微指令的地址
微程序流程的确定也就确定了为了实现这个指令功能,应该需要执行哪些微指令。下面应该确定各微指令在控制存储器的地址。在这里首先要把微指令地址确定的理论讲明白。包括起始微地址和后继微地址的确定方法。在此还需要结合模型机的控制存储器的空间使用情况来进行确定。这个环节中的讲解难点是采用一级功能转移确定起始微地址,可以用一个模型采用启发式方法让学生理解这个方法的要点,直接给出这个方法,学生很不容易理解为什么将指令编码作为起始微地址的一部分。
1.4 微指令代码化
微指令代码化就是将各微指令转化成二进制编码,涉及微指令的功能、微指令格式及模型机数据通路图,这是一个综合的过程,也微程序设计的一个重难点。首先要把模型机的微指令格式及模型机数据通路图各控制点的功能讲明白,然后以二到三个微指令为重点分析代码化的过程。最后让学生来自己代码化几条微指令。在这里代码化的方法是重点,不需要对每条微指令代码化。
1.5 指令调试
把微指令代码化后的各微指令存入到模型机的控制存储器,也就完成了指令设计的主要过程。剩下的就是调试每个指令是不是达到设计要求。调试就是用已经设计好的指令编写一段简单的程序,这个程序要包括所有的指令,然后在模型机上运行这段程序,看看这程序上的每个指令的执行过程是否和设计的一样。在这里,有一套能够反映指令执行过程的实验设备和软件是关键。有的计算机组成原理实验设备能够很好的展现模型机的数据通路图,还能动态的显示每条微指令执行时数据的流动过程及各控制点的反映,并显示执行的是哪条微指令。观察指令的执行过程是微程序设计的关键环节,也是学生建立计算机整机概念的关键环节。
2.微程序设计技术在计算机组成课程教学中的作用
2.1 能够深化对指令系统及指令设计的理解
计算机的指令是怎么来的,为什么不同的计算机指令系统不一样,这样的问题总是困扰着学生,以及指令设计中的一些理论与方法如何理解和运用等等。通过微程序设计,学生熟悉了计算机指令设计的全过程,从而能很好的理解计算机的指令系统及指令系统设计的理论与方法。
2.2 能够深化对计算机硬件组成及功能的理解
在微程序設计中需要全面熟悉计算机的硬件组成,如运算器是什么样的运算器,能进行哪些运算,是什么总线结构;如存储器的容量,访问存储器的地址寄存器的宽度,数据寄存器的宽度,还有PC寄存器,计算机硬件的总线结构连接等等。在微程序设计中,是对计算机组成的一个全面熟悉,还可以熟悉各部件的联系,是一个从全局掌握计算机各部件组成及联系的一个很好的途径。
2.3能够深化对计算机执行程序过程的理解
在微程序设计的最后是指令的调试。指令调试的过程就是全面地观察一个程序执行的全过程。从取指令开始到执行指令,然后又细化到每个指令对应的微指令的运行,再进一步细化到每个微指令对应的数据流,涉及的寄存器,以及各控制点的操作。通过这样的观察,已经能够全面地理解了计算机执行程序的所有细节,是对计算机执行程序过程理解的一个升华。
2.4是建立计算机整机概念的必由之路
建立计算机整机概念是计算机组成原理教学的重要目标。在微程序设计的调试阶段,通过对测试程序执行的观察,学生知道了一个程序的执行全过程、一个指令的执行全过程、一个微指令的执行全过程,理解了在计算机指令执行过程中各个部件的协调工作关系以及每个部件在指令执行中的作用,不再孤立地去看待每个部件,理解了计算机硬件就是为指令的正确执行,它们是一个整体,协调工作,完成各指令的功能,这样也就建立了计算机整机概念。
3 结束语
计算机组成原理课程是计算机类专业重要的专业基础课程,该课程教学效果将会直接影响后续专业课程的学习。计算机组成原理的学习一直是专业教学的难点,其知识点多、概念多、原理多,学生很难真正去理解和掌握。微程序设计技术是计算机组成中非常重要的知识点,它的学习对于学生对计算机组成的理解具有重要的作用,教师在教学中应充分把握好微程序设计的理论教学和实验教学,这对学生掌握计算机组成的相关知识具有极为重要的作用。
[参考文献]
[1]赵秀娟,詹春,郎长胜,等.基于微程序控制模型机的设计与实现[J].江西科技师范大学学报,2017,(6):89-93
[2] 袁春风,杨若瑜,王帅,等.计算机组成与其他课程之间的关联内容分析[J].计算机教育,2015,17(9):35-39.
(作者单位:安徽科技学院计算机系,安徽 蚌埠 233000)
转载注明来源:https://www.xzbu.com/7/view-15109314.htm