微机原理课程改革探索
2017-11-22张力蔡茂国钱恭斌
张力 蔡茂国 钱恭斌
摘 要 文章针对信息工程学院电子信息工程和通信工程两个本科专业的微机原理教学中存在的问题,探讨了对该课程进行教学改革的初步尝试。首先在内容上增加计算机组成与构成部分章节作为课程的导入,一开始就消除学生对微机的神秘感。另外,对教材内容进行大胆裁剪,保留8088最核心最基础的部分,又注入了新鲜的现代计算机的元素。此外,提出了激发学习热情、注重知识衔接,增加设计性实验的教学方法,以全面提升微机原理的教学质量。
关键词 微机原理 计算机组成与结构 课程改革
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdks.2017.10.038
Abstract In view of the problems existing in the teaching of Microcomputer Principles for two undergraduate majors in electronic information engineering and communication engineering of Information Engineering College, this paper probes into the teaching reform of the course. First of all, to increase the content of the computer components and components of the chapter as an introduction to the course, the beginning of the students to eliminate the mystery of the computer. In addition, the content of teaching materials bold cut, retain 8088 of the core, the most basic part, but also injected new elements of modern computers. In addition, the teaching methods of stimulating learning enthusiasm, emphasizing knowledge connection and increasing designing experiment are put forward, so as to improve the teaching quality of microcomputer principle.
Keywords microcomputer principal; computer composition and structure; course reform
微机原理是工科非计算机专业类的重要专业基础课之一,其主要教学任务是使学生从理论和实践方面掌握微机的基本组成、工作原理、汇编语言程序设计方法、接口电路及硬件电路的连接,建立微机系统的整体概念。由于该课程的教学内容十分丰富,对于非计算机本科专业的学生而言,这门课程实际上包含了微机原理、汇编语言程序设计和微机接口技术等计算机专业技术基础课程的内容,加上课程概念多、专有名词多、接口芯片多,内容抽象,對于初学者来说较难,因此长期以来被同学列为学习困难的课程之一,甚至有同学私下称之为“危机原理”。针对微机原理目前存在的教师教授辛苦,学生学习效果欠佳的现状,必要的课程教学改革迫在眉睫。
总体而言,我们整个微机课程主要围绕Intel的微处理器8088展开,这款CPU是第一台IBM PC机使用的中央处理器,必须承认该CPU的强大和代表性。虽然只有40个引脚,和目前大量使用的51单片机的引脚数和封装相同,但在近40年前8088是划时代的CPU,因为它支撑了第一代IBM PC机及IBM PC/XT商用机,直到1984年,在IBM PC/AT机上采用了Intel新的80286 CPU,8088才退出了历史的舞台。当然目前的计算机技术远远超越了第一台商用个人电脑的水平,计算机的内核大都采用双核或多核构造,其复杂度也是数量级的增加,但任何一个大学不可能开设最新计算机硬件的课程,作为授课,8088反而更适合。因为纵观PC机的发展,其系统结构的许多方面变化并非一定是全新的,更多的是吸收引进了中小型机的特点,如中小型机上采用复杂的寻址方式、虚拟存储器、Cache存储器、各种复杂的数据表示以及中央处理器的流水并行处理技术,都已逐步出现在最新PC机的系统结构中。因此以8088为核心讲授微机原理到今天仍然不失很强的基础性,学生有了坚实的基础再自学感兴趣的现代计算机体系结构也不会有困难。
本文主要针对目前所在学院学生的学习现状,从课程内容和教学方法两方面对微机原理课程进行了有益的教学改革尝试,取得了良好的教学效果。
1 课程改革的探索与实践
1.1 课程内容的调整
(1)增加计算机组成与结构的内容,消除学生对课程的神秘感。长期教学发现,一开始接触微机原理,学生对这门课是既好奇又敬畏,好奇是因为觉得自己有机会了解微机的工作原理,敬畏是因为总有微机课难的传言。针对这种情况,课程组大胆尝试,增加了计算机组成与结构的内容作为微机课程的导入,总共为3个课时。第一个课时概述计算机硬件的五个功能部件,计算机软件的分类及计算机系统的层次结构,并重点交代核心运算器部件的构成,所能进行的运算和ALU的线路。第二个课时首先以4位运算器Am2901为例,讲述该运算器的工作原理,即如何完成3种算术运算和5种逻辑运算,接着讲控制器的功能和基本组成。然后比较微指令和指令的区别,并给出微程序的概念,以加法指令ADD为例,分析了ADD指令的执行步骤。第三个课时重点剖析TEC-2000微程序控制器的工作原理,仍以ADD指令为例,解释指令的详细执行过程。通过加入这三个课时,使学生一开始就能接触到CPU内部部件,而且主要是用到了先修课程数字电路设计的知识,理解起来并没有太大障碍。了解了微指令的工作过程,就可以消除学生对微机的神秘感,为进行后面的教学内容做好铺垫,课程设计遵循从整体到局部,再到总体的主线,脉络清晰。而且学生能够了解到作为CPU核心的运算器的设计,为其以后做硬件方面的设计树立了自信心。endprint
(2)与时俱进,对教材内容进行大胆裁剪和扩展。目前微机原理教材存在的普遍问题是有些内容陈旧,比如中断控制器8259A在中断章节占用了很多课时。在8088系统中采用两片8259A芯片级联的工作方式进行中断管理,但是从奔腾3开始PC机的中断管理采用了I/O高级可编程控制器(I/O APIC)的新組件,与8259A的IRQ引脚不同,中断优先级并不与引脚号相关联,中断重定向表中的每一项都可以被单独编程以指明中断向量和优先级、目标处理器及选择处理器的方式。重定向表中的信息用于把每个外部IRQ信号转换为一条消息,然后通过APIC总线把消息发送给一个或多个本地APIC单元。另外,中断请求的两种方式静态分发和动态分发也不同于8088的机制。鉴于这种变化,课程组在中断章节不再详细讲解8259A的工作原理和方式,而只强调中断的概念和CPU对中断的响应机制,并将奔腾处理中断的思路渗透到课程中,重点让学生建立起中断的概念即可。
类似的设想是在有限的教学时间内重点突出,减少对过时芯片的讲解,增加现代计算机的较新元素,如高速缓存Cache,指令流水线,PCI总线接口,IEEE 1394,USB总线等,使学生对现代微机的了解更全面。
1.2 授课方法的改进提高
(1)激发学生的学习热情,调动学习积极性,注重课程的趣味性。对知识的渴求是督促学生认真投入学习的最好源动力。针对学生对微机原理普遍的好奇与敬畏的矛盾心理,从第一堂课上课就注重调动学生的兴趣,比如说“想不想走进我们常用的PC机的内部看看它是怎么工作的?”以此勾起学生的求知欲,接着鼓励学生,建立其自信心。课程中注重在每个知识点导入时启发学生自己先思考,并随机点同学起来谈自己的观点,顺着同学的观点继续下面的讲解,更容易让学生接受。这样学生也参与到课堂中,其积极性和学习热情会提高,教学效果自然会好。
同时要注意发掘课程的趣味性,比如讲中断的时候,往往一开始学生不好理解,可以举简单的例子帮助其理解。例如可以举例老师正在电脑前写文章时接到学院电话谈工作的事,接电话就是CPU以前正在进行的工作被中断,处理了中断请求,挂了电话继续写文章就是CPU中断返回继续以前的工作。讲内存的时候,可以带一个旧的内存条到教室给同学看,然后讲内存的分类,工作方式,内存地址的译码,和CPU对内存的访问。这样比直接上课讲内存给学生的感觉要生动一些,觉得自己可以看到真实的内存,从看到到了解其工作原理更有趣味性。
(2)注重知识衔接,由浅入深地重复重要知识点。微机原理课程的一个明显特点是各部分知识点衔接紧密,一环扣一环,而且记忆的东西较多。比如一开始寄存器要是没有掌握,接下来的寻址方式就比较困难,寻址方式学不好,学指令就很吃力。课程组强调要注重知识点的衔接,防止学生学习中某一环掉链子而影响到后面的学习,学生就会因为听不懂而慢慢放弃学习。笔者课堂教学采用的方法是不断由浅入深地重复重要知识点。开始讲寄存器时为了加强学生的理解及帮助其记忆,每个寄存器都举了汇编指令的例子,虽然还没有开始学指令,像MOV, ADD之类的指令告诉学生是做什么的还是很容易接受。讲7种寻址方式时,不断复习之前学过的寄存器,强化寄存器的配合使用,如SP和BP是与SS寄存器搭配使用,BX、SI、DI寄存器是和DS寄存器配合使用。之后讲指令时又借机不断练习指令中操作数的寻址方式,采用这种不断重复的方法,发现学生对这些零碎的知识点掌握更轻松,不知不觉就记住了、理解了,这正是我们想要的教学效果。
(3)实验环节中增加设计性编程的比例。微机原理课程不仅理论性强,也非常强调实践环节,课程的总学时为72学时,其中实验占18学时。以前实验主要为验证性实验,基本上给出了实验流程图及参考的汇编源代码,学生去实验室只是按实验手册step by step敲进去代码验证实验结果。验证性实验的优点是能保证大部分同学做出实验,保守地达到教学目的,但缺点是学生很被动,这样导致其编程能力难以提高,增加设计性实验可以达到完全不一样的效果。笔者首先在实验开始前的一次课堂上公布实验题目,让同学提前去思考,并且为减少障碍,只让同学编写核心代码部分,汇编的编程框架给出来,甚至一开始可以给点程序让学生改写,这样调动了学生编程的积极性,而且经过编程,学生对指令熟悉了,经过调试等环节最终看到程序运行结果时,能明显感觉到学生的成就感,这样以设计为导向的实验使学生不惧怕编程,从而促使其学习进入良性循环。
2 总结
微机原理属于信息工程学院的专业核心课程,而学生对该门课有比较严重的畏难心理,制约了课程的教学效果。针对此现状,课程组在最近两年做了课程改革的有益探索,首先增加了计算机组成与结构的部分内容作为课程的导入,消除学生对计算机的神秘感。另外,针对部分教材内容陈旧的问题,进行大胆裁剪,保留8088最核心最基础的部分,又给课堂注入了新鲜的现代计算机的元素。除此之外,充分利用课程组平台,经常组织课程组任课老师的内部交流会,切磋教学心得,切实提高和改进授课方式,并多让经验丰富的老师带动年轻老师,促进该课程的教学上一个新的台阶。从这两年学生的反馈看,虽然增加了不少教学内容,学生更有兴趣了,到课率大大提高,期末考试不及格率也大幅下降,表明教学改革初见成效。我们下一步的工作是强化所取得的成绩,充分利用实验箱,设计更多学生可以动手的实验,让学生能近距离触摸和应用硬件芯片,为学生的硬件理解及设计能力打下坚实的基础,这样学生毕业才有信心应对各种新知识、新技术的挑战。
参考文献
[1] 龚尚福.微机原理与接口技术(第2版)[M].西安:西安电子科技大学出版社,2008.
[2] 钟国辉.以设计性实验为牵引的微机原理课程教学[J].高等工程教育研究,2013(3):154-158.
[3] 王鼎君. 《微机原理与接口技术》课程教学改革研究初探[J].福建电脑,2012(10):43-45,42.
[4] 葛桂萍,李云,史庭俊.《微机原理及应用》精品课程建设的探索与研究[J].科技创新导报,2014(30):151-152.
[5] 吴宁.微机原理与接口技术课程混合教学模式探索[J].计算机教育,2014(19):17-20.endprint