《微机原理》课程是高等院校理工科专业的一门重要的计算机技术基础课程,特别对于测控技术、电子信息、通信工程及电类相关专业本科生来说,是学生学习和掌握计算机硬件知识和汇编语言程序设计及常用接口技术的入门课程。《微机原理》课程是一门理论性、实践性及应用性均很强的课程,该课程的主要任务是使学生从理论和实践上掌握现代微型计算机的系统基本组成和工作原理、编程技术、硬件的连接,建立微机系统的整体概念,使学生掌握微机电子控制系统软、硬件开发的基本方法,且具有初步的开发能力。
由于《微机原理》课程的知识点比较零散、抽象、理论性很强,学生普遍感到摸不着,看不见,不好学。以往学习成绩很不理想,更不用说能够把所掌握的软、硬件开发的知识有效地运用到简单系统的开发上,为此,笔者从合理组织教学内容,精心设计教学过程,采用多种教学手段和方法,特别将形象化教学法应用到理论教学过程中,收到了良好的教学效果。
一、教学内容的合理组织
本课程以Intel 8086微处理器为背景,从应用角度,结合典型微机系统设计系统阐述微机的基本原理;微处理器、微型计算机和微机系统的基本概念;详细介绍计算机运算基础、微处理器的内部编程结构、半导体存储器的分类、基本组成、存储容量的扩展及其设计、指令系统及汇编语言程序设计的基本方法、输入/输出系统的基本概念、I/O接口的编址方式以及控制方式;中断的基本概念及中断技术。简单介绍常用可编程I/O接口芯片的特点和使用技巧,以达到《微机原理及应用》课程的完整性。
本课程涉及内容多且零散、前后内容有所交错,学生初次接触时往往觉得难学,所接收到的知识比较散,理不出个头绪来,因而,在教学过程中将相关的内容科学地组合到一起,以CPU—存储器—接口这样的微机系统结构为基础,以“CPU寻址获取待处理的数据—计算——输出”这样简单工作原理模型为主线,以“必需、够用”为原则,将课本上那些零散的知识点连接起来,使得学生即可以对相关内容进行总体上的把握,又可对某一个具体的知识点进行纵向的扩展和横向的比较,对本课程知识的掌握大有益处。
二、教学过程的设计
理论课教学的实施主要是在课堂上通过教师进行知识传授。教师在教学的过程中,扮演着极为重要的角色,教师对教学内容的准备,重点、难点的处理,课上的教学艺术直接影响着教学效果。通常,教师要经历“教学准备、教学过程的设计、课中处理教学重点、难点,上课过程利用各种教学手段和方法集中学生的注意力,并设法保持学生的注意力,引导学生跟上教师的思路。教师在掌控教学过程中是要事先做好课堂教学过程的设计,这一过程我们主要通过引导提出问题、分析问题、解决问题来实现。用由表及里,解刨麻雀的方法,由简单问题逐步深入,引出核心知识点。
例如,第1章绪论中通过学生们对PC机的认知开始讲解微型计算机系统的概念及组成,进而脱掉外衣,去掉打印机、显示器等外围设备,呈现给学生的是微型计算机,再去掉存储设备、外围接口,就剩下整个系统的控制中心-微处理器,这样讲述微处理器、微型计算机、微型计算机系统的概念,学生容易记忆,其效果:第一同学们由熟悉的系统开始认知,较易理解概念及它们之间的区别;第二,引出本课程的重点。其效果远比介绍微处理器加设备再加外设的方式要好。
设计用对比的、发展的方式介绍8086、80386、Pentium IV微处理器的特点、组成,深入研究各类微处理器的内在规律与联系,使学生懂得学习和掌握本课程的核心内容和知识就能够动态地吸收新技术、新知识,能够主动地追赶上学科发展的步伐,。即完成了对微处理器发展的讲解,相应地也调动了学生学习本课程的积极性,打消了学生那种“为什么用奔腾学86”的抱怨。
在讲解微计算机的组成一节,我们将微型计算机看作一台简单的计算器,有存储器、微处理器(控制器)、运算器、输入/输出接口组成,这些部分则由总线(控制总线、地址总线、数据总线)连接起来,并通过对简单算式(3+2)*6的处理,将其工作过程简述为“得到运算数据——计算——输出运算结果”三个步骤,得到要运算的数据即寻址,计算和三步骤的协调则由微处理器(好比人的大脑)控制,按照汇编程序指令执行,计算则在微处理器控制下,由运算器完成,输出运算结果则由输入/输出接口送出。在讲解上述内容的过程中,一方面引出微处理器组成及工作原理、存储器、寻址(找数据)、指令、汇编程序设计、输入\输出接口、总线时序等完成整个运算过程所涉及的内容,即本课程的主要内容;一方面学生们就会不自觉地想探究:存储如何存储的数据,存储后的数据,大脑怎样找到,计算机的大脑的结构是怎样设计的,各部分结构如何完成运算和控制协调功能?计算的中间结果如何处理?等等。我们这样设计教学过程,不仅引起学生的探究欲望,而且将本课程核心内容和知识点有机的结合起来,使学生对微型计算机系统工作过程有一个完整的、系统的概念。
由于学生通常较容易理解、掌握信号与系统、数字信号处理这一类逻辑推导性和规律性很强的课程,而对微机系统这样多部分协调工作的抽象的概念理解困难,我们通过这样的设计课程内容和授课过程,让学生从全局的高度理解系统,进而研究局部内容。
接下来,讲述的是存储器寻址方式、汇编语言程序调试软件、指令系统和汇编程序设计方法。工作模式配置、三总线和总线周期(读写时序)、I\O口寻址方式、接口技术、存储芯片。最后以总结本课程核心内容和知识点的方式,介绍CPU的引脚。
一般的教材将存储器、指令系统、寻址方式和CPU结构分别放在不同的章节。Intel8086CPU编程结构中,有通用寄存器AX、BX、CX、DX和专用寄存器BP、SP、DI、SI和指令指针寄存器IP和段寄存器等14个16位寄存器可供程序员使用,这14个寄存器贯穿了整个课程内容_工作过程、寻址、指令系统、汇编语言程序设计、I/O接口,因此将这14个寄存器的功能和用法是本课程教学的关键。我们在进行80x86微处理器结构的讲解时,将存储器的结构及编址内容、部分指令、寻址方式、段定义伪指令加入进来,例如,在讲解累加器AX的作用后,学生们会产生疑问:AX的值是如何来的?为此,我们引入MOV AX,1234H,同时交代这是立即数寻址方式,也为寄存器赋值;作为与立即数寻址的表示式的对比,引入MOV AX,「1234H」表示直接寻址存储器内容,引入寻址方式作为讲解AX寄存器实例设计的教学过程,即给学生明析的AX概念,同时为后续章节的讲解作了铺垫。
在讲解专用寄存器、段寄存器和地址加法器功能时,引入存储器编址。存储器是分段的,段地址和有效地址分别存储在段寄存器DS、ES、SS、CS和专用寄存器BP、DI、SI、SP中,这时可以介绍存储器的其他寻址方式(相对寻址、间接寻址);而存储器的分段的地址如何找到?物理地址=段地址x16+偏移地址,目的在于学生可以联系实际应用来理解段寄存器、通用寄存器、地址加法器的功能;介绍存储器的同时,引导学生探究存储器段如何分配,CPU如何知道?可以简单介绍段定义伪指令,目的是让学生在学习过程中不断完善对微机系统的理解,将抽象问题逐步明朗化。达到更好的理解和掌握CPU编程结构中各部件的功能和实际作用。后续的各部分章节则再系统讲解相应内容-指令系统、存储器、汇编语言设计。引入实例更加深入学生对CPU内部组成元件的理解和和掌握,也为后续章节的学习埋下伏笔。
本理论课教学过程的设计思想是尽可能地将零散的知识点有机地结合起来,遵循重系统轻局部、重工作过程的原则逐步使抽象的系统概念明朗化,使学生容易理解、容易掌握。经过实践,一般在讲解汇编语言程序设计时,同学们已基本掌握了微型机的工作过程,取得了较好的教学效果。
三、形象化教学法的应用
课堂教学效果的提高除了合理的组织教学内容,设计教学过程外,还采用多种教学方法,特别是形象化教学法。
形象化教学法即用日常熟悉的、简单的、容易理解的现象解释陌生的、复杂的、抽象的、不易了解事物和不易理解的概念。或应用视频形象化地将复杂的工作过程和抽象的概念展示出来。形象化教学法有效的提高了学生对抽象概念和事物的理解。
在“微机原理”课程中,存储器编址和寻址方式是学生不易理解的难点,我们将存储器比作一幢办公大楼,每个房间好比存储器的每个存储单元,为了方便使用和管理,通常办公楼房间的门牌号是按楼层号+序号进行编排的,每个楼层有不同的单位或职能部门。存储器的存储单元地址的编排也类似,段地址好似楼层号,不同的段有不同的用途;偏移地址好似门牌号中的序号,由于我们到了相应楼层后,只找序号就可以找到相应的房间,因此偏移地址也称为有效地址。例如,办公楼201房间有4位老师,其中2是楼层号,01是本楼层房间序号,房间的内容为4位老师;相应的,若存储器地址为21000H,2000H为段地址,存储在CPU内部的数据段寄存器DS中,1000H为该段的一个存储单元,存储在通用寄存器中,存储单元内部存储的是数据或是一个存储单元的有效地址数据。于是段寄存器中的数据和通用寄存器中的数据通过CPU内部地址累加器输出地址信息21000H,这样CPU执行部件就可以在内存找到相应的数据。通过这样形象化的比拟,学生很容易理解段地址、偏移地址(有效地址)、物理地址的概念。有了对存储器地址和存储单元内容的理解,就很容易的理解各种寻址方式,这样也可以对看不见的存储器内部结构有清析的概念,同时借助DEBUG软件可以很好地掌握各种寻址方式下存储器的变化。
形象化教学法在寻址方式教学中的应用是采用多媒体动画展示,例如,堆栈PUSH和出栈POP这一对指令的学习中,以前很多同学掌握了堆栈的物理意义和作用以及压栈\出栈的原则“选进后出或后进先出”,但是遇到如下程序段,就感到疑惑:先进为什么先出了?
PUSHAX
PUSHBX
POP AX
POP BX
其中AX=1234H,BX=5678H,对于这样的问题,除了强调指令的用法,我们还用多媒体动画的形式展示,屏幕左面为动漫存储器的变化,右边为逐条显示指令,这样每显示一条指令,左边图像显示变化,这样形象、直观的讲解指令,同学们很容易了解到堆栈指令将寄存器内容压入堆栈段,出栈则是将内存中的内容送入指令中的寄存器,同时也可很好的理解SP指针加减2的变化规律。
四、结论
总之,通过合理设计教学过程,组织教学内容,采用形象化教学方法,学生基本能够掌握微型计算机原理课程的核心内容和知识点,特别是在存储器编址和寻址方式这一难于理解的部分。经过几年来的摸索,微机原理课的教学效果得到明显提高,学生的学习热情也得到提高。以下为近几年测评的结果。05-06通信工程平均成绩74分,06-07和07-08年采用形象化教学法、合理的设计教学过程,学生平均成绩分别为82分和83分,而且不及格人数也从05-06年以前的6、7人下降为3人,普遍成绩明显提高。因此,笔者认为合理的内容安排和教学过程的组织,采用形象化教学方法可以极大地提高“微机原理”课的理论课教学效果。