以系统能力培养为导向的计算机课程改革探讨

2019-12-11 11:26:02李东勤徐勇常郝
现代计算机 2019年30期
关键词:计算机系统原理逻辑

李东勤,徐勇,常郝

(安徽财经大学管理科学与工程学院,蚌埠233030)

0 引言

人工智能、大数据、云计算、物联网等新技术的发展,正在引领科技、应用和社会进入智能时代。计算机系统的设计和应用日益深化,各类新型计算系统及其产业成为主流,计算机技术发展体现了网络化、融合化、智能化等新特征。在新技术发展和应用新形势下,对高等学校计算机专业人才培养提出了更高的要求,能够掌握计算机软硬件协同工作机制和基本运行原理,具备计算机系统层面的认知与设计能力,能站在计算机系统的高度来考虑问题和解决问题,即计算机系统能力。

为了推动国内高校在计算机系统能力培养方面的教学改革,2010年教育部计算机类专业教学指导委员会(以下简称“教指委”)专门成立了“计算机类专业系统能力培养”研究项目组,发表了相关的研究报告[1-4]。在教指委的指导和推动下,国内许多高校开始重视计算机系统方面的教学,积极探索和实践系统能力培养模式。清华大学、北京航空航天大学、南京大学、浙江大学等国内一流高校早在10年前就已经开始了系统能力培养试点工作,目前已经形成了各自的系统能力培养模式,为国内其他高校提供了丰富的教改经验。

我校针对计算机系统能力培养,2017年开始参加了高等学校计算机系统类课程教学的几次研讨会和相关导教班,学习到北航、浙大、华科、科大、合工大等高校的相关教学改革经验,确定了我校硬件系列核心课程的教改思路;结合地方高校生源特点和学校实际软硬件情况,积极制定适合我校的课程体系以及课程改革方案,并于2018年5月入选教指委高等院校系统能力培养第三批试点校。

1 我校计算机专业课程体系存在的问题

系统能力培养是一个完整的体系,强调各课程之间知识的整合和有效衔接。而我校计算机专业课程的设置是按照计算机系统不同层次划分的,课程理论整体性不强,内容组织松散,概念间结合不够,学生难以形成对所有知识点的全面认识。教师在授课过程中更是强调各课程自身的完整性,没有关注同一课程、不同课程知识之间的关联性,导致软硬分家、课程与课程分家、知识体系缺乏系统性,还极易造成同一个知识点在相关课程中的重复讲解。

在实践环节,更是以课程为单位。实验缺乏综合性的实践环节,只是覆盖部分概念,而且均是概念的认知和理解,缺乏纵深性;导致学生只能学到一些较孤立的概念和知识点,无法形成对计算机系统完整的认识[5]。同时,课程实验大多数是验证性实验,主要采用实验箱方式,学生只是通过简单的插拔线完成实验内容,缺乏开发具有工程规模系统的实践。虽然小规模实验可以达到让学生基本理解、掌握系统运行原理和初步具备系统开发能力的目的,但由于缺乏足够的工程规模和难度,使得复杂系统中存在的较为深刻的问题难以暴露[6],学生更是无法体会。

2 计算机系统能力培养的思路和目标

系统能力培养的基本内容是掌握系统内部各软件/硬件部分的接口、运行协同以及系统内部各部件的逻辑关联,了解系统呈现的外部特性与人机交互模式,强调从系统结构角度实现系统功能的综合方法[7-8]。系统能力具有突出的工程特征,是解决复杂工程问题的基本能力和直接体现。

我校计算机专业之前没有开设过硬件描述语言,所有的硬件类课程实验都是通过在实验箱中完成的,因此学生对硬件描述语言还不了解,如果直接让学生用硬件描述语言进行计算机功能部件及CPU设计肯定是行不通的。作为一所省属地方高校,教师的师资水平和学生的能力方面与985、211高校有一定的差距,我们因地制宜探索一条适合我校系统能力培养的方法、措施。在数字逻辑课程开设的同时增开硬件描述语言Verilog,要求学生首先通过图形、动画等方式直观地理解计算机内部各个基本部件的工作原理,然后采用硬件描述语言Verilog进行设计。

