APP下载

“计算机组成原理”课程虚拟仿真实践教学研究

2018-10-26胡迪青谭志虎

电气电子教学学报 2018年4期
关键词:计算机组成原理课程设计实验

胡迪青, 谭志虎, 吴 非

(华中科技大学 计算机科学与技术学院, 湖北 武汉430074)

0 引言

“计算机组成原理”课程在计算机专业教学和计算机系统能力培养目标中起着重要的承上启下的作用[1]。其理论性强,概念抽象,学生学习困难,很难掌握其精髓,其教学目标的达成仅依靠理论教学是远远不够的,还必须打造对理论教学具有强支撑的实践教学环节[2]。在这个环节里要淡化以知识点验证为主的验证性实验,建立逐层递进、立足计算机系统、设计型实验为主导的实践教学体系,具体说来,要站在硬件工程师的视角,从门电路开始逐步设计运算部件,存储器、数据通路和控制器、流水控制逻辑直至完整的CPU来深入理解计算机系统。

1 课程实践教学现状

目前国内高校“计算机组成原理”实践教学主要有两种方式:

(1)传统实验箱形式。将分离器件通过导线连接构成小系统,通过拨动开关、观察信号灯检测验证系统功能。该方式让学生有直观的逻辑器件的概念,但实验系统可靠性极低,调试工作量大,实验不可抗力因素过多,学生挫败感严重;实验以验证为主,看似几百根导线完成的“复杂”系统,真正的设计内涵却十分简单,实验指导检查困难;实验耗损大,成本高,维护工作量大,场地要求高,实验箱更新换代缓慢,不能满足现代电子系统设计的要求[3]。

(2)FPGA开发板形式。采用硬件描述语言完成硬件设计仿真,在开发板上调试运行,实验以设计为主,真实的硬件设计方式有助于激发学生的学习兴趣,提高学生的硬件设计能力[2]。但其学习周期长,难度大,对师生技术水平要求较高;另一个比较严重的问题是硬件设计程序化,学生总感觉是在做编程实验而不是硬件设计,学生容易照搬软件编程思维,学生很难建立设计与底层电路的对应关系,数字电路设计方法无法延续到实验中,硬件设计体会不深[4]。

在计算机专业系统能力培养的框架下,实验箱方案逐渐衰落,国内外一流高校均已采用FPGA平台[5]。而后者要回避学习周期长的问题,须重构硬件系列课程群,统一实验平台,涉及多门课程的重新整合,改革阻力较大;为弥补两种方案之间的巨大差异,我们尝试引入Logisim虚拟仿真实验平台,为最终切换到FPGA平台进行平滑过渡,对现有实践方式进行必要的补充。

2 Logisim虚拟仿真平台

Logisim是一款针对CPU系统设计实验的数字电路仿真软件,适合设计和仿真数字逻辑电路,其特点是采用分离数字电路模块构建原理图的方式进行系统设计[6]。图1是采用Logisim平台利用原理图方式设计的五段流水MIPSCPU。这种设计方式延续了“数字逻辑”课程中数字电路设计方法,有利于培养学生硬件设计思维,回避了硬件描述语言过于抽象、硬件设计程序化的问题。该平台简单易学,易于调试、零实验成本,无场地和人员要求,易于构建复杂数字电路系统,方便进行灵活多变的设计型实验。目前全球已有几百所学校使用该平台,其中美国加州伯克利分校CS61C课程一直采用该平台,国内北航、国防科大也在使用该平台。

图1 Logisim平台设计的五段流水MIPSCPU

3 虚拟仿真实验设计

3.1 设计原则

Logisim虚拟仿真实验平台可有效回避传统实验的一些弊端,传统实验大多可无缝移植到该平台上,在进行虚拟仿真实验设计时,我们尝试遵循以下基本原则:

(1)理论实践一体化,实践内容紧扣教学重点难点,让枯燥的理论知识在实践中鲜活起来,构建教师与学生的共同语言,真正做到实践教学助力理论教学。

(2)实验目标系统化,注重系统能力的培养,将难度较高的五段流水CPU的系统能力培养目标分解为层次递进,由易到难的多个单元实验,在单元实验中构建功能部件,最终将各单元实验的多个成果集成为完整的CPU,在递进的学习过程中让学生养成系统观,努力使大部分学生达到较高的系统设计能力水准。

