计算机硬件实践教学改进探索

2016-11-10 08:25董梁翟社平王晓婕邢高峰
计算机教育 2016年7期
关键词:计算机硬件实践教学

董梁 翟社平 王晓婕 邢高峰

摘要:随着对计算机硬件专业要求的不断提高,软硬件协同设计和开发已经是发展的大势所趋,因此要求计算机硬件教育从传统的分离式、理论式,向系统性、实践性的教学方向发展。文章分别从教学课程、综合实验和教学方法方面提出硬件教学的改进方案,以西安邮电大学为例,阐述根据计算机硬件发展方向和对人才培养的要求,对于传统的硬件实践教学进行探索创新的过程。

关键词:计算机硬件、实践教学、软硬件协同设计

1.背景

传统的计算机硬件教学主要的体系结构如图1所示。其中,“微机原理与接口技术”课程是以intel8086为背景机,通过编写汇编语言程序和在实验箱上连接硬件电路,来让学生深刻理解计算机的工作方式。“计算机组成原理”课程是从设计者角度出发,使学生掌握一般意义上的计算机硬件系统各功能部件的组成、工作原理和实现方法,尤其是涉及微处理器的组成及工作原理、总线连接等硬件知识,培养学生对硬件系统的分析、开发和使用能力。“计算机系统结构”课程从软硬件两方面出发,讲述计算机系统的设计方法及其达到的功能性能指标。

在实际教学过程中,随着intel8086应用的不断减弱,计算机硬件教学与实际应用脱节等况,导致课堂上老师越讲越费劲,学生越听越没兴趣,考试内容越来越简单。针对这种情况,采取了一系列针对性的改进措施。

2.硬件教学的改进方案

计算机硬件与计算机学科其他部分是一个有机整体,为了方便教学需要划设各门课程,例如汇编语言、硬件电路设计、c语言、编译原理、数据结构、操作系统、计算机网络等课程。在实践教学中,通过课内实验,学生完成本课程知识的理解和消化;通过一些专项课程设计,学生完成对专业知识的掌握和提高;通过一些综合设计,学生完成对整个计算机专业系统技能的掌握和提高。因此,计算机硬件教学主要通过对教学课程、综合实验、教学方法3个方面进行改进。

首先,在教学课程上进行改进。将“微型计算机原理”“汇编语言程序设计”“微机接口技术”等相关课程整合为一门“微机原理与接口技术”,统一教学大纲和课内实验要求。另外,将基于ARM的嵌入式开发和基于单片机的开发设为选修课。原有的“计算机组成原理”实验主要以验证性实验为主,学生可以自主设计的部分很有限。而“计算机系统结构”实验更是以软件仿真为主,学生缺乏感性认识。为此,专门开设了“Verilog HDL语言程序设计班和“基于FPGA的开发设计”课程。通过硬件描述语言Verilog HDL程序设计,可以由硬件逻辑电路设计逐步达到向芯片设计的转变。通过引入FPGA开发板,来实现硬件电路设计到实际应用的转变。

其次,在综合实验上进行改进。在“硬件课程设计”中,将原来的硬件布线在实验箱上接线完成,改为由学生自行设计接口电路板,并完成程序运行。另外,专门设立了“基本模型机课程设计”,让学生自行用Verilog HDL语言设计CPU及其相关部件,完成基本汇编/机器指令运行。

最后,在教学方法上进行改进。通过组织竞赛调动学生学习的积极性,包括已经举办了6届的“西安邮电大学汇编语言程序设计竞赛”。通过组织“计算机硬件协会”,让一部分学生进入到科研项目中来,通过教师的管理和引导,来完成一些综合性的实验课题。

3.硬件教学改进的实现

3.1在教学课程上的改进

规范全校的“微机原理与接口技术”课程教学大纲,该课程以intel 8086为背景机,编写汇编语言程序,设计接口电路,完成基本的微型计算机开发。相关的选修课程有“嵌入式系统与开发”和“单片机技术”。“嵌入式系统与开发”课程主要以ARM为背景机,编写c语言程序,在已有的开发板上进行嵌入式系统开发。

“计算机组成原理”是计算机学科各专业的专业基础课,是培养计算机相关专业学生实践动手能力和创新开发能力的核心课程。通过计算机组成原理课程的学习,使学生掌握一般意义上计算机硬件系统各功能部件的工作原理和设计方法,尤其是涉及微处理器的组成及工作原理、总线连接等硬件知识。已有教学方式注重计算机科学理论,强调计算机体系设计思想和各部件的功能用途。这种教学模式的好处在于突出主干,使得学生可以把握整体,易于掌握计算机设计的核心思想。有别于传统教学侧重理论,实验也主要是在实验箱上的验证性实验,传统教学方法对于考研学生很有帮助,但对于更多毕业找工作的学生就很难引起兴趣。

