APP下载

“计算机体系结构”课程建设及改革思考

2009-12-11姜晶菲王志英陆洪毅

计算机教育 2009年18期
关键词:体系结构实验设计

姜晶菲 肖 侬 王志英 陆洪毅

摘要:“计算机体系结构”课程是计算机科学与技术学科计算机系统结构专业的一门重要的专业基础课、必修课,是全国精品课程。本文详细介绍了“计算机体系结构”的课程建设概况、教学内容特点、教学体系、实验设计,并探讨了课程教学内容改革的方向和做法。本课程建设始终坚持紧跟国际一流、注重实践性教学、建立完整的培养体系等思路,取得了很好的建设效果。

关键词:体系结构;实验设计;内容协调;教学内容更新

中图分类号:G642 文献标识码:B

1引言

“计算机体系结构”课程是计算机科学与技术学科计算机系统结构专业的一门重要的专业基础课、必修课,是我校重点建设的骨干课程,为2005年全国、全军精品课程。使能技术的进步极大推动计算机体系结构的创新,计算机系统结构是我单位开展科学研究的重点方向,也受到我单位工程任务的需求推动和未来业务部门对综合人才的需求推动。多年来,该课程结合我单位科研优势,紧跟先进技术发展,始终保持课程建设整体先进水平。

图1显示了本学科“计算机系统结构”教学体系中的骨干课程,“计算机体系结构”为其中的重点和综合课程,该课程在知识培养的角度,从全局和系统的角度介绍计算机系统设计所必须了解与掌握的专业知识,培养学生的系统设计、系统分析、系统集成和系统评估的能力;在人才

培养的角度,以培养能够设计计算机系统的专业人才、能系统应用计算机系统的专业人才、能全面评价计算机系统

的专业人才和能从体系结构的角度管理计算机系统的专业人才为指导目标。

本文根据本课程建设内容及问题展开探讨,以该课程本科教学为核心,详细介绍课程建设情况及改革思考,以求交流同行经验,促进课程建设更快发展。

2课程内容和建设特点

“计算机体系结构”本科教学时长为56学时,内容包括计算机体系结构基础概念及发展、计算机指令集结构设计、流水线技术及指令级并行高级技术、存储层次、输入输出系统设计、向量处理机及多处理机系统、课内实验共八部分内容,其中重点讲授内容为指令级并行ILP技术和存储层次。前者是计算机体系结构中的经典问题,流水、并行等设计思想在结构设计中随处可见;后者为体系结构设计中的瓶颈问题,存在很多软硬件优化折中方法,也是系统成败的关键。

本课程内容以软硬件接口——指令集结构为开端,强调通过这门课理清软硬件关系和相互作用;以微处理器体系结构和相关经典技术为主线,强调硬件设计能力和系统软件分析应用能力的培养;始终贯彻量化方法,强调系统评价能力的培养;逐步增强并行处理内容,紧跟技术发展趋势,并强调并行处理技术在各类并行结构中的体现(如多核、数据并行处理阵列、可重构阵列等)。

课程教学内容的确定经过多方面论证。本课程与“计算机原理”课程内容衔接,共同覆盖了ACM/IEEE-CS中“体系结构和组织”相关标准,以及考研大纲所有内容。课程内容更偏重强调培养学生“设计计算机”、“评价计算机”的素养,与国际一流大学UC Berkeley、Stanford、WISC、MIT等以及国内一流大学相关专业接轨,参照国内外权威教学内容,教学内容每年都得到及时更新,科学地处理经典与现代的关系,保持了教学内容的先进性、系统性。

3本硕博培养体系

“计算机体系结构”教学在本学科具有本硕博层次完整的人才培养体系,本专业在本科、硕士、博士三个阶段均开设“计算机体系结构”作为必修课,三个阶段在教学内容、手段和方法上具有紧密的联系。

本科阶段主要讲述单核处理器流水线关键技术,要求学生全面掌握流水线、存储和I/O等计算机体系结构核心内容,强调全局平衡的设计思想和量化分析的方法,主要培养对计算机体系结构的理解和分析能力,具备简单流水线设计能力。硕士阶段主要讲述各类指令级并行先进技术和并行处理结构关键技术,要求深入流水线设计实现技术和多处理系统高级技术,强调技术的综合应用、性能和设计复杂性折中,以及量化分析方法。这一阶段主要强调设计思想和具体实现技术的结合,培养复杂系统的设计实现能力和综合分析能力。博士阶段主要探讨体系结构前沿新技术,在教学上要求研究算法的软硬件实现和性能平衡,强调具体问题求解中的体系结构综合设计问题及性能度量,强调系统规划思想,培养对全系统的设计能力和评价能力。

