APP下载

“计算机组成原理”的课程改革与实践

2009-06-15刘旭东熊桂喜

计算机教育 2009年7期
关键词:计算机组成原理课程改革实践

刘旭东 熊桂喜

文章编号:1672-5913(2009)07-0074-03

摘要:“计算机组成原理”课程教学历来是计算机专业教学中的重点,本文分析了“计算机组成原理”课程的定位和特点,提出了一种从整体功能推进到局部组成、从微观实现抽象到宏观结构的层次化教学内容设计模式,探讨了“计算机组成原理”教学与学生能力培养之间的关系,探索并实践了一种研究性的教学方法。实践证明,这样的方法也的确收到了良好的效果。

关键词:计算机组成原理;课程改革;教学方法;实践

中图分类号:G642

文献标识码:B

1引言

“计算机组成原理”是计算机科学与技术专业的核心课程,该课程以冯·诺依曼模型为起点,系统地讲述了计算机内部结构、功能部件、功能特征、工作原理、交互方式和基本设计方法[1]。在教授这门课程的过程中,我们通过课堂讲授、课程实验、课程设计相结合的方式,使学生系统地理解计算机硬件系统的组织结构与工作原理,掌握计算机硬件系统的基本分析与设计方法,为他们进一步学习计算机系统结构、操作系统等后续课程,全面培养计算机硬件系统认知、设计与创新能力奠定良好的基础。

“计算机组成原理”课程是计算机专业本科阶段一门极其重要的课程,也是一门教学内容多、学习难度大的课程[2]。目前国内外出版的相关教材不少,其中不乏较优秀的教材,但由于教材容量的限制和文字叙述方式的特点,我们很难凭借单本教材就能实现既能从全局或宏观的角度掌握计算机硬件系统的整体结构和工作原理,又能从局部或微观的角度理解计算机各个部件的工作过程和交互方式的教学目标。因此,研究并实践一种有效的教学模式,对帮助学生从微观层面掌握本课程知识单元、从宏观层面建立该课程知识体系,进而培养学生关于计算机硬件系统的认知能力、设计能力和创新能力,具有重要的作用。

2教学内容设计

我们系统地分析了卡耐基梅隆大学、麻省理工学院、普林斯顿大学、清华大学、北京大学等20余所国内外著名大学同类课程的教学内容和展现方式。国内外高校在课程的教学内容上差别基本不大(如表1所示),但在内容的组织和知识的层次化推进方面存在一定的差别。

表1 几所国外大学计算机组成课程教学内容分布

“计算机组成原理”课程教学过程中,应尽快建立计算机的整体概念,让学生清晰地了解所学内容在课程知识结构中的位置以及和其他部分之间的关系[2,3],并合理组织课程知识点的展现结构,使学生对所学内容具有清晰的脉络和思路,这对学生全面地掌握本课程的知识具有十分重要的作用。

我们基于对国内外“计算机组成原理”课程教学体系的分析,从知识与能力两个层次,课堂与实验两个环节对“计算机组成原理”课程与实验体系进行了详细设计,基于自顶向下的教学思路,建立了一种从整体功能推进到局部组成、从微观实现抽象到宏观结构的层次化课程内容设计模式。首先,从问题出发。设想人类寻求一种可以代替人完成复杂计算的机器装置的功能需求,带领学生分析归纳计算机的功能模型,基于一定的技术条件带领学生分析总结实现该计算机功能模型的组成、结构以及其基本的工作方式,使学生初步建立计算机的整体概念。然后按照这样一种分析问题、探讨解决思路、总结功能特征、介绍设计与实现细节的教学内容展开模式,分别对存储系统、计算单元、控制单元和输入输出系统的教学内容进行设计,贯彻局部组成体现整体功能、微观实现体系宏观结构的教学内容设计思路,同时突出“功能分析”和“结构设计”两条主线。内容组织上,在对计算机各组成部分的功能需求分析的前提下,重点强调实现这些功能需求的组成部件的结构设计过程和特征。