设计循序渐进的实验项目,学生首先通过计算机各个功能部件的设计过程熟悉和掌握硬件描述语言Verilog以及Xilinx的Vivado软件的使用,然后在此基础上进行单周期MIPS CPU、多周期MIPS CPU以及五级流水MIPS CPU的设计,并通过Xilinx的FPGA开发板进行验证。这种由易到难的阶梯式实践过程比较适合我校学生的认知规律,学生也容易接受,避免打击学生学习的积极性。

根据我校生源情况和实际师资力量,拟将学生最终能够自主设计“一台功能计算机、一个操作系统”确立为我校计算机系统能力培养的教学目标,并据此重构数字逻辑、计算机组成原理、微机原理与接口技术、操作系统等四门系统类核心课程的知识体系,形成边界清晰且有序衔接的课程群知识体系。

3 以系统能力培养为导向开展深层次教学改革

针对目前实际教学内容整体性不够问题,提出以完整计算机系统设计为目标的软硬件协同的教学改革方案,围绕实现一个完整的计算机系统组织教学内容。因此,课程改革涉及到数字逻辑、计算机组成原理、微机原理与接口技术和操作系统等四门系统类核心课程。前期目标为贯通硬件课程,具体体现在利用硬件描述语言Verilog设计计算机内部各个基本部件,

最终实现一个单周期、多周期、流水线的MIPS CPU的设计,并下载到FPGA实验板上,从而完成设计与验证。同时,逐步推进和规范化小学期的课程设计,将毕业设计和课外研学相结合,拓宽学生的思维深度和广度,不断培养学生的分析问题解决问题能力、计算机系统能力以及工程实践能力。

3. 1 优化课程教学内容

针对系统类核心课程只注重自身完整性、缺乏整体优化的问题,在学习其他高校改革方案的基础上,构建符合我校师资力量和学生能力的课程体系。

(1)构建数字逻辑课程知识体系

现有的数字逻辑课程,只是强调该课程本身知识体系的完整性,忽略了与后续课程(计算机组成原理)之间的衔接,同时没有考虑复杂数字系统实践项目。基于计算机系统能力培养目标,在数字逻辑课程开设的同时,增开Verilog HDL语言课程,目前该课程已经由开始的公选课变成了现在的必修课。在EDA(Electronic Design Automation)软件工具Xilinx的Vivado中利用Verilog语言进行数字电路的设计和仿真,并通过Xilinx的FPGA开发板进行验证。

面向系统能力培养要求,以《计算机科学与技术本科专业规范》为基础[6],同时考虑课程衔接和实验项目规模与难度,研究数字逻辑课程所涉及的知识领域、知识单元、知识点以及与后续课程之间的关系,最终建立符合计算机系统设计所需要的主要知识体系。与现有的数字逻辑课程知识体系相比,更加深入讲解寄存器、计数器、译码器、有限状态机、存储器等与后续课程相关的知识模块;同时,删除集成电路传输特性、555定时器、数-模和模-数转换等内容。具体如表1所示。

表1构建数字逻辑课程知识体系

(2)构建计算机组成原理课程知识体系

计算机组成原理是计算机专业中最重要的专业基础课程之一,在整个计算机专业课程体系中起着承上启下的作用,也是考研必考课程。该课程主要讲解计算机各个功能部件的工作原理、设计方法以及各部件之间的关联机制,帮助学生建立计算机整机概念。目前,我校计算机组成原理课程教学主要偏向各功能部件工作原理的讲解,弱化了其设计方法以及各功能部件之间的关联机制,因此对于学生来说是“只见树木,不见森林”。同时,目前的课程教学内容只是强调课程本身知识体系的完整性,忽略了其与数字逻辑以及微机原理与接口技术、操作系统等课程之间的衔接。

考虑课程衔接和实验项目规模与难度,研究计算机组成原理课程所涉及的知识领域、知识单元、知识点以及与数字逻辑、微机原理与接口技术、操作系统等课程之间的关系,最终建立符合计算机系统设计所需要的主要知识体系。与目前的教学内容相比,在计算机组成原理课程中增加了计算机系统的层次结构内容、计算机开发与执行过程、计算机系统的性能评价指标;在指令系统这一块,重点讲解MIPS指令系统和MIPS指令汇编语言;在中央处理器这一部分,原来只是以基本模型机讲授CPU的基本工作原理,现在以具体的MIPS指令为例,详细分析每条指令的格式和实现过程,分别以单周期和多周期为例,构建数据通路,设计组合逻辑控制器和微程序控制器;详细讲解流水线实现的工作原理和存在的问题及解决办法;外围设备这一块删减过时的教学内容,例如存储设备中的磁带、软盘等。