在实验安排上,本硕博坚持基于同一硬件设计体系和平台展开,如本科阶段对流水线进行初步设计,硕博士阶段强调指令级调度复杂算法的实验和复杂流水线设计实现等。在教研方法上,本科以讲授为主,讨论为辅,多以成熟经验为例,学生成组实验和完成大作业,强调集体启发和开放思维;硕士以讲授、讨论各半,多以教师在研工程为讲授实例,学生独立完成大作业,成组实验,强调小团队协同和集中攻关;博士以研讨为主,讲授为辅,细化研究方向,独立实验,强调个体思考和深化研究。

4实验设计

“计算机体系结构”课程抽象理论较多,因此一直强调实践教学,课程实验是学生加深对课堂知识理解,锻炼综合运用能力的主要途径。经过多年摸索,本课程形成了三阶分层次实验体系,详述如下。

一阶实验内容为基于DLX模拟器设计矩阵乘法算法,并在WinDLX模拟器上对观察算法流水执行状态,评估算法性能,针对三大相关对算法进行优化。该实验由每个学生在4~6个实验学时独立完成,旨在全面锻炼学生流水线分析和应用的能力,加强对流水线关键技术的直观理解。

二阶实验内容为流水线和存储系统硬件结构设计实验。该实验采用Verilog语言设计具有简单Cache、存控接口等的多级流水线结构,支持基本指令集的运行,得出性能和代价分析。囿于课时的限制,实验利用2个实验学时进行要求、环境和设计启发等的讲解,由学生分小组主要在课下完成具体设计。每组学生的基本要求是设计具有多段流水的指控结构,或具有两级层次的存储子系统结构,得出正确模拟结果;进一步的要求是完成可综合的带有Cache子系统的流水线结构设计,解决相关,进行全面性能分析。该实验旨在全面锻炼了学生综合项目硬件设计能力和创新协作能力。

三阶实验针对有兴趣和设计能力的学生成立创新小组来开展,完成基于自研高性能嵌入式并行开发平台的底层控制和应用开发,包括典型CPU功能及其控制机理分析、基于非易失存储器的系统启动流程设计、存储子系统时序调试和性能评估、典型I/O接口的驱动设计等,该实验旨在在系统层面上进一步锻炼学生的软硬件综合分析和设计能力。

上述各阶实验能顺利展开得益于课程组多年的教学积累和实验条件的不断完善,在实验设计的过程中,我们坚持结合科研工作经验设计实验问题,坚持模拟验证型实验和设计型实验有机结合,以适应各个层次学生培养目标,并使课程大作业和实验题目有机结合,做到知识内容从始至终贯通,在实验考核的过程中,坚持以多种多样的方式评价实验效果,如现场运行检查、实验报告互评等。

从实施效果来看,学生参与实验的积极性很高,学生的创造力和综合思维能力得到了极大的启发,学生主动学习和研究的热情高涨,对本课程达到培养研究和应用综合性人才的目标起到了很好的推进作用。

5教学改革探讨

5.1与“计算机原理”的内容划分及协调

不断改革是“计算机体系结构”紧跟技术发展趋势,适应教学要求的关键。国内一些相关专业中,并未在本科阶段开设体系结构课,而是在“计算机原理”中涵盖部分体系结构内容,本专业“计算机原理”和“计算机体系结构”共同覆盖CCS计算机组织与系统结构要求内容,并进行足够的深入。如何合理划分两门课内容是课程教学组织过程中要关注的主要问题之一。

表1详细显示了本专业计算机原理(简称CP)和计算机体系结构(简称CA)在教学内容上的划分和目的上的不同。

