国产化背景下的计算机组成原理教学改革
2023-07-16王海瑞潘晟旻孟顺建
王海瑞,潘晟旻,李 亚,吴 蕾,孟顺建
(1.昆明理工大学 信息工程与自动化学院;2.昆明理工大学 计算中心,云南 昆明 650500)
0 引言
计算机组成原理是计算机专业的学科基础课,它是计算机操作系统、计算机系统结构等课程的先导课程,同时也是数字逻辑的后续课程,与多门计算机课程有着紧密联系,有助于培养学生解决复杂工程问题的能力。它在计算机类课程中处于承上启下、合纵连横的关键位置,为构建计算机科学与技术专业知识框架提供基础支撑[1]。
目前,我国应用软件、工具软件、电脑终端、安全产品等国产化率较高,而芯片级基础硬件、指令系统、操作系统、数据库、虚拟化软件等仍然主要依赖国外进口,严重限制了基础技术上的自主知识产权拥有。总之,我国关键核心技术仍然受制于人,国产软硬件的兼容性、可替代性、稳定性及系统性仍待提高,国产化替代形势严峻[2]。因此,必须实施国产化替代战略,加强核心技术创新,推动关键领域自主可控,真正解决国家信息安全领域的核心问题。
高校承担着为国家培养优秀人才的义务,在国产化替代进程中起着至关重要的作用[3]。因此,高校要根据国产化替代的需求进行必要的教学改革,努力为国家培养创新型和专业型人才。然而,经过广泛调研发现:多年来,我国大部分高校计算机组成原理课程的教学内容都没有太大的变化和调整;没有对课程进行定位,特别是在硬件基础设计、指令集设计等内容上,没有突出自主知识产权的要求;讲解国外相关内容,没有突出国产化替代需求的CPU五大部件相关设计和指令集设计的重要性。因此,依据国家国产化替代的国家战略要求,结合笔者近30多年的计算机组成原理教学经验,探讨将国产化替代需求的内容融合到计算机组成原理课程理论教学和实验教学中。调整、优化、合并重点教学内容以适应课程理论学时减少对课程造成的影响,进而提升课程教学质量,为国产化替代储备专业型和创新型人才。
1 相关研究
近年来,许多学者从不同层面、不同角度进行了计算机组成原理课程的教学改革探索。例如,文献[1]基于CDIO教学理念,以构建系统观、培养系统设计能力为教学改革目标,对计算机组成原理课程的教学内容、实验、教学模式等进行改革。文献[4]将凝练问题、分析问题、解决问题的线索贯穿学习全过程,提出基于问题驱动法的计算机组成原理教学模式。文献[5]提出构建OBE理念下“以学生为中心”的互动课堂,通过调整教学设计,实现学生学习成果的最大化。文献[6]针对计算机组成原理课程教学要解决的重要问题,提出线上与线下实践相结合的教学设计与案例实践。文献[7]结合计算机组成原理教学内容深入挖掘和整合课程思政元素,做到点、线、面三重机构有机结合,使专业知识和思政教育同向同行,实现立德树人的根本目标。文献[8]针对计算机组成原理实验教学存在的一些问题,提出基于虚拟仿真与混合式教学模式的计算机组成原理实验教学改革。文献[9]探讨了如何在计算机组成原理课程中融入思想政治教育,并介绍了预期的成效、课程思政实施的实践及特色,最后指出课程思政持续改进的方向。文献[10]结合网络慕课资源,对计算机组成原理课程实验教学作出一系列改革。文献[11]针对现有计算机组成原理实验教学中存在的问题,引入Logisim平台以开展实验教学。文献[12]通过分析操作系统国产化在行业、教育、技术生态等方面存在的问题和特点,针对操作系统人才培养的不足,提出以思政教育培养学生价值观,并多维度、多要素提升创新人才培养质量。
目前,关于计算机组成原理的教学改革主要集中在挖掘思政元素、教学设计及实践探索上,鲜有针对国产化替代的国家战略需求进行教学改革。本文的创新之处在于针对国产化背景下计算机组成原理课程建设和改革需求,提出如何将国产化内容增加到课程教学中,并随着计算机技术的发展增减相应的教学内容,从而进一步提升课程教学质量,为国家培养专业型人才,推进关键核心技术的国产化替代进程。
2 目前教学内容中存在的问题
计算机组成原理课程主要涉及数值表示方式、运算器、存储器、控制器的逻辑设计、输入和输出设备的工作方式等内容。
2.1 缺乏前导课程数字逻辑部分内容
由于当前课程调整,基本没有对前导课程数字逻辑进行讲授,学生缺乏对逻辑组合电路和时序电路工作原理的理解,从而对数据寄存器、移位器的工作方式,以及运算器、控制器、存储器的工作方式和原理很难掌握,对教学效果达成造成了较大障碍。例如,学生很难理解和掌握组合电路的全加器构成和补码乘除法中应用到的移位加数、时序电路中如何利用D型触发器构成寄存器等内容。
2.2 不满足国产化替代要求
计算机组成原理教材内容中的技术基本都是国外技术,缺乏国内具有自主知识产权的技术介绍。并且,教师在教学过程中不能很好地引入国产化替代的相关内容,无法为国产化替代服务。
在指令系统教学中,很多教材仍然用很老的机器作为例子,比如PDP-11等,而对目前市场上普遍应用的ARM架构和X86以及MIPS指令集却缺乏介绍。目前,随着智能手机的推广应用,ARM应用迅速普及,特别是国产芯片大部分以ARM和X86为指令集,而教材内容却与实际应用存在一定差距,不利于学生的学以致用。当前课程体系仍然开设汇编语言课程,各学校开设的课程内容不一致,有的开设8086汇编语言,有的开设8051、8096单片机语言,对于目前常用的ARM系统开设较少。这些课程内容有很大一部分是属于计算机组成原理课程的指令系统相关内容,内容重复较多。对于输入输出部分,很多技术已经淘汰,比如CRT显示器、软盘等内容,但仍然出现在教学内容中,而新式的触摸屏、LCD等内容涉及很少,新式的输入输出技术介绍不足。
综合而言,目前计算机组成原理课程教学内容较为陈旧,其中不乏已经淘汰的技术,而国内具有自主知识产权的新型技术在课程中体现较少,思政要素尚未融入课程。
3 改革对策
3.1 教学内容
笔者一直在大学从事计算机组成原理课程教学工作,每年参加学习的学生人数在120人左右,牵头的计算机组成原理课程组自主编制了《计算机组成原理》教材,由清华大学出版社出版。在内容上,增加了“数字逻辑”的4部分内容,分别是数据的表示方式、逻辑代数、组合逻辑设计、触发器、同步时序电路和异步时序电路等内容,将原组成原理的指令集调整为ARM指令集,重点通过前导课程X86汇编语言和ARM进行对比讲解,使学生能准确把握CISC和RISC的特点、使用范围等,能理解国产化替代的深远意义。在总线内容,增加讲解USB、Fine Lighting、Type-c等新型外部总线的特点和应用场景,将知识应用到学生的日常生活中。在外部存储器的讲解中,删除软盘等内容,增加Solid State Disk(SSD)的特点和应用场景等,使学生能明确手机的存储特性。具体改革对策包括如下方面:
3.1.1 数字逻辑
数字逻辑部分的内容与计算机底层实现密切相关[13],是理解运算器、存储器、控制器等计算机基本部件工作原理的基础。教师在上课时,重点讲解计算机中数据的表示与运算,即原、反、补码及其四则运算,并在其中穿插二进制与易经的关系,增强学生的文化自信和民族自信。
着重讲解逻辑代数,并使用摩根定律和卡诺图等知识简化电路,以此实现编码器、译码器、计数器[14]等基本逻辑部件的功能,再通过触发器、同步异步时序电路的学习,让学生更加深入地掌握计算机的存储原理和控制逻辑。
数字逻辑既连接了计算机的底层实现,又抽象了底层物理部件,是理解计算机组成原理的基石。计算机的组成与实现都很复杂,但复杂的实现中隐含着简单的原理,如计算机中的算术与逻辑运算都是通过高低电平结合二进制实现,其原理与中国伏羲八卦相契合;中断、指令流水线与生活中的排队、插队现象息息相关,从细微处入手,在课程中融入以培养学生的洞察力和科学思维等。在国产化大背景下,与数字逻辑电路相关的产业——集成电路也得到了快速发展,其产业链覆盖芯片设计、晶圆制造、封装和测试等方面。截至2020年,中国的芯片设计规模占比排名第一,为42.70%,国微集团也正全力打造国内芯片设计全流程数字EDA平台。因此,数字逻辑的实验设计紧跟国产化步伐,采用国微、立创、华大九天等EDA公司的设计平台,将数字逻辑实验融入国产化进程中。
3.1.2 原计算机组成原理课程内容
随着技术的换代更新,原计算机组成原理课程中的很多内容已经过时,需要适当作出调整。而如何将国产化的内容增加到课程教学实验中,以及随着计算机技术的发展增减相应的教学内容,是目前计算机组成原理课程教学改革面临的首要任务。
在指令系统方面,由原来的X86指令集调整为ARM指令集,ARM指令集属于精简指令集(RISC),属于load/store型指令集结构[15]。选择ARM指令集作为目前计算机组成原理课程的指令系统教学内容,主要有以下方面的原因:ARM指令集属于RISC,RISC体积小、功耗低、成本低、性能高,并且被广泛应用于嵌入式系统,如Android手机等。
X86汇编语言是计算机组成原理课程的前导课程,X86属于复杂指令集(CISC),RISC和CISC是当前CPU的两种不同的架构。这里改变策略引入ARM精简指令集是为了和Intel的X86指令集作对比讲解,同时ARM和Intel也是全球芯片企业的巨头,掌握着巨量资源,且技术对外封锁,制约着我国多方面的技术发展。为了打破这种处处受制于人的局面,学习商业巨头的核心技术,服务于国产化的进程尤为必要。师夷长技以制夷,只有充分学习别人的优势技术,并转换为自己的东西,才能真正实现国产化替代。
目前,国产自研的大部分指令集,如申威的SW64、龙芯的LoongArch等都是属于RISC[16],通过对ARM指令集原理与核心技术的介绍,让学生从底层逻辑去理解指令系统,然后再结合申威、龙芯等我国自主研发的指令系统,全面对比讲解精简指令集,培养一批能解决我国芯片“卡脖子”问题的高技术、创新型的后备储备人才。
此外,在存储系统方面,增加固态硬盘等内容,并介绍宏基SSD、致态SSD、芯佰微电子USB等国产产品技术的发展及趋势,让学生认识到国产化替代方案的可行性。在输入输出系统方面,增加目前新式输入输出设备的功能介绍及其与CPU的连接方式,如分布式I/O系统、基于交换结构的I/O系统等。
上述对计算机组成原理课程的调整上,删减了陈旧、过时的内容,增加了新的技术和产物,同时也融入了一些国产化的内容,使得该课程既能顺应时代发展,又能服务于国产化替代进程,真正做到产、研、学三合一。
3.2 教学模式与教学方法
计算机组成原理课程的特点是综合、抽象、理论性强。传统的教学模式是理论结合实验教学,以理论教学为主,实验教学为辅,枯燥无味,导致学生积极性不高。因此,适当地调整教学模式和改进教学方法非常必要。结合笔者实践教学经验提出如下改进建议:
(1)充分利用多媒体教学工具完善教学。计算机组成原理课程中涉及很多抽象的逻辑过程,单靠静态的图片和文字难以帮助学生理解和掌握。因此,教师可以利用多媒体工具、虚拟现实技术等现代化教学工具,结合多媒体、板书讲解等,帮助学生掌握抽象的工作原理和逻辑过程,提升学生学习兴趣,使教学变得深入浅出。如在对微程序控制器的工作原理进行讲解时,采用PPT动画方式,直观地呈现出基于时序的计算机指令执行和控制过程,使抽象的概念变得通俗易懂。
(2)采用线上+线下相结合的混合式教学[17],充分发挥学生的主观能动性。在当今网络高速发展和信息资源共享的背景下,智能设备在混合式教学中起着至关重要的作用,依托丰富的线上教学资源,再加上线下讲解,可以达到更好的教学效果。线上学习的主要目的是提前自主预习课程内容和巩固课程知识,教师可以充分利用优质MOOC资源,引领学生有计划、有选择地完成课前学习任务,自主掌握一些较简单的基础知识;再针对课程内容中的重难点,如定点加法、乘除法、微程序控制器工作原理、典型指令系统设计等,教师可以有针对性地录制微课,帮助学生更好地建立起整机概念。在此基础上,教师在课堂上进行知识点的系统讲解,为学生搭建好知识体系框架。例如,对于运算器部分,教师主要讲解数的表示,浮点数的运算,补码的加减法运算,原码、补码的定点乘除法运算,加法器、减法器的逻辑功能和74LS181的工作原理,并就运算器章节建立一个完整的模块知识体系,方便学生理解运算器所包含的技术点。对于一些拓展知识如补码两位乘、阵列乘法器、原码两位除、阵列除法器等知识需要学生自己在线学习补充,完善知识体系。
(3)根据教学内容灵活调整教学方法。教学应从“以教师、课堂为中心”转变为“以学生为主体”,根据学生个性特点及教学内容的不同,有针对性地灵活应用教学方法,引导学生主动参与学习,激发学生的探究兴趣,增强学生的创新和实践能力。教师可采用任务驱动法、小组合作法、启发式教学、讨论式教学等多种教学方法开展教学,帮助学生加深对所学知识的理解,调动他们讨论交流的积极性,并培养其协作能力与实践能力。
(4)关注课程内容衔接,帮助学生建立整机概念[18]。针对课程特点,分模块依次展开教学。教师在教学中应注重知识的关联性和系统性,依据课程教学目标制定教学计划、教学重难点,使课程内容起到承上启下的作用。如可以在讲解运算器之前,先介绍数字电路相关知识点,为学生阐明二者之间的承接关系。教师在帮助学生熟悉计算机组成原理基本概念的基础上,掌握计算机的工作过程及各部分之间的联系,明确数据流和控制流在机内的流动,从而建立起整机概念,为今后课程学习打下基础。
3.3 教材选择与编写
计算机组成原理教材有很多种,总体而言有三大类,即国家规划类教材、非国家规划类教材、引进教材,这三类教材各有优缺点。但目前教材选择应立足于满足《计算机核心课程规范》系列团体标准深度相符的教学内容,紧跟《国家中长期科学和技术发展规划纲要(2006-2020年)》,在美国蛮横“卡脖子”的压迫之下,中国2020年开始实质推进国产化替代。现阶段,CPU、操作系统和数据库等核心基础设施需要加速替代,国家相关部门也给出了时间表。相比之下,应用层的紧迫度不高,国产化替代的传导效应相对滞后。但箭在弦上,不得不发,也给我国软件企业提供了发展契机。首先要解决“无芯”的问题,这就要从教学理论开始,突出中国智慧,用教学理论去教育学生,从基础做起,保证我们国产化后,有理论、有技术、有人才。国家规划类教材虽然教学内容丰富,但无法满足国产化替代的要求,需要不断加以完善。非国家规划类教材多数属于各学校任课教师根据自己的教学特点和课程体系编写的教材,在内容上就无法满足《计算机核心课程规范》系列团体标准和计算机专业工程认证的实际要求。引进教材虽然在教学内容上不断更新,但不能体现我国自主知识的优势以及思政的融入。总之,这3类教材都不适合目前计算机组成原理的教学要求,应结合当前国家要求和计算机核心课程规范要求,对计算机组成原理课程教材内容进行再次组织编写。
3.4 教学实验改革
在教材建设的同时,同步改进实验教学内容,以问题为导向,注重国产化内容在实验中的体现,引导学生采用自底向上和自顶向下相结合的方法设计和建构模型,培养学生树立从理论到实践完成计算机系统的信心,从而训练学生工程设计和自主创新的能力。笔者在注重国产化内容的同时,增加数字逻辑电路实验,并引入虚拟仿真设计实验,各部分实验相辅相成、层层递进,逐步培养学生运用计算机组成原理知识实现综合设计能力,阶段性实验流程如图1所示。
Fig.1 Flow of phased experiments图1 阶段性实验流程
4 教学改革实践效果
4.1 教改成效
昆明理工大学的教学改革实践表明,将国产化内容融入计算机组成原理课程教学改革效果明显。①有效加深学生对计算机组成原理课程中数字逻辑电路相关内容的理解和把握,帮助学生形成对计算机硬件及其组织结构的认识,建立整机概念;②在教学中引入思政元素,结合时代发展调整课程教学内容,着重讲解国产化软硬件知识,增强学生“四个自信”,培养学生爱国情怀;③采用“线上自主学习+线下深入研讨”的混合式教学模式,能够更好地培养学生自主解决问题的能力,再结合任务驱动式教学方法,让学生带着问题和任务去学习,可以更好地激发学生的学习兴趣,加深其对理论知识的理解;④引入虚拟仿真试验,对传统实验内容进行扩展,增加一些综合型和设计型实验,有效提高实验教学效率,使学生不仅明白计算机硬件系统各组成部分的逻辑实现以及互联成整机的技术,而且牢固树立自主创新计算机系统的整机理念。
4.2 存在的问题及思考
虽然对课堂教学内容进行了更新,但由于计算机组成原理课程具有工程性、抽象性、实践性较强的特点,学生对该课程的学习兴趣、重视度依然不够高。通过与学生交流、座谈发现,主要原因在于:后续课程与该课程关联度不大,学生将来从事的职业与该课程无关。这从侧面反映出学生将来深造和就业从事硬件设计的工作相对较少,也反映出关键技术国产化替代势在必行,必须提高学生对该课程的重视度及参与度。例如:如建立硬件课程群,合理优化各课程教学内容,加强教学团队、教学梯度建设;推动高校计算机国产化课程建设及改革,加强核心技术人才培养;进一步优化产、学、研合作,整合产业链上下游资源,共同设立产业技术创新联盟。
5 结语
本文通过分析当前计算机组成原理教学存在的不足,结合当前技术发展和国产化替代需求提出了几点可行性建议,以期对国产化背景下的计算机组成原理课程建设提供参考。在昆明理工大学进行教学改革实践,从总体上看,计算机组成原理课程教学改革效果明显,但仍存在待完善之处。例如:课程内容与实际应用的关联度还有待加强、学生的主观能动性还有待提高、针对国产化需求的“计算机组成原理”教材建设亟待解决等。因此,下一步工作将结合国产化替代需求,深入研究计算机组成原理课程教材建设与改革。