首先,在确保理论课不放松、不降低教学质量要求的前提下,与后续的“计算机系统结构”课程进行很好的衔接。选用了白中英教授编著的国家级精品教材《计算机组成原理))o同时根据全国计算机专业考研统考大纲,将蒋本珊教授编著的《计算机组成原理》、唐朔飞教授编著的《计算机组成原理》、王闵教授编著的《计算机组成原理》和王爱英教授编著的《计算机组成与结构》作为参考教材。

其次,加强实验环节,与现在主流的Verilog HDL硬件描述语言、FPGA开发板对接,将数字逻辑电路、硬件描述语言和可编程逻辑器件进行有机整合,从而让学生在实验中真正成为计算机系统的设计者。

这里需要团队进行大量的准备工作,包括:选派教师参加南京大学的XILINX技术培训课程、选派教师参加北京航空航天大学的CPU工程化设计、选派教师参加计算机组成实验课程的全国研讨会、承办“全国计算机核心课程教学改革研讨会”、联合北京至芯科技公司举办了FPGA硬件开发技术培训等工作。

在与全国各高校教师和公司工程师的讨论学习中,尤其是与浙江大学计算机学院、北京航空航天大学计算机学院的专家学者进行深入的交流后认为,经过数十年的建设,我国高校计算机专业已形成了一套相对稳定人才培养模式。目前,面对可编程硬件时代机遇和计算机系统课程教学与实验改革的需求,加强计算机类专业学生的系统能力培养已是当务之急。以计算机系统设计实现为手段,通过加强数字逻辑、计算机组成原理、计算机外设、操作系统、汇编语言、编译原理和网络传输等课程的有机衔接,促进计算机专业学生在系统设计与实现方面的工程实践与创新能力得到提升。

录制了计算机组成原理课程的教学微视频,编写了相应的Verilog HDL指导书,改造并新建了计算机组成原理实验室。改造的实验室能很好地完成传统的理论验证性实验,满足非计算机专业学生的学习要求。新建的实验室引入了最新的XilinxK7系列FPGA开发版,以及Vivado综合开发工具,开发出存储器设计、运算器设计、基本模型机设计、总线设计等多个实验项目。通过可编程方式来设计并实现电路,开展可重构原理的计算机设计,使学生具有用硬件描述语言进行设计的能力,完成从验证知识到设计、创新能力的培养。现在除了使得计算机专业教师学生能完成基本的理论课程要求实验外,还可以开展设计性实验参加竞赛,进一步提高了实验室的利用率。

3.2在综合实验上的改进

自2008年起,完成了硬件课程设计的校级课程建设。编写了相应的《微机原理与接口技术实验指导书》《计算机组成原理实验指导书》《硬件课程设计指导书》及其配套的网络资源,使得学生实验前有准备、实验中有指导、实验后有对比,大大增强了学生对实验课的重视程度。

“微机原理与接口技术”课程的硬件连线之前都是在实验箱上完成,所以学生的连线固定,而且学生也不容易掌握硬件电路的具体细节。在相应“硬件课程设计”实践教学中进行了改革,让学生自己设计接口电路板,包括使用接口芯片的类型,芯片引脚的排布,电源线地线的布置,LED灯、数码管、按键开关、电阻的个数及排布都由学生自行设计,最后在面包板上焊接完成,使用原有的接口实验箱来提供系统总线接口和汇编程序运行下载环境。通过这样的改革,既有效地杜绝了抄袭现象,又使得学生对软硬件设计加深了理解。

进一步引导学生学习和使用Proteus仿真软件,通过对硬件电路布线和汇编程序的运行环境的仿真,学生可以实现软件和硬件协同设计,并行展开工作,同时对整个微型计算机系统有了进一步加深理解。

对于硬件课程设计的实践教学改革自2010年起,已经在计算机科学与技术、软件工程、网络工程3个专业,6个年级得到了推广和应用,实际效果显著。将过去以验证性为主的实验逐步过渡到以设计性为主的实验,提高学生的动手实践和创新能力。学生的参与热情和动手能力得到了提高,教师的教学管理能力也得到了很大的提升。

3.3在教学方法上的改进

在保证传统教学内容不放松的情况下,为增强学生的学习主动性,进行了全校性的汇编语言程序设计竞赛。通过三人一组的竞赛小组,既增加了学生学习的主动性,又增加了学生的团结协作能力。事实证明,只要组织方法得当,学生的热情和能力往往会得到充分发挥。

