论文部分内容阅读
摘 要:《微机原理及应用》课程理论性及实践性强、概念抽象、知识点多,学生学习难度大。通过多年的教学研究与实践,在教学目的、理论教学和教学方法上提出了一些自己的见解和经验。实践证明能调动学生的学习积极性,改善教学效果。
关键词:微机原理及应用;教学研究;实践
中图分类号:TP301-4
《微机原理及应用》课程是高校电气、自动化、电子、机械、计算机等专业开设的专业基础课,是学习和掌握微机组成、工作原理、接口技术及汇编语言程序设计的重要课程,学生通过该课程的学习能够具备微型计算机系统软硬件开发和应用的基本能力[1,2],学习的好坏直接影响到后续课程的学习效果。本课程知识点多、概念抽象、实践性强,对于缺乏计算机硬件基础知识的同学来说,入门较难,概念的理解、原理的认识尤其困难。大多数学生反映学起来吃力,难以理解和掌握,更不用说应用了。通过多年的教学研究和实践,笔者积累了一定的经验供同行参考,以期达到提高教学效果的目的。
1 明确课程的地位和目标
《微机原理及应用》在我学院电类专业的第五学期开设。在学习这门课程之前,学生学习了《计算机基础》、《C语言程序设计》、和《数字电子技术基础》等相关的基础课程。本门课是在这些课程的基础上介绍微机各组成部分的工作原理和接口技术,既有硬件知识,又有软件知识,在专业培养中起着承前启后的作用,是后续的《单片机原理及应用》、《嵌入式系统》、《计算机控制》等课程的重要基础。
本门课程的教学目标就是让学生认识到如何将CPU、存储器芯片、接口芯片等组成一个硬件系统,以及怎样编程让这些芯片协同工作去解决实际问题。
2 理论教学的研究与实践
学生之前只学过《C语言程序设计》(该门课所学内容跟硬件几乎没有关系)和《数字电子技术基础》(该门课所学内容牵涉不到程序设计),所以从学生的角度来看《微机原理及应用》这门“软硬兼施”的课程确实是比较难学。如果课堂教学不能将抽象的内容变得易于理解,教学效果就很难得到保证。因此,教师一定要换位思考,因材施教,不断提高自己的教学水平,提高学生的学习兴趣和学习积极性。
2.1 硬件方面的教学研究
在介绍8086引脚的时候,可以结合8086最小模式系统进行叙述,目的是让学生知道8086的引脚和外围的地址锁存器、数据收发器、存储器(或I/O接口)之间是如何连接的,一方面让学生掌握引脚信号的传输方向,一方面是让学生建立系统的概念和了解系统的组成。
8086的有些引脚是“孤军奋战”(单独起作用),比如说复位信号RESET。有些引脚是协同作战,比如说、和,把相关的引脚放在一起介绍可以帮助学生掌握这一组引脚如何共同实现作用。
在授课过程中,教师不必拘泥于教材章节的顺序,可根据教学需要进行调整。8086的有些引脚可以不在8086微处理器这一章进行介绍。比如说放在存储器扩展时进行介绍;HOLD和HLDA放在输入输出里面去介绍;INTR、NMI、放在中断里面去介绍。这样就做到了学以致用,学生更容易理解8086这些引脚的含义和作用。
2.2 软件方面的教学研究
8086指令系统中包含2万多条指令,其中有133条基本指令。面对如此之多的指令,怎么样才能让学生在较短的时间内掌握呢?通过多年的教学研究,总结出以下几点供参考,希望起到抛砖引玉的作用。
有些指令里面的操作数是隐含的,比如说MUL乘法指令里面只提供了一个乘数,而另外一个乘数由谁来提供?乘积保存到哪里去?这些都是隐含的。如果进行的是字节乘法,另外一个8位的乘数默认由AL寄存器提供;如果进行的是字乘法,另外一个16位的乘数默认由AX寄存器提供。如果是进行的字节乘法,则乘积不超过16位,默认为AX保存乘积;如果是进行的字乘法,则乘积不超过32位,默认为DX和AX共同保存乘积。由上面的叙述可知,隐含的8位寄存器是AL,隐含的16位寄存器是AX,隐含的32位是DX和AX。类似的指令还有除法指令DIV、CBW、CWD等等。如果学生掌握了这些“潜规则”,则对指令的掌握会有很大的帮助,进而会提高阅读分析程序和编写程序的水平。
在介绍移位指令、循环移位指令、循环转移类指令时,因为这些指令都会牵涉到移位(或循环)次数的问题,可以学生记住Counter(计数器)这个单词,在移位指令和循环移位指令中,由于移位次数比较少,所以在指令中用CL这个8位寄存器来提供移位次数;而在循环转移等指令中,由于循环次数比较多,所以用CX这个16位寄存器来提供循环次数。
教师在教学过程中不断总结经验,潜心研究,一定能找出很多上述的规律,这样对教学可以起到事半功倍的效果,学生也更容易接受。
2.3 “软硬兼施”方面的教学研究
在介绍指令时,应该告诉学生某些指令的执行会引起CPU哪些引脚产生什么样的变化。比如说指令MOV AX,[1000]实现的是将存储器单元的数据传送到CPU内部的AX寄存器,说明访问的是存储器,属于读操作,因此该指令在执行时,8086的引脚输出高电平(访问存储器),输出低电平(读入操作),输出高电平(在进行读入操作时,写信号是无效的)。
同样的,IN/OUT指令也会引起CPU的、和引脚信号的变化,从而实现对接口芯片的输入/输出。
在掌握了指令的执行对引脚信号的变化这些知识以后,最終要让学生达到编程控制接口芯片的目的。比如在一个数据采集系统中,如何编程让ADC0809的START信号有效从而启动A/D转换;如何编程去查询ADC0809的转换是否已经结束;如何编程让OE信号有效使得ADC0809输出转换以后的数据。
采用这种方式教学,一方面可以巩固学生前面所学到的知识,另外一方面可以帮助学生建立“指令运行硬件系统”的概念,同时也可以提高学生调试微机应用系统的能力。 2.4 比喻法在教学中的应用研究
本课程的内容严谨,容易造成课堂气氛沉闷,让学生觉得该课枯燥乏味,失去学习兴趣[3]。实际上,微机系统各部件间的工作过程类似于人与人的交流过程,因此教师在授课过程中,要善于把抽象的概念用现实生活里面的人类行为联系起来,这样有助于学生的联想、理解和记忆,提高学生的学习兴趣和学习积极性。
(1)指令队列缓冲器
在讲解指令队列缓冲器时可以食堂打饭为例来介绍。假设食堂的打饭窗口只允许排最多6人的队伍(相当于指令队列缓冲器),其余人员(相当于指令)只能在食堂外(相当于存储器)等待。食堂工作人员(相当于执行部件EU)每给一人打饭(相当于执行指令)结束以后,队伍里原来排在第二位的就自动向前移动成为第一位,依此类推(让学生理解指令队列缓冲器的FIFO,先进先出),当队伍只剩下4个人时(也就是队伍空余2个位子),在食堂外等待的人才能依次进来(相当于取指令)。食堂工作人员给人打饭是需要时间的(相当于执行指令),食堂外等待的人进来加入队伍也是需要时间的(相当于取指令)。正是由于指令队列缓冲器的存在,实现了执行指令和取指令的并行工作,有效地提高了CPU的工作速度。
(2)段地址和偏移量
在讲解段地址和偏移量时可以教学楼为例来介绍。我们的教学楼编号是以S表示南楼、N表示北楼、E表示东楼、W表示西楼,每幢楼有五层,每层有教室若干。如果上课的教室门牌号码是S218,则表示是南楼的218教室。整个教学楼相当于存储器,每幢楼可以理解为存储器的一个段,每个教室相当于一个存储单元,教室里面的人相当于存储单元的内容。如果只知道该教室在S楼(可以理解为段地址),或者只知道该教室是218(可以理解为偏移量),都是不能找到该教室的。所以要找某一个教室必须要有一个完整的地址(也就是要访问存储器的某个存储单元,必须要明确段地址和偏移量,也就是物理地址)。当然,如果已经知道了教室在S楼,那就只需要知道教室门牌的后3位数字即可(也就是如果知道了某个存储单元所在的段地址,那就仅需要偏移量就能找到该存储单元)。
(3)堆栈
在介绍堆栈时,我会拿我经常含服的润喉片(塑料瓶装)为例来讲解入栈和出栈的过程。在药厂生产的时候,瓶底相当于栈底,每装入一片润喉片,顶部就上移。等客户买回润喉片含服时,每取出一片润喉片,顶部就下移。客户取出的第一片是药厂最后装入的(LIFO,后进先出),客户取出的最后一片是药厂最先装入的(FILO,先进后出)。同时让学生理解入栈和出栈时,栈顶的位置是不断在改变的。
(4)中断
中断一般是指由于随机事件的发生,CPU暂停执行现行程序,转而处理随机事件,处理完毕再返回到被打断的地方继续执行。学生在学习时往往不太明白中断的完整过程是什么,这时就可以用实际生活的例子来解释。在讲解中断概念时可以家长找学生为例来介绍。教师(相当于CPU)正在上课(相当于执行程序)时,有家长(中断源)在教室门口向教师示意要找人(相当于中断请求),这时可能出现两种情况:一种是教师不愿意停止讲课(相当于中断允许标志位IF=0),家长就无法找到学生;另一种可能是教师愿意停止讲课(相当于中断允许标志位IF=1),让相应学生离开教室(相当于中断服务)后,教师继续从刚才被打断的地方继续讲课。
3 结束语
在教学过程中,教师的教学水平很大程度上影响了学生的学习兴趣和学习结果。经过多年的教学研究与实践,本文针对《微机原理及应用》课程在教学中存在的问题,分别从课程的地位和教学目标、理论教学、教学方法等方面提出了一些自己的见解和实践经验,目的是调动学生的学习積极性,改善教学效果,减少学生对《微机原理及应用》课程的畏难情绪,激发学生对计算机相关软硬件知识的学习兴趣,充分调动学生的主观能动性,为培养学生软硬件综合设计能力创造良好的教学平台,为把学生培养成为“卓越工程师”打下坚实的基础。实践证明,这些尝试和探索在学生学习兴趣培养、抽象知识理解等方面取得了良好效果。
参考文献:
[1]薛明.“微机原理与接口技术”课程教学改革浅谈[J].中国电力教育,2013,8(267):39-40.
[2]王先春,郭杰荣.微机类课程教学改革研究及实践[J].中国电力教育,2009,7(141):81-82.
[3]陈得宝,杨一军,李峥.比喻法在《微机原理及应用》教学中的应用[J].淮北师范大学学报(自然科学版),2013,3(34):87-90.
作者简介:于海东(1966-),男,江苏海安人,副教授,硕士,研究方向:微机应用及EDA;李彬,副教授。
作者单位:扬州大学水利与能源动力工程学院,江苏扬州 225127
基金项目:扬州大学2010年教学改革课题基金资助项目。
关键词:微机原理及应用;教学研究;实践
中图分类号:TP301-4
《微机原理及应用》课程是高校电气、自动化、电子、机械、计算机等专业开设的专业基础课,是学习和掌握微机组成、工作原理、接口技术及汇编语言程序设计的重要课程,学生通过该课程的学习能够具备微型计算机系统软硬件开发和应用的基本能力[1,2],学习的好坏直接影响到后续课程的学习效果。本课程知识点多、概念抽象、实践性强,对于缺乏计算机硬件基础知识的同学来说,入门较难,概念的理解、原理的认识尤其困难。大多数学生反映学起来吃力,难以理解和掌握,更不用说应用了。通过多年的教学研究和实践,笔者积累了一定的经验供同行参考,以期达到提高教学效果的目的。
1 明确课程的地位和目标
《微机原理及应用》在我学院电类专业的第五学期开设。在学习这门课程之前,学生学习了《计算机基础》、《C语言程序设计》、和《数字电子技术基础》等相关的基础课程。本门课是在这些课程的基础上介绍微机各组成部分的工作原理和接口技术,既有硬件知识,又有软件知识,在专业培养中起着承前启后的作用,是后续的《单片机原理及应用》、《嵌入式系统》、《计算机控制》等课程的重要基础。
本门课程的教学目标就是让学生认识到如何将CPU、存储器芯片、接口芯片等组成一个硬件系统,以及怎样编程让这些芯片协同工作去解决实际问题。
2 理论教学的研究与实践
学生之前只学过《C语言程序设计》(该门课所学内容跟硬件几乎没有关系)和《数字电子技术基础》(该门课所学内容牵涉不到程序设计),所以从学生的角度来看《微机原理及应用》这门“软硬兼施”的课程确实是比较难学。如果课堂教学不能将抽象的内容变得易于理解,教学效果就很难得到保证。因此,教师一定要换位思考,因材施教,不断提高自己的教学水平,提高学生的学习兴趣和学习积极性。
2.1 硬件方面的教学研究
在介绍8086引脚的时候,可以结合8086最小模式系统进行叙述,目的是让学生知道8086的引脚和外围的地址锁存器、数据收发器、存储器(或I/O接口)之间是如何连接的,一方面让学生掌握引脚信号的传输方向,一方面是让学生建立系统的概念和了解系统的组成。
8086的有些引脚是“孤军奋战”(单独起作用),比如说复位信号RESET。有些引脚是协同作战,比如说、和,把相关的引脚放在一起介绍可以帮助学生掌握这一组引脚如何共同实现作用。
在授课过程中,教师不必拘泥于教材章节的顺序,可根据教学需要进行调整。8086的有些引脚可以不在8086微处理器这一章进行介绍。比如说放在存储器扩展时进行介绍;HOLD和HLDA放在输入输出里面去介绍;INTR、NMI、放在中断里面去介绍。这样就做到了学以致用,学生更容易理解8086这些引脚的含义和作用。
2.2 软件方面的教学研究
8086指令系统中包含2万多条指令,其中有133条基本指令。面对如此之多的指令,怎么样才能让学生在较短的时间内掌握呢?通过多年的教学研究,总结出以下几点供参考,希望起到抛砖引玉的作用。
有些指令里面的操作数是隐含的,比如说MUL乘法指令里面只提供了一个乘数,而另外一个乘数由谁来提供?乘积保存到哪里去?这些都是隐含的。如果进行的是字节乘法,另外一个8位的乘数默认由AL寄存器提供;如果进行的是字乘法,另外一个16位的乘数默认由AX寄存器提供。如果是进行的字节乘法,则乘积不超过16位,默认为AX保存乘积;如果是进行的字乘法,则乘积不超过32位,默认为DX和AX共同保存乘积。由上面的叙述可知,隐含的8位寄存器是AL,隐含的16位寄存器是AX,隐含的32位是DX和AX。类似的指令还有除法指令DIV、CBW、CWD等等。如果学生掌握了这些“潜规则”,则对指令的掌握会有很大的帮助,进而会提高阅读分析程序和编写程序的水平。
在介绍移位指令、循环移位指令、循环转移类指令时,因为这些指令都会牵涉到移位(或循环)次数的问题,可以学生记住Counter(计数器)这个单词,在移位指令和循环移位指令中,由于移位次数比较少,所以在指令中用CL这个8位寄存器来提供移位次数;而在循环转移等指令中,由于循环次数比较多,所以用CX这个16位寄存器来提供循环次数。
教师在教学过程中不断总结经验,潜心研究,一定能找出很多上述的规律,这样对教学可以起到事半功倍的效果,学生也更容易接受。
2.3 “软硬兼施”方面的教学研究
在介绍指令时,应该告诉学生某些指令的执行会引起CPU哪些引脚产生什么样的变化。比如说指令MOV AX,[1000]实现的是将存储器单元的数据传送到CPU内部的AX寄存器,说明访问的是存储器,属于读操作,因此该指令在执行时,8086的引脚输出高电平(访问存储器),输出低电平(读入操作),输出高电平(在进行读入操作时,写信号是无效的)。
同样的,IN/OUT指令也会引起CPU的、和引脚信号的变化,从而实现对接口芯片的输入/输出。
在掌握了指令的执行对引脚信号的变化这些知识以后,最終要让学生达到编程控制接口芯片的目的。比如在一个数据采集系统中,如何编程让ADC0809的START信号有效从而启动A/D转换;如何编程去查询ADC0809的转换是否已经结束;如何编程让OE信号有效使得ADC0809输出转换以后的数据。
采用这种方式教学,一方面可以巩固学生前面所学到的知识,另外一方面可以帮助学生建立“指令运行硬件系统”的概念,同时也可以提高学生调试微机应用系统的能力。 2.4 比喻法在教学中的应用研究
本课程的内容严谨,容易造成课堂气氛沉闷,让学生觉得该课枯燥乏味,失去学习兴趣[3]。实际上,微机系统各部件间的工作过程类似于人与人的交流过程,因此教师在授课过程中,要善于把抽象的概念用现实生活里面的人类行为联系起来,这样有助于学生的联想、理解和记忆,提高学生的学习兴趣和学习积极性。
(1)指令队列缓冲器
在讲解指令队列缓冲器时可以食堂打饭为例来介绍。假设食堂的打饭窗口只允许排最多6人的队伍(相当于指令队列缓冲器),其余人员(相当于指令)只能在食堂外(相当于存储器)等待。食堂工作人员(相当于执行部件EU)每给一人打饭(相当于执行指令)结束以后,队伍里原来排在第二位的就自动向前移动成为第一位,依此类推(让学生理解指令队列缓冲器的FIFO,先进先出),当队伍只剩下4个人时(也就是队伍空余2个位子),在食堂外等待的人才能依次进来(相当于取指令)。食堂工作人员给人打饭是需要时间的(相当于执行指令),食堂外等待的人进来加入队伍也是需要时间的(相当于取指令)。正是由于指令队列缓冲器的存在,实现了执行指令和取指令的并行工作,有效地提高了CPU的工作速度。
(2)段地址和偏移量
在讲解段地址和偏移量时可以教学楼为例来介绍。我们的教学楼编号是以S表示南楼、N表示北楼、E表示东楼、W表示西楼,每幢楼有五层,每层有教室若干。如果上课的教室门牌号码是S218,则表示是南楼的218教室。整个教学楼相当于存储器,每幢楼可以理解为存储器的一个段,每个教室相当于一个存储单元,教室里面的人相当于存储单元的内容。如果只知道该教室在S楼(可以理解为段地址),或者只知道该教室是218(可以理解为偏移量),都是不能找到该教室的。所以要找某一个教室必须要有一个完整的地址(也就是要访问存储器的某个存储单元,必须要明确段地址和偏移量,也就是物理地址)。当然,如果已经知道了教室在S楼,那就只需要知道教室门牌的后3位数字即可(也就是如果知道了某个存储单元所在的段地址,那就仅需要偏移量就能找到该存储单元)。
(3)堆栈
在介绍堆栈时,我会拿我经常含服的润喉片(塑料瓶装)为例来讲解入栈和出栈的过程。在药厂生产的时候,瓶底相当于栈底,每装入一片润喉片,顶部就上移。等客户买回润喉片含服时,每取出一片润喉片,顶部就下移。客户取出的第一片是药厂最后装入的(LIFO,后进先出),客户取出的最后一片是药厂最先装入的(FILO,先进后出)。同时让学生理解入栈和出栈时,栈顶的位置是不断在改变的。
(4)中断
中断一般是指由于随机事件的发生,CPU暂停执行现行程序,转而处理随机事件,处理完毕再返回到被打断的地方继续执行。学生在学习时往往不太明白中断的完整过程是什么,这时就可以用实际生活的例子来解释。在讲解中断概念时可以家长找学生为例来介绍。教师(相当于CPU)正在上课(相当于执行程序)时,有家长(中断源)在教室门口向教师示意要找人(相当于中断请求),这时可能出现两种情况:一种是教师不愿意停止讲课(相当于中断允许标志位IF=0),家长就无法找到学生;另一种可能是教师愿意停止讲课(相当于中断允许标志位IF=1),让相应学生离开教室(相当于中断服务)后,教师继续从刚才被打断的地方继续讲课。
3 结束语
在教学过程中,教师的教学水平很大程度上影响了学生的学习兴趣和学习结果。经过多年的教学研究与实践,本文针对《微机原理及应用》课程在教学中存在的问题,分别从课程的地位和教学目标、理论教学、教学方法等方面提出了一些自己的见解和实践经验,目的是调动学生的学习積极性,改善教学效果,减少学生对《微机原理及应用》课程的畏难情绪,激发学生对计算机相关软硬件知识的学习兴趣,充分调动学生的主观能动性,为培养学生软硬件综合设计能力创造良好的教学平台,为把学生培养成为“卓越工程师”打下坚实的基础。实践证明,这些尝试和探索在学生学习兴趣培养、抽象知识理解等方面取得了良好效果。
参考文献:
[1]薛明.“微机原理与接口技术”课程教学改革浅谈[J].中国电力教育,2013,8(267):39-40.
[2]王先春,郭杰荣.微机类课程教学改革研究及实践[J].中国电力教育,2009,7(141):81-82.
[3]陈得宝,杨一军,李峥.比喻法在《微机原理及应用》教学中的应用[J].淮北师范大学学报(自然科学版),2013,3(34):87-90.
作者简介:于海东(1966-),男,江苏海安人,副教授,硕士,研究方向:微机应用及EDA;李彬,副教授。
作者单位:扬州大学水利与能源动力工程学院,江苏扬州 225127
基金项目:扬州大学2010年教学改革课题基金资助项目。