应用EDA技术改革“计算机组成原理”课程设计
2009-11-02张亮
张 亮
摘要:本文研究分析了国内“计算机组成原理课程设计”相关课程的开设情况,提出应用EDA技术,从实验教学体系改革、实验教学软硬件设备及教材的建设、实验教学内容的设计、实验教学的组织方式等几个方面实施改革的设想,并介绍了实施效果和实施过程中亟待改进的问题。
关键词:计算机组成原理;EDA技术;课程设计
中图分类号:G642 文献标识码:B
1背景
“计算机组成原理课程设计”是计算机科学与技术专业本科教学阶段的核心专业基础课程“计算机组成原理”的重要实践教学环节。其先修课有“数字逻辑”及其实验,其后继课程有“计算机体系结构”,“编译技术”,“接口与通讯技术”等。
本课程起着承上启下的重要作用,通过本课程的各项实验,使同学进一步掌握计算机各部件的基本原理和结构,掌握计算机各部件的基本设计方法和实验方法,帮助同学建立计算机时间—空间的整体概念,巩固课堂知识,初步培养学生的实验操作能力和分析解决问题能力。
但是以前的教学实践中在CPU硬件设计这一重要内容方面存在不足。CPU、DSP处理器乃至计算机系统的设计技术及相关课程随着新技术的发展应该成为计算机科学与技术专业中重要的组成部分,计算机专业对于软硬件综合设计人才的培养是责无旁贷的,也是本专业的特色与亮点。作为计算机专业的人员,如果只会使用计算机而不会设计CPU 和计算机,那么和其他专业比较就没有优势,不符合计算机专业的办学宗旨而缺失市场竞争性。
调研表明,国内大多高校仅将“计算机组成原理”定位为“计算机科学导论”和计算机模型认知的层面上;而在实验与实践方面,“计算机组成原理”的实验则主要是在一些由分离元件构成的实验平台上,完成简单模型CPU的验证性实验,基本谈不上设计。这显然难以满足教育部在《关于加强高等学校本科教学工作,提高教学质量的若干意见》中关于“高等学校要重视本科教学的实验环节,保证实验课的开出率达到本科教学合格评估标准,并开出一批新的综合性、设计性实验”的要求。
随着科学技术的发展,核心技术已经愈来愈集中在集成电路芯片和软件这两项之中,其中CPU 和OS设计技术是最核心的两项技术,特别是高性能计算机技术一直是衡量国家实力的一个重要标志。美国、日本和西欧等国都作为一种国家行为,不断加大这方面的资助力度。美国的许多高校本科计算机专业中也都安排了CPU 设计方面的课程和实验内容,例如麻省理工学院的一门相关课程是“计算机系统设计”。学生在实验课中,须自主完成(即自行设计)ALU、单指令周期CPU、多指令周期CPU,乃至实现流水线32位MIPS CPU和Cache的设计。斯坦福大学计算机系的本科生也有相似的课程和实验,即“计算机组成与设计”课,实验要求学生以各自独立的形式,用VHDL语言自主实现CPU、VGA显示控制模块等接口,并最后实现于FPGA中,及完成软硬件调试。此外,如加利福尼亚大学和伯克利大学等学校在基于FPGA 的超级计算机研制方面都实现了大量成果。因此我们有必要向国外的先进教学实践学习,应用EDA技术改革“计算机组成原理”课程的实践教学环节。
2改革目标
基于以上问题的考虑,学院计算机体系结构教学组经过调查研究,深入讨论,决定改变基于小型模拟计算机系统的实验教学模式,采用基于硬件描述语言方式,通过让学生实际进行计算机各个组成部件的设计方式进行实验教学,以提高实验教学水平。
为了更好地贯彻学院的本科教学培养计划,培养出基础知识扎实,具有创新意识,善于自主学习,实践能力较强的计算机高级专门人才,我们提出了“计算机组成原理”实验教学环节的下列改革目标。
2.1与基于EDA的现代工程设计接轨
首先,在“计算机组成原理课程设计”中增加向工程实际转化的符合现代计算机系统工程设计规范的硬件设计内容。在传统的实验模式中虽也有“设计”内容,但主要是根据不同实验系统各自规定的方法,用既定的分离元件和接口器件进行拼装搭接而成,学生无法从这样的“设计”过程中了解真实的现代实用CPU基本设计技术。
其次,使学生在了解计算机组成原理和软件设计技术的同时,学会计算机硬件设计技术。计算机的软硬件设计技能是一个合格的计算机专业学生本应具备的基本知识,离开了硬件设计,自主创新能力的培养便无从谈起。以前不少计算机专业学生只将注意力和兴趣集中在各种编程环境、开发工具、数据库、计算机网络的技术上面,对于硬件技术的学习和应用研究不感兴趣或忘而生畏,培养学生掌握计算机硬件设计技术,能从根本上解决这个问题。
2.2培养创造能力
从创造能力培养的角度看,软件设计人员只须拥有逻辑上的单向一维思维能力就能保证软件设计的成功,即过量单纯的软件设计,不断强化设计者纯逻辑性思维和收敛性思维。显然,这与培养植根于多维多向的发散性思维方式和非逻辑思维方式的创造能力是相违背的。因此,多数纯软件设计训练只能归类为技能性和知识性训练。
硬件系统设计则不同。首先,硬件系统可以有许多相关或互为独立的模块组成,相关模块的关系可以是同步,也可以是异步。其次,硬件系统设计本身并不能离开软件设计,因此硬件系统的构建是一个软硬综合的并发系统,设计和把握它自然必须拥有并发和多维的思想方法。例如在时序问题和竞争冒险问题的解决上有时还可能用上非逻辑思维方法。而Verilog HDL语言正是描述和设计硬件系统的计算机语言,它的语句都是并发的,甚至包括进程中的顺序语句。基于EDA技术和Verilog的计算机设计训练无疑十分有利于强化发散性思维和自主创新能力的培养。
3实施方案
3.1实验教学体系的改革
计算机专业的硬件基础实验课多年来一直采用传统的芯片搭电路的方法,此方法过于陈旧,限制了学生能动性的发挥。在实验教学中引入现代EDA技术是必然趋势。
在计算机组成原理实验中我们引入该技术,采用先进的虚拟设计及仿真软件工具quartusII,结合GW48_SOPC实验箱,可以设计、仿真与硬件下载验证计算机的各功能部件。
3.2实验教学软硬件设备及教材的建设
EDA技术的发展已从根本上改变了传统电子系统的设计与开发模式,我们必须适应这一趋势。为此,在学院的大力支持下,我们建设了一个可以容纳65人的计算机组成原理专用实验室,新购置了65台高性能的PC机及终端桌椅。另外,学院还将采购65台新型的基于FPGA芯片和EDA环境进行实验的计算机组成原理实验台,该平台已被国内数十所大学采用。学院的EDA课程实验即采用类似平台,两年多的运行证明性能良好。在实验软件工具方面,我们紧跟国际步伐,引入了高级的虚拟设计与仿真软件工具quartusII。
在教材的建设方面,我们经过两年的教学实践,在实验项目方面有了一定的积累,但距离改革目标还有很大的距离。为了促进教学改革的进一步深入开展,我们将在原有实验指导手册的基础上,增加新的实验项目,并系统整理与实验内容相关的硬件描述语言Verilog HDL,quartusII使用手册及实验台技术手册。在此工作的基础上,将形成“计算机组成原理课程设计”正式出版的配套教材。另外,我们还将结合多媒体技术开发新的教学课件,并建设相应的课程网站,作为教学强有力的辅助手段。
3.3实验教学内容的设计
实验教学内容根据学院实验计划大纲要求,结合工程实际来确实,充分考虑了可操作性与可行性。计算机组成原理实验的最终目的是让学生能够设计出CPU,但首先,学生必须初步掌握Verilog HDL硬件设计语言,学会使用quartusII设计工具,知道CPU的各个功能部件如何工作,以及相互之间是如何配合构成CPU的。
因此,为满足教学需要,实验教学内容将采用由基本到综合的方式逐层开展,“必修实验+选修实验+综合实验”相结合的方式。首先,设计出一个完整的CPU实验方案,然后再将这个CPU分解出一套功能部件实验,包括:总线传输实验、运算器实验、存储器实验、数据通路实验、时序电路的组成、控制原理实验、微程序控制器实验等。必修实验内容主要由这些功能部件实验作为基础,同时增加大量相关的其他实验内容作为选修实验以供学生选择,满足不同层次的需要。必修实验完成的功能部件在综合实验中进行组装,形成一个完整的CPU。
3.4实验教学的组织方式
培养学生实验能力和设计创新能力是我们实验教学的重要目标。为了贯彻这一指导思想,根据该实验课程的特点,课堂上教师只是启发性地讲解实验的关键点,其余部分全部由学生独立完成。每位学生可根据自己的实际能力在完成必修实验内容的基础上,还可选做选修实验以扩大知识面加深理解,完成选做实验项目者可适当加分。
由于课程的学时数十分有限,因此我们要鼓励学生在课后自己动手完成大量的选修实验,任课教师除上课时间外,每周还可以安排一次集中答疑时间,以解决学生在课外实践中遇到的困难。
实验中的模块我们只给出框图,其具体内容要求学生自己用电路图或Verilog HDL硬件描述语言完成。在编译调试过程中遇到困难尽量由学生根据理论所学内容自己解决,并记录在实验日志中,让教师充分了解每位学生的实验情况。另外每个模块可以设计一些障碍让学生修改,提高他们的实验兴趣。实验内容的安排遵循验证与设计相结合,注重基础,突出应用的原则。
课程严格遵循课前预习和设计(电路图和Verilog程序)、课上调试(实验日志记录)和验收、课后完成报告的实验环节。其中实验日志记录是其中一个重要的环节,它将贯穿于整个实验阶段,体现学生实际实验的情况,是学生独立实验的一项重要证明。实验日志按时间顺序主要记录:实验进行中遇到的问题及解答;回答实验教材中以及教师课堂上提出的问题。
3.5实施效果和亟待改进的问题
实验教学改革方案从2007年春季开始,已经实施了两个学期。总的来说,实施效果令人满意,主要体现在以下几个方面:
(1) 加深了学生对理论课的理解和学习兴趣。在实验课中,通过启发性地讲解实验关键点,使学生能够将理论课上学到的知识和具体的实验有机地联系起来。学生在理论课上学到的主要原理都能应用于具体的实验项目中。而具体的实验过程反过来又能加深对原理的理解和认识。两者之间相辅相成,极大地促进了学生的学习兴趣。
(2) 调动了学生学习相关知识的主观能动性。在实验课中,一方面教师只讲解关键点,这样要完成实验,学生就必须要自己去主动的查阅相关资料;另一方面实验内容设置了综合性实验和选做性实验,这些实验涉及的知识点较多,教材中给的提示相对较少,学生往往需要费一番周折,克服一些障碍,才可能完成实验。
(3) 大大减少抄袭作业的现象。以前经常出现的抄袭作业现象,由于实验日志的出现而大大减少。实验日志记录是实验完成过程的一个详细记录,是学生和教师共同完成的过程。实验日志是没有标准答案的,每个学生的实验日志也不可能雷同,因而能有效地减少抄袭的出现。
实验教学改革是一个不断深入和发展的过程。在方案的实施过程中,也发现了不少亟待改进的问题,其中如何组织好教学内容是至关重要的。一方面要在有限的课时内将理论课中的关键知识点融入到实验内容中,另一方面为了配合好先行和后续课程的教学内容,还要将一些新的知识点和实验内容融入进来。这样如何在不增加学时的前提下,将这两部分内容更加有机的组织起来是日后必须要解决的问题。
4结束语
“计算机组成原理”课程设计的教学改革经过两学期的实践摸索,已基本明确了今后进一步展开深入教学改革的方向和目标。下一步将根据规划好的改革方案,继续实施各项改革内容,朝着预期目标迈进。
相信在对课程进行了上述改革后,必将极大地调动学生的学习积极性,启发他们的学习兴趣,为培养出基础知识扎实,具有创新意识,善于自主学习,实践能力较强的计算机高级专门人才奠定基础。
科学技术不断发展,计算机技术更是日新月异。因此,“计算机组成原理”实验课程的教学方式、方法也需不断更新变化。改革是一个持续不断的过程,需要我们不断地研究与探索。
参考文献:
[1] David A. Patterons,John L. Hennesy. Computer Organization&Design[M]. America: Morgan Kaufmann,2004.
[2] 郑文斌,陈晓竹,刘砚秋.“计算机组成原理”课程教学改革探索[J]. 计算机教育,2007(6).
[3] 谢俐,杨乐,杨鲁. 引入建构主义思想实行计算机公共基础课程实践教学改革[J]. 科技创新导报,2008(8).
[4] 方恺晴,张洪杰. 计算机组成原理实验课程教学新方法的探讨[J]. 计算机教育,2007(4).
[6] 陈金儿,王让定,林雪明,等. 基于CC2005的“计算机组成原理与结构”课程改革[J]. 计算机教育,2006(11).