3课程的能力培养

“计算机组成原理”课程的教学内容不仅仅是要传授有关硬件设计的课本知识,更重要的是重视理论知识与实践过程的结合,将知识综合灵活运用,重视学生综合能力和创新能力的训练和培养[4]。本课程着重培养学生关于计算机硬件系统方面的三种能力:即计算机硬件系统的认知能力、设计能力与创新能力。

“计算机组成原理”课程主要通过对计算机各功能部件的组成及运行原理的分析、讲解和配套实验,培养学生对计算机硬件的系统级认知能力。课程通过数据的机器表示、运算方法及运算部件的组成等知识点的讲解和实验,使学生掌握计算机的运算特征;通过指令系统的相关知识,使学生掌握计算机系统汇编级的结构特征和基本操作描述方法;通过存储系统的详细讲解和实验,使学生能从容量、速度和成本的角度理解多层次存储系统的组织结构和工作原理;通过CPU及控制单元的功能和结构的详细分析,结合指令执行控制的深入讲解和实验,使学生理解计算机系统指令执行的实质和控制单元的基本实现方法;通过总线、输入输出接口及外部设备等知识的讲解,使学生了解计算机系统内部、计算机系统与外部的交互方式。

在培养学生对计算机硬件的系统级认知能力的基础上,我们通过对运算部件、存储系统、指令系统、控制单元、整机硬件系统的设计方法等知识的讲解,结合相应设计实验,培养学生对计算机硬件系统的理解和设计能力。在设计能力培养的具体方式上,可通过课堂讲授、课后练习、配套实验等形式分层次实现。如课堂讲授可重点介绍系统和部件的设计方法和设计过程等内容;课后练习可进行框架性设计;配套实验可围绕规范、典型的模型系统,从功能部件的实现开始,直至最终设计出一台具备基本运算能力和存储能力、支持有限指令集的计算机设备。从而达到验证功能部件和系统的功能,掌握必要的硬件描述语言、设计工具及仿真环境,体验计算机硬件系统的设计过程,掌握相关硬件设计技术与方法等目的。

课堂教学和实验应努力为培养学生的创新意识和创新能力打下基础,课程在培养学生认知和设计能力的基础上,可通过计算机硬件系统不同阶段面临的问题及其技术发展的分析和探讨,体会在特定的技术条件下的创新思维;针对计算机硬件系统面临的新问题和新需求,结合新技术的介绍大胆畅想未来的技术发展趋势,引领学生突破思维定势,以此培养学生的创新意识。进一步可通过集成计算机组成原理、操作系统、编译技术等课程知识内容的综合课程设计,培养学生的基本创新能力。

4教学方法实践

计算机学科的知识体系是一个动态变化的知识体系,对于计算机原理这样一门课程,在教学过程中,启发学生充分思考计算机硬件系统发展不同阶段的需求、基本背景和应解决的本质问题,远比直接的知识灌输要重要的多。在教学方法上,目前普遍采用的是针对不同的教学内容特点采用启发式、讨论式或提问式等的教学方法,这些教学方法被证明在教学过程中确实起到了良好的作用[2,4,5]。我们认为,课堂教学一方面要传播课程的知识,更重要的是要传播一种正确的科学研究方法。课程教学既要使学生掌握课程知识,又要让学生了解与课程相关的领域曾经所面临的应用和技术问题,以及所采取的解决思路,因此探索并实践一种“发现提出问题、分析技术背景、提出解决方法、实现并验证”的研究性教学方法,对该课程的教学十分有益。