(3)课内课外协同化,通过构建丰富的验证型实验资源库,方便教师课内动态演示讲解以及学生课外复习验证。通过加大设计型实验工作量,促进课内实验与课外实验的有机结合。

(4)教师工作轻松化,硬件系列实验检查和指导难度大、强度高,通过实验输入输出界面规范化、测试用例标准化、性能指标数据化、实验测试评分自动化等一系列手段,大大提升实验的易检查性,降低教师工作强度。

3.2 验证实验资源库

验证实验资源库给出课程中一些常用且重要的数字电路在Logisim平台的具体实现,如数据表示中的海明码编解码电路和CRC编解码电路;数据运算中的全加器、快速加法器、乘法器、除法器的验证样例;存储系统中的存储芯片扩展;控制器中的时序产生器;输入输出系统中的中断屏蔽和中断优先级处理等[3]。

验证资源库的目的是加深课程理论知识点的理解,方便教学展示和学生课后验证,将教材上呆板的静态电路转换为动态可验证易理解的实例,促进课内课外教学的有机融合。

3.3 设计型实验设计

以“计算机组成原理”课程最核心的教学内容——CPU的设计与实现为顶层实验目标,将CPU设计总任务分解为若干功能部件设计实验(运算器、存储器、控制器),并最终在课程实验中集成为完整的可运行简单程序的MIPS单周期CPU,在课程实验基础上,进一步提升难度,要求学生在课程设计中最终完成中断机制、理想流水线,气泡式流水线,重定向流水线,动态分支预测流水线等高级功能。

1)运算器实验

本实验课内4学时,课外4学时,要求学生从门电路开始构建4位快速加法器,逐步构建16/32位加法器,最终构建可支持各种算术、逻辑运算的复杂功能运算器,要求设计运算溢出检测标志。

通过该实验,学生可熟悉Logisim的使用,掌握运算器的构建方法,加深对补码表示、补码运算的理解。扩展实验要求利用已封装的运算器完成等差数列累加求和的同步时序电路,让学生尽快建立运算通路、寄存器传输控制的概念。

2)存储器实验

本实验课内4学时,课外4学时,要求学生设计MIPS寄存器组,然后利用先导实验完成的运算器、寄存器组、RAM、计数器等模块构建自动运算时序电路,可完成RAM模块连续数据区间的累加,并将累加中间结果回存到同一RAM模块指定区域。扩展实验可要求学生设计既可以按字节访问也可以按字访问的存储器功能模块,为MIPSCPU中SB、SW指令打基础。

该实验重点考查存储器的读写时序控制,存储器扩展与控制,包含存储器、运算器、数据通路的综合设计实验,可加深学生对存储器的认知,并为后续数据通路、控制器设计打基础。

3)控制器实验

本实验课内4学时,课外8学时,要求学生利用先导实验完成的各功能模块构建数据通路,设计硬布线控制器,最终设计完成支持简单指令系统的MIPS单周期CPU,并能自动运行标准测试程序,作为扩展内容,指令系统学生可自行扩展,还可扩展中断机制。

控制器实验是前两次实验的综合,通过控制器实验学生应掌握MIPS单周期CPU设计的一般流程,加深CPU控制器的理解。

3.4 课程设计

在单元实验的基础上,课程设计要求学生挑战较高难度和更大工作量的MIPS五段流水CPU设计,最终达成系统能力培养的总目标[7]。所设计的CPU应支持一定规模的指令系统,学生从最简单的单周期CPU入手,逐步过渡到无冲突的理想流水线、气泡式流水线、数据重定向流水线、动态分支预测流水线、流水中断扩展,内容层次递进,难度递增,在Logisim平台上最终完成MIPS五段流水CPU。要求最终完成的CPU能正确运行标准测试用例程序,主要数据流和控制流通过LED、数码管等适时的进行显示。

