计算机工程专业方向系统设计能力培养体系研究
2015-06-23张钢郭炜车明魏继增李雪威
张钢 郭炜 车明 魏继增 李雪威
摘要:设计计算机系统的能力已经成为衡量计算机工程专业方向本科学生能力的重要指标,但是培养学生的计算机系统设计能力并不容易。文章提出借鉴CDIO的思想,以硬件描述语言为设计工具、以FPGA为系统实现手段,将系统设计思想和设计实践贯穿整个计算机工程专业方向人才培养过程。
关键词:计算机工程;系统设计能力;教学改革;实践教学
1.背景
对计算机工程专业方向的本科学生来说,设计处理器是一个特殊而重要的经历,是计算机系统设计能力培养不可或缺的重要环节。设计CPU、设计计算机系统的能力已经成为衡量计算机工程专业方向本科学生能力的重要指标。
当计算机系统相对简单、可以用分立元件或小规模集成电路实现时,通过设计并实现一个计算机系统,可以培养学生的计算机系统设计能力。随着集成电路技术的发展,微处理器系统快速发展,特别是多核技术、嵌入式系统等领域的发展使计算机系统越来越复杂,对大规模和超大规模集成电路的依赖越来越大。由于一般的大学实验室缺少硬件条件,对大学本科学生来说,设计和实现一个较复杂的计算机系统变得遥不可及。
集成电路技术的发展也使FPGA技术日趋成熟,为芯片的设计和实现创造了条件,复杂的大规模集成电路不仅不再是培养学生计算机系统设计能力的障碍,而且已经成为培养计算机系统设计能力的重要手段。
目前,该方向比较显著的问题是学生学习了一系列课程后仍然缺乏基本的系统概念以及利用这些概念进行计算机系统设计的能力,主要原因是缺少将零散知识融会贯通的课程和相应的实践环节,影响了学生深入理解计算机系统设计思想并提高系统设计能力。
2.研究思路与目标
集成电路技术的发展,使集成电路和处理器的关系密不可分。随着多核技术的出现,处理器已经变成构成系统级芯片(SoC)的基本单元,因此,从集成电路的功能级设计层面讲,计算机系统设计实现采用的方法就是大规模集成电路(VLSI)系统的设计方法。
从卓越人才培养的角度,VLSI系统设计是微处理器的逻辑实现手段,而数字逻辑是计算机组成的物理实现基础。学生的数字逻辑系统设计能力和VLSI系统设计能力直接决定了其计算机系统设计能力。因此提升学生计算机系统设计能力的关键是提升学生的数字逻辑系统设计能力和VLSI系统设计能力。
为了切实提高计算机工程专业方向本科学生的计算机系统设计能力,教学改革研究工作的目标确定为:以数字逻辑设计方法为设计基础、以硬件描述语言为设计工具、以硬件仿真系统为设计环境、以FPGA为系统实现手段、以计算机系统设计实现为目标和主线,将计算机系统设计实践完整地贯穿于专业核心课程之中;教学改革研究思路确定为:系统视角、整体优先、设计牵引、讲做结合、注重能力。该研究思路不同于一般的课程群,不是简单的知识点的审视,是“自顶向下”的观点和“自底向上”的实现的一种结合方法,最终目标是提升计算机工程专业方向本科学生的计算机系统设计能力。
3.研究内容
计算机工程专业方向的主干课程包括数字逻辑、计算机组成原理、汇编语言、计算机系统结构、嵌入式系统、计算机设计与调试、计算机系统设计、VLSI系统设计等。课程各有目标,课程之间有宏观上的先后顺序,有微观上的相互穿插,有内容上的重叠。经过近几年的教学研究和改革,各门课程都发生了非常大的变化:VLSI课程中会涉及算术逻辑单元的设计甚至处理器设计方面的内容;汇编语言的作用已经从编程工具转变为描述和理解计算机系统工作原理的有效工具;HDL语言和仿真工具不再专属于数字逻辑电路设计领域,已经成为计算机系统设计的通用语言和工具。但是,由于总目标不明确,导致课程分头讲,实验分头做,总体学时不少,最终效果欠佳。
笔者的主要研究内容以计算机系统设计为目标,从能力培养的视角看待和理解数字逻辑、计算机组成原理、汇编语言、计算机系统结构、嵌入式系统、计算机设计与调试、VLSI、计算机系统设计等课程,借鉴CDIO的思想,将系统设计思想和设计实践贯穿整个计算机工程专业方向人才培养过程。
3.1重新审视和修订教学计划
在研究过程中,我们首先整理涉及的各门课程的全部知识点,对相互影响的重要知识点整体排序,整合相近和相似的知识点,归并出一些重要的专题,提出有利于培养计算机系统设计能力的完整实践教学体系,全线引入HDL语言,全线引入基于FPGA开发板的设计实验,紧密配合理论课、设计方法课、实践课,形成“学习-构思-设计-实现”的完整过程。
3.2数字逻辑电路设计课程内容的改革
数字逻辑电路设计课程改革的研究重点是设法强化和提升学生使用硬件描述语言说明硬件系统的能力,将硬件设计语言的介绍提前到课程的开始部分,使学生在学习数字逻辑电路设计过程中就开始使用硬件设计语言,相当于使学生掌握了一个设计工具,为计算机组成原理课程和计算机系统结构课程提供支持,另外,从教学上形成学习数字逻辑电路设计就是学习集成电路设计的理念。数字逻辑电路设计课程的实验既有使用逻辑电路器件搭建实验电路的传统型实验,又有使用FPGA开发板的设计实验。
3.3计算机组成原理课程的教学改革
计算机组成原理课程借鉴“深入理解计算机系统”教材中的思想,调整了部分课程内容和授课重点,比如,在数据表示部分增加了C语言的整数表示以及比较运算的示例,在存储器部分增加了程序访问局部性原理的C语言示例,在指令系统部分增加了寻址方式的C语言示例等。增加C语言的示例是进行教学视角调整的一种尝试,由于学生已经学习过C语言,已经初步掌握了编程方法,但是并不清楚程序在计算机内部,特别是在计算机系统底层硬件中是如何表示、如何执行的。通过在计算机组成原理课程中增加一些C语言的示例,让学生真正理解程序的执行过程。
3.4计算机系统结构课程内容的调整
计算机系统结构课程在课程内容方面进行了一些调整,主要为了更好地与计算机组成原理和计算机设计与调试等课程衔接。增加多核处理器和多线程调度等方面的内容;对教材中给出的一些具体处理器实例给予更多关注,比如Pentium、PowerPC和MIPS处理器实例等;重视向量运算和向量处理器部分的内容。
3.5计算机设计与调试课程实践教学改革
计算机设计与调试课程把以往让学生设计实现一个有十几条基本指令的微程序控制器改变为设计实现向量协处理器;以PowerPC RISC处理器的指令系统为参考,把设计PowerPC扩展指令协处理器AltiVec模块中的VSFX指令部分作为教学内容。整个设计任务分为8个相互联系、难度逐步增加的子任务,通过教师引导、分组讨论、学生实践、实现设计、完成测试等一系列教学环节,让学生完成协处理器中的部分设计工作并熟悉完整的协处理器的设计与调试方法。
3.6嵌入式系统设计课程实践教学改革
嵌入式系统设计课程开发出嵌入式系统计算机结构及相关软件的综合实验,使硬件与软件相结合,强化对学生计算机综合开发应用能力的培养,提高学生的实践能力。综合实验要求学生完成一个嵌入式系统开发实现的全过程,包括完成硬件、软件的功能分配,进行主控数字系统硬件的设计和制作,设计驱动和功能软件,硬件、软件的分别测试与综合测试等。
3.7VSLI系统设计课程实践教学改革
VSLI系统设计课程的实践教学改革,把实践分为3种类型:课程实验、自主实验和课程设计,3种类型的实验全部基于Nexys3 FPGA开发板进行设计。课程实验包括Xifinx FPGA设计流程、Nexys3 FPGA开发板主要模块接口设计和基于IP的数字电路设计等。自主实验部分的题目类型包括:串一并转换电路、FIFO存储器设计、大数加法器设计和HR数字滤波器设计等。课程设计部分的题目类型包括密码协处理器设计、数字信号协处理器设计和图像处理协处理器设计等。
4.实验室建设
天津大学计算机科学与技术学院2006年建立了数字逻辑电路设计实验室、计算机组成实验室、计算机系统结构实验室、嵌入式系统实验室,建立了超大规模集成电路设计与应用研究所。实验室配备了数字逻辑实验台、计算机组成原理实验台、计算机系统结构实验台(带有FPGA模块)、嵌入式系统设计实验台等教学实验设备。这些实验室和实验设备能够满足常规的计算机系统实验,但对计算机系统设计能力培养的支持还不够。为此,学院2013年与美国Xilinx公司合作,建立了天津大学一美国Xilinx公司计算机系统设计联合实验室,实验室配备了50多块Nexys3 FPGA开发板,实验时可以满足每人一块开发板的要求。
超大规模集成电路设计与应用研究所于2012年引进BEECube公司先进的BEE3系统,该系统基于计算机系统的第三代商用FPGA系统,包括4个Virtex 5 FXT FPGA芯片,以及高达64GB的DDR2 ECC DRAM和8个用于模块间通信的10GigE接口。
有了Nexys3 FPGA开发板和BEE3系统,我们具备了实现学生设计的各种计算机系统的设备平台,为培养学生计算机系统设计能力提供了强有力的支撑。
5.结语
经过两年多的教学改革与实践,在新的教学改革思路指引下,学院调整了教学计划和课程内容,建设了新的实验室,引入了新的实践手段和方法,教学研究和改革实践工作取得了初步成效。“计算机学院教学管理过程化规范化改革”和“嵌入式系统设计课程实践教学改革”两项教学研究成果获得2013年天津大学教学成果二等奖。
(编辑:孙怡铭)