比如讲授计算机中数据的表示方法,其实这部分是课程中很简单的内容,最直截了当的方式就是直接讲授计算机中各种编码的表示方法,学生容易掌握,但学生只知其然而不知其所以然。讲授过程中应从计算机只能表示“0”和“1”这两个基本概念入手,引导学生思考计算机如何充分利用“0”和“1”来表示大千世界抽象的概念和具体的形象,进一步让学生思考计算机中数值的表示、非数值数据的表示应解决的问题,使学生充分理解计算机中把数分成定点数、浮点数、有符号数和无符号数,以及需要各种字符编码、检错纠错码的合理性和必要性,让学生主动去发掘计算机中数值和符号表示的根本问题。同时结合高级语言中的变量类型定义和各种类型变量占内存大小方面的知识,使学生能够从高级语言和机器实现相结合的角度理解程序变量类型的规划对程序性能的影响等知识。至于具体的数据表示方法,属于比较容易掌握的基本教学内容,讲与不讲都没有太大的关系。

中央处理器是“计算机组成原理”课程中最难掌握的教学内容,教学过程可以分为三个步骤推进。第一步是要让学生掌握控制器的功能、组成和结构,以及控制信号的作用。教学方法上应采用启发式的教学方法,首先应通过结合指令系统、存储器系统、运算单元等已学部分的知识,系统地分析机器指令执行过程中所需要的功能支持、功能部件(如寄存器部件)支持和数据通路支持,进而归纳总结控制单元的功能、组成和结构。在此基础上,以一个便于课程教学的简化的指令系统和模型机的设计为目标,从完整规划机器指令执行的指令流和数据流入手,系统地分析指令执行过程中可能出现的指令代码传送路径、操作数地址的形成和传送路径、操作数传送路径,以及各个功能部件(如存储器、各类寄存器、运算单元等)和这些传送路径所需要的控制信号。以这些分析为基础,一步一步地引导学生分析、归纳总结并进一步完成控制单元内部数据通路的设计和控制信号的部署,进而完成模型机控制单元内部结构设计。教学过程第二步以模型机的结构为基础,详细分析和讲解典型机器指令的执行周期和指令执行的详细流程,使学生充分理解典型指令执行过程中每一个时间段所实现的基本功能,以及为实现该基本功能在该时间段上所需要的微操作控制信号,进而使学生掌握每一条指令执行周期和详细执行流程的分析方法。教学过程的第三步是在完成上述教学内容的基础上,结合模型机的控制方式和控制时序信号,仔细分析和讲解模型机中各种微操作控制信号的逻辑综合方法,以及控制单元的设计方法。通过上述三个阶段的递进式教学,使学生了解并基本理解控制器的基本工作原理,掌握机器指令执行的真正物理含义,从本质上掌握计算机程序运行的实质。

5结束语

“计算机组成原理”课程是公认的枯燥和难学的专业核心课程,这些年我们在该课程的教学内容设计和教学方法的研究上进行了探索,并取得了良好的教学效果,形成了自己的特点。随着计算机技术的不断发展,“计算机组成原理”的教学仍然还有很多工作值得我们去研究和实践,只有不断探索、不断总结才能有效地提高教学质量,满足学生们不断增长的求知需求。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006.

[2] 王勇,黄贤英. “计算机组成原理”的教学方法[J]. 重庆工学院学报(自然科学),2008,V22(3):167-170.

[3] 唐朔飞. 计算机组成原理(第二版)[M]. 北京:高等教育出版社,2006.

[4] 向琳,张展等. “计算机组成原理”实践教学探讨[J]. 计算机教育,2008(20).

[5] 许高攀,黄翠兰等. “计算机组成原理”教学改革探索[J]. 电脑知识与技术,2007,V1(3):862-863.

猜你喜欢

计算机组成原理课程改革实践
《计算机组成原理》综合教学辅助平台的设计与实现
面向计算机系统能力培养的计算机组成原理实验教学
“双创”形势下高职财务管理课程改革探索
初中政治教学中强化新八德教育探讨
体验式学习在数学教学中的应用研究
生物专业师范生教学实习的问题与对策研究
基于创意的对口单招色彩课程改革突破点研究
校企协同实施高职专业课程改革的实践研究
用“工程思维”引领《计算机组成原理》课程教学
《计算机组成原理》课程建设的改革与探索