以学生为中心的计算机组成原理课程教学改革探索
2020-05-25张策李剑雄吕为工华栋
张策 李剑雄 吕为工 华栋
摘 要:计算机组成原理课程教学存在原理性内容抽象晦涩、知识内容更新进度缓慢、教学难度大等制约学习效果的问题,该课程是培养设计与实现完整计算机系统综合性能力的基础性核心课程,需不断面向时代发展改革课程教学。提出以学生为中心的教学综合改革方案。在教师教学“过三关”的基础上,即基本功夫关、教学改革关与信息化教学关,从3个层面实施改革方案。从理论知识到物理实现层面,注重开展将理论内容转换为物理实现的教学,做到理论联系实际;从经典模型到现实构造层面,注重开展将经典冯·诺依曼计算机模型转换为现实计算机构造的教学;从线下教学到混合式教学层面,注重开展基于MOOC的混合式教学。
关键词:计算机组成原理;以学生为中心;教学综合改革;混合式教学
DOI:10. 11907/rjdk. 192039 开放科学(资源服务)标识码(OSID):
中图分类号:G434文献标识码:A 文章编号:1672-7800(2020)002-0198-04
英标:Computer Organization Course Teaching Reform Based on Student-centered Perspective
英作:ZHANG Ce1,2, LI Jian-xiong2,LV Wei-gong2, HUA Dong2
英单:(1. Deans Office, Harbin Institute of Technology(Weihai);2. School of Computer Science and Technology, Harbin Institute of Technology(Weihai), Weihai 264209, China)
Abstract:Aiming at the problems of abstract and obscure principled content, slow update of knowledge content and difficult teaching in the teaching of computer organization, this paper puts forward a comprehensive reform plan of teaching from the student-centered perspective. Firstly,it points out that teachers teaching needs to go through three levels, namely, basic kung fu, teaching reform and information-based teaching. From the level of theoretical knowledge to physical realization, we should pay attention to the teaching of transforming theoretical content into physical realization, so as to combine theory with practice. From the level of classical model to the reality construction, we pay attention to the teaching of transforming the classical Von Neumann computer model to the reality computer construction, from offline teaching to mixed teaching, focus on developing mixed teaching based on MOOC. “Computer composition principle” is a basic core course to cultivate the comprehensive ability of designing and realizing a complete computer system.
Key Words:computer organization;student-centered perspective;comprehensive reform of teaching;blended learning
0 引言
1946年2月14日诞生于美国宾夕法尼亚大学的人类第一台电子数字积分计算机(Electronic Numerical Integrator And Computer,ENIAC)距今已超过70年,其发展形态经历了17世纪手摇台式计算装置、1944年哈弗大学与IBM联合研制的MARKI,再发展至图灵机、ENIAC、冯·诺依曼的EDVAC方案。由其历史可知,计算机基础是数学家提出的模型和二进制数据,物理学家和机械学家再据此创造和发展。1964年Amdahl提出计算机体系结构,促进了计算机科学家和计算机专业人才发展。历经3次信息化浪潮,即计算机、互联网,到今天的物联网、云计算、大数据、移动物联网及互联网+,计算机知识和技术呈现爆炸式增长。
计算机组成原理课程主要讲授计算机基本组织结构与运行原理,内容抽象、讲授和学习难度大[1-5]。课程教学中,如果不能结合实物计算机进行讲授,难以讲清计算机的物理实现,很容易落入“照本宣科”的窠臼。教学还面临着“经典与流行的矛盾”、“历史与实现的矛盾”、“理论与实际的矛盾”、“线上与线下的矛盾”。针对以上问题,本文提出以学生為中心的课程教学综合改革方案。
本课题组从学生视角开展课程教学改革,在以培养学生创新能力与解决实际问题的能力为主的思想指导下,形成由理论课、实验课、在线课堂、计算机设计与实践构成的课程体系,使学生系统理解计算机硬件系统组织结构与工作原理,掌握计算机硬件系统基本分析与设计方法,建立计算机系统整体概念。
1 课程教学改革总体思路
计算机组成原理课程改革是计算机类专业核心课程改革重点,是教育者关注焦点。文献[1]对该课程教学实施方案总体框架进行论述,指出了目标与定位、教学内容组织、重点难点、教学实验等方面的关注点,为教学改革提供了较好的指导。本文在此基础上,进一步提炼出教学实施过程中的3个维度,聚焦学生学习效果的提升;刘旭东等[2]改进了课程教学内容设计,阐述了课程能力培养定位与启发式教学方法的应用。相比之下,文献[3]侧重于激发学生学习兴趣,从创新教学方法与改善实验教学提高教学质量;文献[4]侧重于课程教学改革思路的探索,在内容、方法和手段等方面进行改革,取得了一定效果。这些前期工作为课程教学改革提供了很好的借鉴,推动了课程教学不断优化。本文以学生为中心视角,对教师提出3项具体教学要求,并从综合改革的3个维度,论述课程教学改革实施内容。
课程教学改革的首要条件是课程组教师需要“过三关”,即基本功夫关、教学改革关和信息化教学关:①基本功夫关指能讲解清楚课程原理、知识,形成条理清晰的授课脉络;②教学改革关指能提出课程教学改革思路,形成至少一个层面(例如内容体系层面、教学方法层面)的系统化教学改革思路;③信息化教学关指能开展基于MOOC的线上教学,或运用智慧教学辅助工具开展课堂教学等,形成信息化教学改革的自我见解。
本文提出以学生为中心,从3个层面实施改革。
(1)从理论知识到物理实现层面。注重把原理性和知识性的教学内容,转化为物理实现层面的讲解,帮助学生更加透彻地理解和掌握课程内容。
(2)从经典模型到现实构造层面。注重把课程中以经典的冯·诺依曼计算机模型为线索的讲授,融入至当代多种计算机的现实构造中,帮助学生更清晰地理解和掌握计算机组成与运行原理。
(3)从线下教学到混合式教学层面。注重把基于MOOC的优质教学资源融合到课堂教学中,开展混合式教学,帮助学生有效提升问题解决思维与能力。
教学改革目标从培养学生的视角出发,要求学生掌握通用计算机基本组成、运行原理,具备识别、分析生活与科研中各类计算机的基本能力,可基本设计、实现和开发基于FGPA或开源硬件的实验机,具有软硬件协同开发与调试的系统性能力,为解决复杂工程问题打下坚实基础。
2 从理论知识到物理实现层面
把CPU、内存、I/O接口等描述成框架,以逻辑形式讲述有屏蔽的内部细节,便于学生从整体上把握课程内容,但也存在很大弊端,如学生不知晓具体原理,理论根基不牢,尤其是偏向物理层面的原理,无法做到理论联系实际,难以灵活变通运用。下文通过具体教学案例进行阐释。
2.1 总线通信
目前通用教材更多地从理论层面、逻辑层面阐述知识。例如,很多教材关于总线通信唯一性的描述为:“在某一时刻,只允许有一个部件向总线发送信息,而不允许有多个部件同时向总线发送信息”。深入思考后,学生会有两个问题:①某一时刻,为什么只允许一个部件向总线上发送信息?②部件如何向总线上发送信息?
对于第一个问题,常规解释是多个部件同时向总线上发送信息会导致“信息碰撞”(如图1-a所示),但该解释没有清楚、具体地阐述原因;对于第二个问题,常见解释是总线上的主设备具有该能力。主设备指能够改变总线电平值的设备,如果多个主设备同时改变总线上的电平值,则总线上的电平值显然是不确定的,当然其表示的数据也是不确定的,这就是“信息碰撞”。
2.2 总线、插槽、板卡与接口的关系
以系统总线为例,它指“CPU、主存、I/O设备(通过I/O接口)各大部件之間的信息传输”[6],在讲解该基本功能的基础上,需阐述清楚4个重要问题。
(1)总线的三大功能:连接计算机各大部件,并实现相互之间的通讯,以及由此衍生出相互连接的总线标准(ISA总线、EISA总线、PCI总线等)。
(2)总线本身不具备存储能力,只能用来通信,即总线上主设备只有持续地向总线发送数据,总线上才有数据,否则总线数据不确定(因总线数据由电平值确定)。
(3)总线通信的唯一性。学生知晓不允许有多个主设备同时向总线发送数据,但不理解如何确保或实现这种唯一性。此时,教学中需讲透三态相关内容,特别是用三态实现总线通信的唯一性,如图1(b)所示。当三态门断开时,经由三态门挂在总线上的设备自然处于高阻状态;当三态门连通时,设备可向总线发送数据,也可以接收数据,可以是高电平也可以是低电平,因而具有3种状态。
(4)总线、插槽、板卡的关系。总线(例如系统总线)在主板上对外暴露出来的插槽供板卡(目前很多板卡已演变为集成芯片的形式)插进去,如图1(c)所示。
理解“总线+接口”至关重要。例如,在嵌入式系统设计与实现中,嵌入式CPU通常有很多内置接口和对外暴露出的引脚(总线),用户也可自行设计和实现总线,对接口的操作常体现在驱动程序的开发中。
2.3 二进制数据表示方法
二进制代码是由两个基本字符0、1组成的代码,但大多数教材对二进制代码是如何构成的却甚少进行系统性解释。计算机不同部件可表示0与1的不同,表征为计算机组成原理的一种解释,如表1所示。
2.4 海明码与CRC码应用
在讲授信息校验相关内容时,需讲解海明码(汉明码)与CRC码(循环冗余校验码)。一般教学通常从数学原理出发指出两种编码用于发送与接收,尤其是网络设备通信之间。这种教学具有局限性,使学生对问题的理解仅停留在网络设备上。事实上,两种信息校验方法并不仅限于位于网络上A、B两个计算机设备,在单独一台计算机和日常生活中也经常使用。例如,等效于信息发送(编码)的过程还有写入文件存硬盘、压缩、刻录光盘、复制等,均为编码;等效于信息接收(解码验证)的过程还有从硬盘读出文件、解压缩、读光盘、粘贴等,均为解码校验。
2.5 其它
在计算机组成原理课程教学中有较丰富的内容可从书本中的理论联系到物理实际。例如,总线工作时序图与嵌入式开发中编写接口的驱动程序紧密相关;内存数据存储的大端模式、小端模式与程序跨平台(CPU+操作系统)移植紧密相关;系统接口芯片,如中断控制器8259A、DAMA控制器8237与电脑主板的南北桥芯片,到现在的集成芯片组紧密相关;CPU对进程的管理与操作系统内核移植紧密相关;RISC、CISC与当前流行的ARM嵌入式处理器、MIPS处理器紧密相关。
在计算机组成原理课程教学中,只有通过理论联系实际教学方法,才能把抽象的、不容易理解和掌握透彻的原理性内容阐述清楚,帮助学生从根本上掌握计算机组成与工作原理,提升学生创新能力。
3 从经典模型到现实构造层面
从冯·诺依曼计算机模型到具体的计算机实现,存在一定差距。现代计算机总体上是按照经典冯·诺依曼计算机模型设计和实现的,但在物理现实布局上已有所不同,这种不同表现为台式机、笔记本、嵌入式计算机、超级计算机等的构造均存在差异。
3.1 计算机组成
在计算机组成原理课程教学中,要把抽象的计算机组成(CPU+内存+I/O接口+总线)映射到具体的计算机中,包括台式机(包括品牌机和组装机)、笔记本、各种嵌入式计算机(从简单的微控制单元MCU“单片机”到以ARM嵌入式CPU为核心的嵌入式计算机)、工控机、PLC,甚至包括超级计算机——“天河二号”、“神威·太湖之光”,进而引申出下一代量子计算机等。
多数教材关于计算机组成的教学内容通常指出,微型计算机由微处理器、主存储器、I/O接口和系统总线组成,还包括支持微计算机基本运行的BIOS等,该类讲述缺少历史到现实的映射,学生在购买组装计算机时,依然搞不清楚Intel 酷睿i7处理器、主板、集成芯片组(包括早前的北桥芯片组、南桥芯片组)、DDR4内存条、二级Cache、固态硬盘等具体的当代计算机构成。
3.2 系统接口、端口与驱动程序
计算机组成原理、计算机接口技术等课程均含有对中断的定义、原理和过程讲解等,后者还特别对8259A芯片进行介绍。很多学生不明白二者的关联。因此需为学生讲解清楚系统接口在当代计算机的实现:在“我的电脑”右键弹出菜单中直接或间接找到“设备管理器”,再找到“系统设备”,可以找到“可编程中断控制器(Programmable Interrupt Controller)”。此处可以看到中断控制器需要驱动程序的驱动才能工作(验证硬件在软件控制下的工作原理),也能看到其作为接口设备内部有大量端口,如图2所示。
Zhang[7]还提出类似的教学,如虚拟内存VM(Virtual Memory)的讲解。
3.3 主机讲解
计算机由多种部件构成,其中关于“主机”的理解在课程学习中至关重要,为了方便教学,制作如表2所示的内容以便进行对比。
关于CPU功能的理解,考虑到教学进度与学生的理解情况,需在不同章节有不同详细程度的讲解,如表3所示。
特别注意的是,有时看似合情合理的比喻或形象的说法,实际上会带来负面效果。例如,“CPU到内存去读数据和写数据”的说法虽比较形象,但却掩盖了很多过程和细节,使学生难以正确理解目标内容。CPU需要按照总线读写周期与内存进行通信,二者按照规定的读时序和写时序共同完成一次讀操作及写操作。因此,抽象需恰到好处,合理运用。
4 线上线下相结合的混合式教学
开展基于“国家首批精品在线开放课程”计算机组成原理MOOC混合式教学研究与实践,是适应互联网时代教育教学新要求、探索信息技术与教育教学深度融合的重要尝试,是课堂教学实施参与式、互动性研讨型教学改革的具体内容。
哈尔滨工业大学(威海) 计算机科学与技术学院是中国高校计算机教育MOOC联盟在全国遴选出的13所试点学院之一,以该校计算机学院开展MOOC教学建设为抓手,基于前期研究成果[8-10],本课程在试点学院的统一要求与指导下开展各项工作,重点是专业核心课程大班化混合式教学改革。为了改革教学模式与教学方法,引领课程教学整体创新,从2016年秋季学期开展,课程组已连续开展了3年基于SPOC的混合式教学,初步探索出线上线下相结合的混合式教学范式,特别是在大班化启发式、互动性研讨型教学改革上取得了重要进展,为MOOC时代专业课程教学改革提供了先例。在3年混合式改革的基础上,将进一步完善以大班化启发式、互动性研讨型教学为核心的线上线下混合式教学模式,提出成熟可行的、完整的教学改革实施方案,探索基于MOOC的计算机教学新模式,为计算机专业教学与人才培养进行更多探索。
5 结语
计算机组成原理课程是一门专业核心课程,对于提高软硬件协同开发与调试能力至关重要。本文针对该课程教学现状,提出以学生为中心的教学综合改革方案,从理论知识到物理实现、从经典模型到现实构造、从线下教学到混合式教学3个层面对模型进行阐释,以期为课程教学改革提供参考。下一步将结合基于MOOC/SPOC/翻转课堂教学,深入研究课程线上线下混合式教学模式改革与实践措施。
参考文献:
[1] 唐朔飞, 刘旭东, 王诚,等. “计算机组成原理”课程教学实施方案[J]. 中国大学教学, 2010(11):42-45.
[2] 刘旭东,熊桂喜. “计算机组成原理”的课程改革与实践[J]. 计算机教育, 2009(7):74-76.
[3] 王丽芳. 计算机组成原理教学研究与实践[J]. 计算机教育, 2006(12):39-40.
[4] 姚爱红,武俊鹏,李丽洁,等. “计算机组成原理”教学改革实践[J]. 计算机教育, 2013(2):9-13.
[5] 唐朔飞. 计算机组成原理[M]. 北京:高等教育出版社,2008.
[6] ZHANG C,BAI J,LI J X,et al. Analysis of computer organization technology to enhance practice ability[C]. 2014 Asia-Pacific Management and Engineering Conference, 2014: 918-924.
[7] ZHANG C,LI JX,BAI J,et al. Comprehensive experiment reform of computer organization principles under the new situations[C]. International Conference on Education Science and Human Development, 2014: 15-20.
[8] 张策, 徐晓飞, 张龙, 等. 利用MOOC优势重塑教学 实现线上线下混合式教学新模式[J]. 中国大学教学, 2018(5): 79-83.
[9] 张策,谷松林,徐晓飞,等. MOOC教学试点学院探究——以哈尔滨工业大学(威海)为例模式[J]. 中国大学教学,2018(11): 38-42.
[10] ZHANG C,CHU D H,GU S L,et al. Research and practice of blending teaching based on “MOOC + SPOC + flipped classroom” for software engineering[J]. Computer Education, 2018(12): 108-113.
(责任编辑:江 艳)