从表1中看出,两门课程讲授的方面和角度有一定相似,如I/O系统、CPU控制器、存储部件等。为了分层次、足够深入和明确地在这两门课讲授清楚关键内容,我们对上述内容划分的思路是:首先,在CP中主要强调基本运行原理,而在CA强调性能优化方法。其次,CP在细化部件讲授的基础上讲清最基本的全局通路;CA屏蔽部件细节,重点讨论系统全局结构和优化方法,呼应CP所讲授的内容,理清关系。这样可保证两门课程的一致性和全局概念的的统一避免出现衔接断层。再次,CA强调贯通原理、体系结构和系统软件方面的衔接,讲清高级语言、编译、操作系统和硬件结构的关系,及性能分析中各方面的影响,避免对软件层面的忽视。

5.2教学内容改革

计算机科学与技术是一种知识更新速度快,技术发展非常蓬勃的学科,技术的不断进步要求课程教学内容的不断更新,如何在教学内容中体现先进技术,并在有限的课时内协调好经典知识和先进技术的讲授关系,是教学改革要关注的问题。

根据新技术发展,近年来我们逐步考虑从以下几个方面对经典体系结构内容进行更新:

(1) 多核技术:深化并行处理技术的理解;

(2) 虚拟机:为存储层次内容中“虚存及保护”的深化;

(3) 复杂存储系统:包括多级存储层次及新型存储结构,为存储层次的深化;

(4) 先进互连技术:为先进I/O、并行处理的关键支撑技术之一。

上述每部分内容都是计算机体系结构技术研究的重要方向,内容都很多,怎样简化主线,使这些复杂技术与经典体系结构知识点相融合,是教学内容改革的主要任务,我们的做法是:

(1) 讲授多核技术从其硬件结构模型、编程模型的挑战、片上实现的多处理结构而导致的性价折中等方面入手,重点分析多核结构与传统并行处理结构的异同,以加强对并行处理本质的理解。

(2) 讲授虚拟机侧重于阐述虚拟机概念及其存储保护的作用。

(3) 讲授复杂存储系统侧重于阐述在经典存储层次差异变小情况下,网络化存储、由新型存储介质构成的混合存储结构对性能的影响。

(4) 讲授先进互连技术则关注互连通信问题及新型总线对互连结构发展的影响等。

教学内容中对新技术的补充有时是把“双刃剑”,教学内容既要跟上技术的发展,使知识不致落伍,又要保证教给学生的是立足于经典知识的思维方法,而不是熟练某些技术细节。因此,在内容改革中要立足新技术与经典知识的融合,及思维方法的提炼。

6结语

“计算机体系结构”经过多年的建设,取得了良好的建设成果,形成了由专家教授、青年骨干教师组成的强大的师资队伍,建立了完善的网上教学系统,依托科研优势不断丰富教学内容。在学员评价和后续跟踪调查中,有学生评价本课程:“站在系统设计师的角度从更宏观的方面认识了计算机,并加强了对具体设计问题的理解、判断和把握”、“从科研实例中获取了丰富的对抽象理论和技术的实践佐证,感觉受到了科班训练”;在学生参与的相关创新竞赛中,本课程的知识基础起到重要作用,在大型科研和工程项目中,相关调查反映表明学生体系结构基础较为扎实,分析问题、解决问题和动手实践的能力比较高,进入工程和科学研究的速度快。

计算机技术的发展推动着我们需不断进行课程建设改革,我们希望以往建设方式和做法能继续给未来的改革提供指导,也能给其他院校的相关课程提供交流借鉴的内容。

参考文献:

[1]John L. Hennessy, David A. Patterson. Computer Architecture:A Quantitative Approach[M]. 4th ed. San Mateo, CA: Morgan Kaufmann Publishers,2007.

[2] 张晨曦,王志英,张春元,等. 计算机体系结构[M]. 2版. 北京:高等教育出版社,2005.

[3] 王宝恒,肖晓强,张春元,等. 计算机原理与设计[M]. 北京:高等教育出版社,2005.

猜你喜欢

体系结构实验设计
基于思维导图的化学知识体系结构构建
优化实验设计 培养学生化学实验素养
软件通信体系结构(SCA)理念下的无线通信系统探究
创新实验设计 落实核心素养
实验设计巧断遗传学(下)
计算机体系结构综述
应激性作战智能决策系统体系结构
认知无线网络中的重点技术和研究
动物激素的主要研究方法及其实验设计
应对生物学实验设计题目的有效方法