图2是第5届汇编语言程序设计竞赛的4组获奖同学的作品。其中,图2(a)的汇编程序实现了将DOS窗口划分为4块,.能同时动态绘制不同颜色的图形;图2(b)的汇编程序实现了一个四则运算式计算器,能自动识别用户输入的带括号的四则运算式的值,还成功实现了小数运算;图2(c)的汇编程序实现了在4个窗口中分别动态输出文本、计数与绘图;图2(d)的汇编程序实现了4个窗口的展开和叠放。每组同学的作品都有自己的创意和特色,利用汇编语言编写程序可执行代码小巧,任务切换速度快,执行效率高,体现了汇编语言独特的魅力。

全校性的汇编语言程序设计大赛自2010年起,每年举办一届,已经连续举办了6届。学生们充分发挥了8086汇编语言的特长,从简单的文本字符输入输出,到画直线、画三角形、画圆,从简单的动画到游戏设计,从简单的命令行程序到自行设计数据库程序,从单一的窗口到多窗口设计,从单一任务到多任务并发,从简单的汇编工具到实现c语言再到汇编语言的编译系统设计。伴随着学生们的积极热情参与,教师团队也受益颇多。

把重在能力培养的创新、实践、个性发展的理念贯穿到整个教学活动中,强调探究式、研讨式的学习方法。为了加强学生实践动手能力的培养,提高学生学习兴趣和积极性,我们教学团队成立了“计算机硬件协会”。该协会是以学生自愿为前提,采取以学生为主体、教师加以启发指导的实践教学模式,通过以项目设计为导向,以兴趣小组为单位,对学生的一种管理和组织方式。

以项目导向的开放实验是近年来为实施素质教育、培养学生创新精神与实践能力为目的而探索的一种实验教学模式。该模式是在实验室完成计划内教学、科研任务的前提下,利用现有仪器、设备、场地、设施等资源,面向学生开放。开放实验的内容主要以各种项目设计为基础、掌握高新技术为特点、培养学生综合运用所学知识为目的。

基于兴趣小组学习法是学生自行组织、教师加以必要管理的实践教学模式,是以项目设计为导向,综合掌握各种知识、加强学生动手能力为目的一种学习方法。该方法能充分发挥学生的主观能动性,培养学生分析问题解决问题的能力,激发学生的创新能力以及成就感。

“计算机硬件协会”现在已实现高年级学生带低年级学生,兴趣小组内学生相互学习自行分配任务,教师引导解决实际问题的可喜局面。现有的兴趣小组完成作品:如图3(a)所示,应用ARM SMT32开发板设计寻迹小车,包括电机、轮子、各种传感器的选材和安装都由学生自行完成;如图3(b)所示,四旋翼飞行器的组装和GPS定位开发;如图3(c)所示,利用Protel软件,应用STC89LE52单片机设计两层PCB板,实现按键显示、语音识别等,包括布线、选器件、编写和下载程序部件实现自行设计和选择;如图3(d)所示,应用Xilinx Base3开发板,用Verilog HDL语言编写小型游戏,完成了驱动显示器、按键等功能的自行开发。还有嵌入式Linux系统上的语音识别和开发;嵌入式Linux系统上摄像头采集,通过WiFi网络传输,手机端图像的接收等。

4.结语

计算机科学与技术的不断发展,要求采用更为贴近实际的教学方法,计算机专业毕业生已经从过去的应用开发者,向计算机的分析设计者转变,软硬件的协同设计是必然的发展趋势。通过探索计算机硬件教学改进的方法,为后续工作打下了坚实的基础。今后工作的重点将围绕着系统性和实践性教学,主要包括以下几个方面:

(1)嵌入式处理器及其外围电路:借鉴现有的80x86、ARM、MIPS架构展开设计,包括指令集、单周期、多周期、流水线、中断、双发射等技术,进一步设计相应的外围互联互通电路,能够实现输入输出的设计验证。

(2)嵌入式的操作系统及其工具软件:参考已有UCOS、Linux嵌入式操作系统,并在此基础上设计汇编工具和c语言的编译工具。

(3)嵌入式系统开发板:能够实现处理器芯片、总线、接口电路、外设的集成。

(4)基本应用开发:包括WiFi网络通信、图像采集传输、图形游戏设计和机电控制等应用。

通过计算机硬件的教学课程,综合实验和教学方法的不断改进创新,使学生增加了学习兴趣,提高了分析设计的能力,同时也锻炼出一支理性务实、团结创新的教学科研团队,实现了真正意义上的教学相长。

猜你喜欢
计算机硬件实践教学
中职计算机硬件课程教学策略探讨
计算机硬件实验教学管理举措研究
计算机硬件维护技术研究
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
研究型学习在传热学实践教学中的应用
思想政治理论课实践教学研究述评
高职院校商务礼仪课程教学改革探索刍议
《数据库高级应用》教学创新方法研究
谈计算机硬件实验教学及存在问题的改进措施