计算机组成原理实验创新性改革探索与实现
2016-12-05琚生根邱晓幼
周 刚, 师 维, 陈 润, 琚生根, 邱晓幼
(1. 四川大学 计算机学院, 四川 成都 610065;2. 四川大学 实验室及设备管理处, 四川 成都 610065)
计算机组成原理实验创新性改革探索与实现
周 刚1, 师 维1, 陈 润1, 琚生根1, 邱晓幼2
(1. 四川大学 计算机学院, 四川 成都 610065;2. 四川大学 实验室及设备管理处, 四川 成都 610065)
针对当前计算机组成原理课程实验教学中的问题,提出了以问题为导向,设计过程中兼顾自顶向下和自底向上优点的计算机组成原理实验教学改革方案。该方案符合实际情况,具有较好的实用性,并且克服了传统实验教学的诸多不足,不仅有效地辅助了理论课的学习,更加锻炼了学生文献检索、归纳总结、主导学习的能力,训练了学生工程设计和自主创新的能力。
实验创新; PBL教育法; 模型机; 指令
计算机组成原理课程是高校计算机及其相关专业的一门重要专业基础课程,也是计算机硬件课程体系中的核心环节[1-2]。这门课程给学生的普遍感觉是内容抽象[3]。实验教学作为该课程理论教学的重要补充,有着至关重要的作用。当前对于计算机组成原理实验的研究大多集中在对教学模式和体系的改革[4-6],包括实验教学方法、实验课程的设置、成绩考核标准等。也有学者从实际出发,针对某个具体实验箱的硬件环境进行的研究,开发了一系列基本模型机的综合性、设计性实验[7-10],但实验的重点大多是围绕指令系统的设计,忽略了指令系统所依赖的硬件的工作过程,使学生难以建立计算机硬件整体和局部的概念。还有部分学者致力于组成原理虚拟实验环境的开发和研究[11-12],但对于硬件实验,虚拟仿真的环境并不能完全取代真正的硬件环境,没有设计出一套通用的、功能完善的、符合实际需求的、能真正投入大规模使用的软件。由此可见,有必要总结现有计算机组成原理实验教学中的问题,结合实际实验环境和学生学习情况,对改革实验教学方法和教学内容进行研究,提出一套能解决现有问题、符合实际、可行的实施方案。
1 实验教学中存在的问题
1.1 实验内容的问题
传统的计算机组成原理实验以验证性实验为主,学生往往按照实验指导书按部就班进行实验,对于实验过程和实验原理较少思考,以修到学分为目的,无法达到实验课程的教学目标。以验证性实验为主的实验教学模式不利于发挥学生的思考能力和创造能力,使学生无法深入理解和掌握计算机系统的知识。
1.2 实验开展方式的问题
大多数的实验指导书的编写顺序都是先各个部件实验,然后再是整机实验,实验一般也是照着指导书顺序进行的,这种自底向上的方法的缺点在于不利于学生建立计算机硬件的整体概念,知识点容易片面和脱节。再加上部件实验如果都是以验证性实验为主的话,学生对于各部件无法深入掌握,在进行后续整机实验时就无法以部件为基础进行理解和设计,以至于无法理解计算机的工作原理。
1.3 实验教学模式的问题
计算机组成原理的理论课程内容知识点繁杂,内容比较抽象,难于理解[2],学生普遍反映枯燥、乏味,提不起学习兴趣;而实验课的作用应该是变抽象为形象,变复杂为简单,提高学生的学习积极性。但在实际的教学中,教师主讲、单纯的一对一辅导和检查实验结果这种传统实验指导模式并不能提高学生的学习兴趣。因为在这样的模式下,不能保证每个学生都成为学习的主体,而且教师在实验环节仅提供理论讲解和个别辅导也是不够的。
1.4 考核标准无法真正体现出个体差异
传统的实验模式导致了成绩考核只能依据于实验的完成结果和报告的提交情况,而验证性的实验结果相同,几乎所有的学生都能完成,实验报告也大同小异,无法体现出学生之间的差异,这导致教师在评分时难以有标准的依据,无法体现差异的成绩,也会打击部分认真学生的积极性。
2 教学改革研究
2.1 基本条件
由于院系和专业的不同,计算机相关专业对于计算机组成原理这门硬件课程的要求不尽相同,我院要求学生侧重于对整个计算机系统从高层(应用和软件)到底层(硬件)的工作原理的理解和掌握,最终认识和理解计算机系统如何执行程序、如何进行信息存储和通信等,对于我院学生并未要求掌握VHDL,Verilog等硬件描述语言。
而实验的硬件环境以目前我院所使用的西安唐都公司的TD-CMA教学实验系统为基础。该型号的专用集成设备也被很多高校所采用,因此,在此基础上的改革成果应该具有较好的通用性和适用性。我院目前将计算机组成原理的实验课程与理论课程分开,单列为一门必修课,实行小班授课,并保证每个学生一台设备。这些举措为实验课程的改革提供了良好的开展条件。
2.2 创新性实验方案设计
(1) 方法的引入。前面讲过,自底向上的认识和设计计算机系统会使学生对整体难以把握;自顶向下的设计方法可以避免这一问题,但这种设计方法需要学生对于底层硬件非常熟悉,这对于刚开始实验的学生来讲是很困难的。因此我们扬长避短,采用自底向上和自顶向下结合的设计方式。同时,为了提高学生的学习积极性,引入在医学教育中较为流行的以问题为导向的(PBL)教育法的思想。PBL教育法强调以学生的主动学习为主,该方法将学习与任务或问题挂钩,将学习设置在学生通过自主探索和合作来解决问题的过程之中,从而培养学生解决问题和自主学习的能力。
(2) 问题导向的建立。结合前面2种思想,我们以设计和建立某种功能的模型机作为整门实验课程的问题导向,在第一堂课给学生明确实验课程的任务,把模型机的建立作为学习的起点和终点,此后开展的实验和学生的学习内容是都围绕这一问题为主轴构架。让学生带着如何构建计算机系统这一问题贯穿学习始终,来发现和解决实验过程中的难题,可以很好地帮助他们建立整机概念。
(3) 学习过程的安排。确立了问题导向后,引导学生采用自底向上和自顶向下相结合的方式来设计和建构模型机。先引导学生从整体(顶)入手,思考要构建一个完整的计算机系统(模型机)需要哪些部件,这些部件是怎样的工作原理和工作过程,部件之间又如何能配合起来,形成一个有机整体,来共同完成计算机的任务。要解决这些问题,学生又必须从底层模块(底)入手,通过部件实验来学习和深入了解各部件的性质和控制原理,然后把这些部件组装在一起,最后完成模型机的设计和实现。在这一过程中,教师应以学生为主导,让学生独立去完成实验,去思考、去查阅资料,并积极与同学沟通交流,讨论设计方案,大家齐心协力得出最佳方案,而教师则在关键时刻起到点拨、指导、促进的作用。
该方案的技术路线如图1所示。
2.3 具体实施过程
2.3.1 提出问题导向,系统设计总体规划
提出要解决的问题:设计能实现原码一位乘法的复杂模型机[8-9],实现内容包括硬件的构架和连线、指令系统的设计、写出实现乘法的程序并在实验系统上运行通过。
图1 组成原理实验创新性改革方案技术路线图
教师先以实验指导书中简单模型机的设计和实现的验证性实验为例,向学生展示一个完整的计算机系统所包括的部件和应该具备的功能,此时并不要求学生完全弄懂每个环节,教学的重点是使学生通过直观的感受建立整机的概念,并且明白所要完成的工作。
通过示例实验,教师进一步引导学生思考完成这样一个设计的大致总体规划,包括要完成设计所需要的知识,当前自己的知识储备有多大差距,需要学习哪些东西,开发的方法和步骤应如何设置等问题。
2.3.2 以部件实验为基础,设计数据通路图
计算机要完成复杂任务首先需要硬件的载体,各部件都有其独特的不可缺少的功能。我们采用唐都实验系统上集成的各元件作为模型机的硬件部件,学生通过完成指导书提供的部件验证性实验,可以学习各部件的组成结构和工作原理,并且循序渐进地学习各部件之间如何进行数据流通和配合,遇到困难时,尽量通过独立思考、查阅资料或者和小组同学讨论来解决。而在此过程中,教师的主要工作是根据教学大纲和学生的能力安排实验进度和设计教学资源,提炼出每个实验中学生需要掌握和思考的知识点。具体实验安排和实验中需要学习和思考的要点如下:
(1) 运算器实验。理解和掌握运算器单元的逻辑功能;能看懂运算器原理图,进而理解实验过程中的LDA、LDB、ALU_B和T4信号变化的目的和作用,理解这些信号是如何控制寄存器和数据通路的;通过原理图理解进位标志FC和零标志FZ在什么情况下发生变化;重点理解带进位的加法和带进位的移位运算,理解FC的作用。思考在进行整机设计时,运算器应该如何连线,如何控制。
(2) 存储器实验。掌握静态随机存储器RAM的工作特性及数据的读写方法;理解实验箱上的存储器读写控制逻辑的原理,掌握CPU如何通过该逻辑对RAM进行读写;该实验中第一次出现了地址寄存器AR,掌握AR和存储器之间如何连接和配合。思考整机设计时如何实现对存储器数据的读写。
(3) 系统总线实验。理解总线的概念及其特性;能看懂原理图,进而理解和掌握总线是如何将输入输出设备、存储器和寄存器连在一起,又如何按照传输的要求有序地控制他们,来实现信息的传输;理解和掌握I/O设备的读写控制逻辑。思考该实验所实现的数据传输流程在整机实验时应该如何实现。
(4) 微程序控制器实验。这一单元需要掌握的内容较多,相比之下也较难理解,但其内容是构建“智能”计算机系统的基础,学生需要了解计算机工作的时序信号,理解CPU周期;理解机器指令和微指令的概念和两者的差别和联系;能看懂原理图,并通过实验过程中软件中动态的数据流向图来掌握的工作原理;掌握指令译码的原理,掌握微指令的格式,这是后面设计模型机指令的基础;理解和掌握微控制器是如何将前几个实验中手动控制转换为自动控制的;掌握IR指令寄存器、寄存器R0和输出单元七段数码管的原理。思考在整机设计中,如何通过微控制器来控制各个部件,实现既定的功能。
每完成一个部件实验,教师安排学生进行自我评价或小组评价,并总结和讲解其中的难点,最后引导学生在完成和掌握各部件实验的基础上,根据所要解决的问题思考数据应该如何传送,在传送过程中需要哪些部件,应该如何控制各个部件的状态,最终设计出模型机整机的数据通路图,并确定实验连接线路。对于本次设计,要完成乘法运算,需要运算器ALU通过加法和移位来实现,需要微控制器MC、指令寄存器IR、程序计数器PC来取指、译码和执行来控制各部件,还需要3个通用寄存器R0,R1,R2和一个存储器单元来存放乘法运算中的被乘数、乘数,尾数和乘积的高n位。要访问存储器单元需要地址寄存器AR,并需要开关作为输入单元来输入乘数和被乘数,2个七段数码管作为输出单元来显示乘法结果。
2.3.3 构建指令系统
完成了硬件的设计,需要为其构建指令系统。TD-CMA实验系统是一个8位计算机,因此实验采用的指令格式分为单字长和双字长指令2种。根据需要解决的问题来设计指令,设计出微程序流程图,按照系统的微指令格式,将每条微指令代码化,转化为“二进制微代码表”。指令的设计并没有标准的答案,指令设计成功的标准首先以完成任务为前提,但一个设计优良的指令应该追求的目标是有利于缩短微指令字长度,有利于减小控制存储器的容量,有利于提高微指令的执行速度,有利于提高微程序设计的灵活性[7]。教师鼓励学生之间相互交流,通过对比、讨论、思考来取长补短,寻找更优的方案。
2.3.4 编写程序、加载、调试、运行
按照要求功能编写程序,将编写好的微指令和机器指令转化为指定系统、指定的格式写入以txt为后缀的文件中,并通过链接软件将其加载到微存和内存中,通过本机或者联机的方式运行程序,观察下位机数据显示灯的变化和软件中数据通路流图指令的执行过程,在程序运行完后检查OUT单元显示的乘积结果是否符合预期,从而验证设计的正确性。教师可组织各小组汇报成果,讨论并总结各方案的优缺点。
2.3.5 成绩评定
根据以上的实施方案,教师在评定学生成绩时就能不再单纯地依赖实验结果和实验报告,而是更多地记录和考核学生的学习过程,根据学生在学习过程中的表现来给出一个较为公正的分数。
3 结语
以问题为导向、设计过程中兼顾自顶向下和自底向上优点的计算机组成原理实验改革方案,解决了传统教学中验证性实验为主、学生参与积极性不高、创造力不强、无法很好地建立整机概念、考核成绩标准有欠公平等问题,不仅有效地辅助了理论课的学习,还锻炼了学生文献检索、归纳总结、综合理解的能力,训练了学生工程设计和自主创新的能力,帮助学生建立主导学习、终身学习的能力。该方案已在我院计算机科学与技术专业应用,并取得了较好的效果。
References)
[1] 钟国辉. 以设计性实验为牵引的微机原理课程教学[J].高等工程教育研究, 2013(3):154-158.
[2] 肖敏.浅析计算机组成原理综合设计性实验的教学实践[J].教育教学论坛,2014,5(22):216-218.
[3] 姜欣宁,陈宇.“计算机组成原理专题实验”的教学改革[J].实验技术与管理,2013,30(4):162-165.
[4] 张磊,郑榕,田军峰.计算机组成原理理论实验教学无缝结合的新方法[J].实验室研究与探索,2013,32(5):168-172.
[5] 方恺晴,张洪杰. 计算机组成原理实验课程教学新方法的探论[J] .计算机教育, 2007(2):52-55.
[6] 颜君松.计算机组成原理实验教学研究与探索[J].重庆文理学院学报:自然科学版,2008,27(1):101-102.
[7] 赵洋. 《计算机组成原理》复杂指令模型机设计与实现[J]. 科技信息,2006(2):161-162.
[8] 乔道迹.《计算机组成原理》课程复杂模型机的深度开发[J].装备制造技术,2009(5):114-117.
[9] 张宇华,周莹.《计算机组成原理》综合性、设计性实验的开发与实现[J] . 现代计算机,2004(9):98-100.
[10] 丁红胜.CPU与简单模型机设计实验中的关键问题分析[J].计算机教育, 2013(15) :13-17.
[11] 郝尚富,张志强,孙佰利.计算机组成原理虚拟实验环境的设计及实现[J].计算机仿真,2009,26(11):320-323.
[12] 王建新,张丽媛,盛羽,等.基于组件的计算机组成原理虚拟实验室的设计与实现[J].系统仿真学报,2008,20(9):2469-2474.
Exploration and realization of innovative reform for experimental course of Principles of Computer Organization
Zhou Gang1, Shi Wei1, Chen Run1, Ju Shenggen1, Qiu Xiaoyou2
(1. School of Computer Science, Sichuan University, Chengdu 610065, China;2. Laboratory and Equipment Management, Sichuan University, Chengdu 610065, China)
Aiming at the current problems of experimental teaching of Principles of Computer Organization, a reform program is proposed, which is problem-oriented and has both top-down and bottom-up advantages in the design process. The program can meet the actual situation of our school, has a good practicability, and can overcome many shortcomings of traditional experimental teaching. It not only effectively supports the theory lesson, but also trains the students’ literature searching, summarizing, and self-learning ability, and exercises the students’ ability of engineering design and innovation.
experimental innovation; PBL education act; model machine; instruction
10.16791/j.cnki.sjg.2016.11.007
2016-06-21
四川大学实验技术立项资助项目(2015-106,2015-109);四川大学计算机学院实验技术立项资助项目
周刚(1963—),男,四川成都,硕士,高级工程师,研究方向为智能信息处理、高校实验教学
陈润(1980— ),女,四川成都,博士,讲师,研究方向为智能系统和信息安全.
E-mail:cr_run@scu.edu.cn
G642.0; TP301
A
1002-4956(2016)11-0026-04