为保障较高难度课程设计的完成度,必须对课程设计进行精细化的过程管理,严格学生的考勤纪律和学习制度,借鉴游戏闯关的设计理念,将课设总任务细分成若干可明确检查的阶段子任务(游戏关卡);难度逐渐递进,通过各阶段成果检查增强学习的及时反馈,提升学生学习兴趣(游戏趣味性);为学生提供丰富的测试用例以及自动检测工具,让学生的较短时间内体验更多的设计内容(游戏装备);将所有学生每天的学习进度及时汇总,促进竞争学习氛围的养成(游戏龙虎榜);线上线下充分互动,收集整理各种常见问题(游戏通关秘籍)以及采用团队合作以及天梯对抗机制让学生开展愉快的合作学习(战队游戏)。

4 实施效果

2015年起,我校计算机学院开始全面推广虚拟仿真实验,大部分学生第一次实验仍在传统实验箱上完成,对两种平台优缺点对比体会深刻,学生普遍认为Logisim平台完胜实验箱方式,实验效率高,事半功倍,内容紧扣课程。经过3年的不断探索和持续改进,基于Logisim虚拟仿真实验平台的“计算机组成原理”实践课程日趋完善,我们将课程单元实验中因学时原因未曾涉及的重难点如中断异常处理机制、相联存储器等实验引入到课程设计中,已有3届逾千名学生完成该课程设计,如图2所示:2017年最新的“计算机组成原理”课程设计要求已经由2015年的20条16位MIPS流水CPU变成了30条32位的MIPS流水CPU,并且新增加了中断处理机制以及流水线在FPGA开发板上实现的环节,在保证完成度的前提下,课程设计规模,设计难度均大幅提升。Logisim虚拟仿真实验平台实现了硬件设计与实现的分离,学生可以在仿真平台上将设计原理跑通后再在FPGA开发板上实现五段流水CPU,大大提升了设计效率,同时也为不愿意学习FPGA开发的同学提供了差异化的选择。

图2 组成原理虚拟仿真课程设计完成度对比

从多年的课程满意度调查数据看,“计算机组成原理”虚拟仿真实践教学基本达到了设计初衷,取了了不错的效果,并获得了同行的肯定,相比传统实验其具有如下优势:

(1)返璞归真,助力课程,学生普遍反馈这是大学阶段最紧扣教学内容的实验之一,有效提升了实验设计效率和设计规模,设计方法延续了数字逻辑的设计方法,帮助学生建立良好的硬件设计思维,可有效加深其对课程理论知识的理解。

(2)有助于系统能力培养,实验层次递进,难易递进,对学生必须达到的指定层次有明确要求,学生完成率高,成就感强,落实了本课程应承担的系统能力培养目标,有助于普惠教育的达成,符合未来计算机工程教育认证的要求。

(3)激发学习热情,助力创新,Logisim平台将学生从调试的泥潭解放出来,摆脱了实验箱器件数目的限制,可随意地构建复杂系统,大大激发了学生的学习热情和创新意识。

(4)充分解放教师、教辅人员,平台易学易用易调试,多数问题学生互相交流学习即可解决,一定程度上实现了课堂翻转;实验易检查易评判,无需复杂的转场,维修过程,大大减轻了教师和教辅人员的工作强度和工作压力。

5 结语

Logisim虚拟仿真实验平台简单易用,学习周期短,可有效延续数字逻辑课程硬件设计的方法,让学生将更多的精力集中在对课程知识的理解和运用上,真正助力课堂理论教学。基于该平台开发的一系列课程虚拟仿真实验以及课程设计实验难度适当,内容递进,学生成就感强,验收容易,有助于学生计算机系统能力的养成,相关成果已在本院进行了三年的应用和推广,并在2017第三届全国高校计算机系统能力培养高峰论坛做大会报告,获同行一致好评,并在湖北省内进行了专题师资培训,共培训省内外高校教师60余人,为兄弟院校同类课程实验的开设提供了借鉴思路。

猜你喜欢

计算机组成原理课程设计实验
记一次有趣的实验
龙凤元素系列课程设计
做个怪怪长实验
中秋明月
《计算机组成原理》综合教学辅助平台的设计与实现
面向计算机系统能力培养的计算机组成原理实验教学
NO与NO2相互转化实验的改进
用“工程思维”引领《计算机组成原理》课程教学
实践十号上的19项实验
《计算机组成原理》课程建设的改革与探索