3. 2 规划实验教学

(1)构建数字逻辑实验体系

在数字逻辑实验教学中,学生需要利用硬件描述语言Verilog,完成组合逻辑电路的设计、同步时序逻辑电路的设计以及译码器、加法器、数据选择器、寄存器、存储器、计数器等计算机内部各个基本部件的设计,这些部件将在后续的计算机组成原理实验中被直接使用,可以减轻计算机组成原理实验课程的负担。在我校,数字逻辑实验和计算机组成原理实验同样都是18学时。而计算机组成原理要完成CPU的设计,课时很是紧张的,所以可以将计算机系统的基本部件的设计实验放在数字逻辑实验课程中完成。构建的数字逻辑实验教学体系,计划安排8次,共计16学时,设计的实验教学内容如表2所示。

表2数字逻辑实验教学体系

在课程结束的小学期即第20周,增加数字逻辑课程设计环节。利用Verilog语言和Xilinx的Vivado软件,设计面向工程应用的数字系统项目。设计题目能够具有一定的规模,不易太复杂,以免打击大二学生的积极性。通过课程设计过程,培养学生独立思考的习惯,激发其创新意识和团队合作意识,进一步提高学生的动手实践能力。设计结果通过Xilinx的FPGA开发板进行验证。课程设计要求学生制定设计方案,画出原理图,提交设计报告,并通过PPT形式进行结题汇报。课程设计题目如表3所示,学生可以两人一组,选择其中一个项目完成。

表3数字逻辑课程设计部分项目

(2)构建计算机组成原理实验体系

在计算机组成原理实验课程中,我们最终的目标是设计CPU,包括单周期CPU、多周期CPU以及五级流水CPU。对于在数字逻辑实验中已经完成的功能部件实验,我们可以直接拿过来使用,避免重复设计过程。同时,对于实验平台,我们选择和数字逻辑实验统一的实验平台,就是利用硬件描述语言Verilog在Xilinx的Vivado软件中进行设计和仿真,通过Xilinx的FPGA开发板进行验证。选择统一的实验平台,可以避免学生再次进行实验平台的学习和熟悉,将更多的时间和精力用于CPU的设计。构建的计算机组成原理实验教学体系,计划安排8次,共计16学时,具体安排如表4所示。

受实际课时的限制,我们需要增加课程设计,可以安排在课程结束的小学期即第20周进行,利用为期一周的时间,完成五级流水MIPS CPU设计,考虑相关控制。课程设计要求学生两人一组,制定设计方案,提交设计报告,并通过PPT形式进行结题汇报。通过课程设计,培养学生的计算机系统能力,提高他们的团队合作意识。

表4计算机组成原理实验教学体系

4 结语

作为省属地方高校,以系统能力培养为导向积极探索教学改革,从课程体系建设、教学内容的组织、实验平台的统一、实验项目的规划等方面进行了一些探讨。计算机系统能力培养是一个长期的过程,路虽远,行则将至;事虽难,做则必成!教改之路还很长,教改后对教师的教学与实践能力要求更高,后期将通过培训、学习、交流、竞赛等多种方法进一步加强教师的教学水平,提升教学能力和科研能力。在课程体系建设方面,后期还要继续探索与微机原理与接口技术、操作系统、编译原理等核心课程的融合贯通,特别是实验方面的贯通,打通硬件和软件,培养学生的全局观、系统观,真正达到计算机系统能力培养的目标和要求。

猜你喜欢
计算机系统原理逻辑
刑事印证证明准确达成的逻辑反思
法律方法(2022年2期)2022-10-20 06:44:24
逻辑
创新的逻辑
了解咳嗽祛痰原理,有效维护健康
保健医苑(2020年1期)2020-07-27 01:58:18
IBM推出可与人类“辩论”的计算机系统
英语文摘(2019年3期)2019-04-25 06:05:32
平均场正倒向随机控制系统的最大值原理
女人买买买的神逻辑
37°女人(2017年11期)2017-11-14 20:27:40
化学反应原理全解读
通信原理教学改革探索
分布处理计算机系统研究