西部地、计算机组成原理实验教学的困境与改进
2015-10-26池涛等
池涛等
摘要分析了当前西部地区计算机组成原理实验教学模式的不足,提出了工程导向实验教学方法,借助开发工具变抽象为具体,构建过程化的实验考核体系。加强实验教学课前预习,对实验原理进行分析,并利用Quartus软件对实验对象进行仿真设计;重视实验过程创新设计,建立“验证性[CD4/5]设计性[CD4/5]创新性”三级实践设计,将FPGA技术嵌入到设计性实验教学中,解决没有体系的情况下完成关键部件设计难题;规范实验报告,建立以实验过程描述为主、实验问题解决方案为辅的实验报告。以案例形式将实验系统应用到理论教学模式大大调动了学生的主动性,提高了学生的动手能力和创新能力。
关键词实验教学;Quartus软件仿真;FPGA;工程导向;计算机组成原理
中图分类号G6420文献标识码A文章编号10054634(2015)05009204
0引言
计算机组成原理是计算机专业一门重要的专业基础必修课程,以单机系统为研究对象,重点讲解计算机硬件系统的逻辑组成与工作机制,建立起计算机系统的整机概念。课程涉及的知识面广、概念多,其工作原理讲解比较抽象,学生普遍对该课程学习有惧怕情绪。特别是西部学生,对电脑的兴趣仅仅停留在计算机认识的表面,热衷玩游戏,喜软件怕硬件,缺乏对计算机内在知识的认识和了解,造成了学生普遍感到课程抽象难懂,很难实现教学目标。
国外已有的研究成果主要包括EDA工具和FPGA芯片。常用的EDA工具是Altera公司的Quartus Ⅱ,内嵌自带综合器和仿真器,可通过原理图或VHDL来具体设计计算机硬件系统的功能部件,完成从设计输入到硬件配置的完整PLD设计流程,属于软件仿真设计。FPGA(Field Programmable Gate Array,现场可编程门阵列)芯片技术,可根据用户要求载入不同的逻辑,通过编程实现不同的硬件逻辑,具有可编程性、高集成度、开发周期短、硬件升级空间大等优点,属于纯硬件设计。
国内的研究主要体现在软件模拟和基于EDA/FPGA实验箱的实验设计。前者以面向对象的思想,借助于图形、图像和模拟技术,在计算机上实现软件模拟模型的设计。后者采用VHDL硬件描述语言实现计算机组成原理实验,通过不同的算法来实现电路的逻辑功能,把传统的计算机组成原理实验移植到基于CPLD的设计思想上,提高了实验的成功率和可扩展性。另一方面,国内的研究成果主要集中在教学模式和教学方法的探索与研究。广西教育厅科研项目提出了“以学生为主体互动式的《计算机组成原理》课程教学模式”;河北省教育厅2009年自然科学研究项目对计算机组成原理实验进行改进,采用多种教学方法相结合,指导学生实验;吉林省教育厅“十二五”科学技术研究项目对计算机组成原理教学方法和教学手段进行了研究和探索,提出了利用网络和多媒体构架教与学体系;浙江省自然科学基金资助项目采用Flash Action Script设计开发了计算机组成原理仿真实验系统,用动画动态演示程序运行时硬件的变化情况;湖南省教育科学“十二五”规划课题研究了计算机组成原理的虚拟实验系统。上述这些研究都是针对特定地区学生的具体问题展开,其研究成果已应用到具体的计算机组成实验教学中。本文是以喀什师范学院为例,以西部地区高校计算机组成实验教学为研究对象,展开调研和教学改革,并运用到具体教学中。西部高校生源大多来自本地区或其他西部欠发达地区,特别是新疆少数民族学生主要来自农村(尤其是南疆地区),近30%的学生中小学几乎没有接触过计算机,仅仅会使用聊天软件,对计算机基础知识一无所知;其次,西部高校普遍重理论轻实践,实验教学多采用“教师演示,学生模拟”,教学方法单一,实验内容没有针对性,所以实验效果不理想,造成了西部高校计算机专业学生动手能力总体不如内地高校的学生状况。
1西部地区计算机组成实验教学困境分析
《计算机组成原理》是喀什师范学院信息系的一门核心课程,课程涉及内容多、联系面广、难度大、内容抽象。针对累加器、寄存器、加法器和控制器的功能只能借助原理图来讲解,教学中存在理论与实践脱节,民、汉学生普遍感到课程枯燥、抽象难懂。由于当前的计算机内部结构日趋复杂,特别是民族学生缺乏对计算机内在知识的认识,逐渐对课程产生畏惧心理。
另一方面,课程强调为学生建立计算机整机的概念,培养学生在硬件方面的专业素质和学习能力,实验教学是本课程的重要组成。但是,喀什师范学院的实验教学还没有形成独立的教学体系,仅仅作为理论教学的一个附属品存在,实验教学仍是注入式教学阶段,采用分组演示和验证实验,不利于学生创新思维方法的形成。在实验教学中,教师简单讲解实验内容和实验原理,学生按操作步骤完成实验项目,得到预期结果。实验课采用专用实验箱,基本线路已经固定,学生只需连接少量的连线,做一些验证性实验。在实验机房,学生注重的是电路连线,以便尽快完成实验,对每个芯片的功能和工作逻辑缺乏研究,更不会对整个实验的电路结构及实现进行分析。即使做完了实验,也无法认识内部机理。同时,实验内容层次少,实验考核方法不合理。实验内容层次少主要体现在实验以验证实验为主,缺少综合性的设计实验和自主性的创新实验。实验考核多以小组为单位,每组仅少数学生认真进行实验、多数学生蒙混过关;实验报告质量不高,直接从《实验指导书》上大段摘抄的实验原理和操作步骤千篇一律,没有学生自行思考的环节及内容,根本不能做到理论联系实际,无法真正培养学生的动手能力和创新能力。
2实验教学改革
计算机组成原理实验教学改革是改变目前注入式实验教学现状的必要途径。教师通过改革教学方法和内容,促使学生创新思维的形成。首先,结合实验系统仿真软件,提高学生在实验前的预习质量;其次,重视实验过程,改变单纯验证性实验模式,建立学生手脑共用的实验模式,充分发挥学生创新能力;最后,以案例的形式将实验系统应用于理论教学上,使理论与实验紧密结合;最后,构建过程化的实验考核体系,科学量化实验成绩,提高实验质量和效果。
21实验教学方法改革
实验教学方法改革是要摒弃“教师先示范,学生模仿完成实验”的教学方法,进行实验教学方法探索。实验教学方法改革紧紧围绕“借助开发工具,变抽象为具体”的基本思想,通过利用Quartus软件仿真设计和基于FPGA实验箱硬件设计,采用多种教学方法,激发学生实验课学习的主动性和积极性。
1) 利用Quartus仿真软件,建立实验教学课前预习制度。每次实验课前,教师先介绍实验原理和基本芯片功能,学生必须仔细查阅芯片资料。在理解实验原理的基础上,利用Quartus仿真软件完成实验的原理图仿真设计。由于Quartus软件可以装到学生自己的计算机中,每个学生都可以自行设计,所以不需要专门硬件知识和硬件设备。这样操作的优点,可以让学生关注计算机硬件系统的逻辑组成与工作机制,建立起计算机系统的整机概念。
2) 利用计算机动画演示,把一些抽象知识直观显示。计算机组成原理实验内容多、难度大、过程描述抽象。例如,如何实现总线、指令以及控制器的工作流程只能靠一些原理图来讲解,学生学起来枯燥、抽象、难以理解。引入计算机动画演示,可以把时序概念直观显示出来,增加学生对抽象知识的感性认识。
3) 利用FPGA技术,加强实验过程电子电路设计。实验环境采用的是Xilinx公司基于FPGA技术的BASYS2实验平台,选用Verilog HDL硬件描述语言。考虑到学生没有学习过FPGA相关课程,把所有关键器件进行模块化封装。学生采用模块调用的方法,以各部件的数据流和控制流的协调运行为基础,以完成各个器件的设计和定义。
4) 构建过程化的实验考核体系。过程化的成绩评定方法是将实验成绩评价覆盖实验教学的全过程。成绩由六个部分组成,包括预习完成情况、实验出勤率、实验操作过程、实验问题解答、实验报告和实验设计六个成绩。
22实验教学内容改革
将整个实验分为三个层次:基础验证型实验、设计应用型实验和综合设计型实验,体现了“验证性[CD4/5]设计性[CD4/5]创新性”三层实践环节。
1) 基础验证型实验。根据西部高校学生现状,特别是民族学生的计算机基础薄弱,学校首先引入了计算机硬件组装实验。实验目的是通过学生自己动手组装,理解主机板、CPU、内存条、硬盘,将所学知识与实际的计算机组成结构联系起来,建立起感性认识,激起学习兴趣,为后继教学打下基础。基础验证型实验主要针对于计算机关键器件的工作原理和逻辑连接。目前,建立了三个基础验证实验:8位进位并行加法器设计、快速乘法器设计、静态随机存储器设计。
2) 设计应用型实验。设计应用型实验是在基础验证型实验基础上完成的,学生通过自己设计计算机的关键部分,主要在指令系统设计和控制单元设计环节。设计性实验只给定实验目的,要求学生自己查阅资料,自己进行方案设计和论证,教师只是简单提示操作步骤和注意事项,以供学生参考。实验最大限度的发挥了学生的动手能力和分析解决问题能力。对于在实验过程中遇到的问题,教师应采用提示和建议,尽可能让学生自己动手解决。目前,建立了三个设计应用型实验:系统总线设计、组合逻辑控制器设计和微程序控制器设计。
3) 综合设计型实验。综合设计型实验是整个实验系统中最后一个环节,它没有标准答案,以小组为设计团队。微处理器设计作为综合设计型实验,将功能描述作为评价因子,微处理器设计面向应用,可以侧重运算和控制,最终根据实现功能的完整性和复杂性来评价实验完成的质量,给出相应成绩,以激发学生实验的兴趣和热情。
3工程导向实验教学融合案例
本课程选用的教材是唐朔飞主编的《计算机组成原理》,选用教材中的内容做实验,保持了实验与教材内容的基本一致行。采用基本模型机为基础,以工程导向为参照划分为六个模块。基本模型机的顶层原理图如图1所示,其中包括实验1~4中的六个模块。
[TP池涛t01tif,BP]
[BT7]图1计算机组成基本模型机的顶层原理图[HJ5mm]
1) 顶层原理图设计。根据实验的目的和要求,完成面向工程的小系统原理图设计。首先,根据实验目的,选用合适的器件,完成各器件之间的逻辑连接。接着进行地址线和数据线定义和连接,然后完成控制信号的定义和连接,最终完成原理图设计。本阶段的设计难点和重点是选用合适的芯片。只有充分分析和理解各个芯片的功能和工作原理,才能保证所选芯片正确以及所有的逻辑连接正确,确保连接信号的完整性和无二义性,这是设计出正确无误的原理图的基础。
2) 基于VHDL端口定义和调用。正确完成了原理图设计,还需要对所有芯片进行时序控制和控制信号设计,完成基于VHDL语言接口及事件定义。例如,在ALU设计中,要求实现6种基本操作:加、减、乘、除、移位和清零,并把结果存入寄存器C中。用VHDL实现ALU时,首先需要学生自己设计一个框图作为ALU器件,并定义其引脚,由于要完成六种运算,需建立组合逻辑电路。在定义其运算过程时应考虑其时序特性,在VHDL中可以通过使用类属定义来实现。
3) FPGA实现。完成了VHDL定义后,需要将所有实验逻辑下载到FPGA芯片中,进行硬件仿真调试。这是基于门阵列逻辑电路的测试,运行过程和结果都以电平逻辑呈现,特别是时序特征更是难以观察,所以需要设定专门的输入端口和输出端口。例如,笔者可以使用开关量作为输入端口,输出则连接LED灯,通过观察LED灯亮暗状态来查看输出端口中的数据,进一步测试实验功能。如果实验结果不正确,学生在排查问题时,只需要查看代码和方案设计的合理性。
4结束语
本文分析了西部高校计算机组成原理在实验教学中存在的问题,从教学方法和教学内容两方面进行了探索并提出了改进措施。将这些改革措施运用到了实际教学中,不但使学生从本质上理解课程中枯燥的理论知识点,而且提高了学生的学习兴趣和动手能力。此外,教师在教学实践中进行了对比实验,一组进行同届民族班和汉班教学的对比实验,一组观察两届民族班(一个大专班和一个本科生班)的教学效果。实践证明,采用新的教学模式,大大调动了学生理论学习和实验操作的积极性,增强了学生分析问题和解决问题的能力,收到了显著的成效。
参考文献
\[[KG-7]1[KG-4]\] [ZK(#]唐朔飞,计算机组成原理J北京:高等教育出版社,2006:324
\[[KG-7]2[KG-4]\] 吴迪,谢雪炎,吴贺俊基于FPGA的计算机组成原理实验教学探索J计算机教育,2014,([KG-6]18)3034
\[[KG-7]3[KG-4]\] 魏乐,赵秋云,软件模拟技术在计算机组成原理教学中的应用J电脑知识与技术,2014,([KG-6]10)30313052
\[[KG-7]4[KG-4]\] 朱家兴,付伟用VHDL实现计算机组成原理实验中的RAM存储器系统J红河学院学报,2006,4([KG-6]2):2124
\[[KG-7]5[KG-4]\] 阳树洪,杨毅以学生为主体互动式的[WW)]《计算机组成原理》课程教学模式J现代计算机,2014,([KG-6]4)4446
\[[KG-7]6[KG-4]\] 邓丽,邓先瑞计算机组成原理实验课程教学研究与实践探讨J煤炭技术,2010,29([KG-6]3):233236
\[[KG-7]7[KG-4]\] 徐兴梅计算机组成原理教学方法和教学手段研究与探索J长春师范学院学报(自然科学版),2013,12([KG-6]4):146149
\[[KG-7]8[KG-4]\] 刘均,冯志林计算机组成原理仿真实验系统设计与实现J浙江工业大学学报,2009,37([KG-6]5):486488
\[[KG-7]9[KG-4]\] 肖娟,张雯雯,王嵩,于芳虚拟实验系统在计算机组成原理实验教学改革中的应用J计算机教育,2014,([KG-6]14):3336