首页 > 范文大全 > 正文

“计算机组成与体系结构”课程群建设实践

开篇:润墨网以专业的文秘视角,为您筛选了一篇“计算机组成与体系结构”课程群建设实践范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文分析了目前计算机相关课程教学面临的挑战和机遇;在对国内外教学情况进行分析比较的基础上,提出了“计算机组成体系结构课程建设目标和思路;详细介绍了南京大学的改革实践情况和取得的成效;最后给出了课程群建设的工作设想。

关键词:计算机组成;计算机系统结构;课程群建设;教学改革

随着多核/众核处理器以及可重构计算技术的出现,计算机体系结构技术面临重大改变,给相关课程的教学提出了新的问题和新的挑战。如何在教学内容中体现技术的发展?如何利用FPGA技术提升实验水平?如何统一规划相关课程的教学?特别是在不久的将来,计算机体系结构可能发生重大变革的情况下,如何为那些将要在新型体系架构下从事计算机科学和技术研究和开发的学生打下良好的专业基础?这些都是我们近年来一直考虑的问题。带着这些问题,我们跟踪了美国几个一流大学近几年来相关课程的教学内容及实验方法。对照国际一流大学的先进做法,结合我校计算机人才的培养目标,我们提出了“计算机组成与体系结构”课程群建设思路,并根据实际情况对相关课程进行了教学改革实践。

1国外一流大学相关课程教学情况

通过对UC Berkeley、Stanford和MIT等多个美国一流大学在相关课程方面教学情况[1-5]的跟踪,我们发现,这些大学对相关课程教学都进行了调整,通过开设新课程或调整相关课程教学内容加入了多核/多线程处理器的相关内容,特别强调学生对HDL、FPGA、SOC、并行体系结构、并行程序设计等技术的掌握。这些大学在相关课程教学内容和实验内容方面基本相同,都是以典型的四段或五段流水线CPU设计技术和存储器层次化结构为核心内容,教学理念和教学思路也非常相似,都是站在计算机系统的高度阐述计算机硬件系统的结构和设计思想,强调软件与硬件的关联,使学生能很好地在高级语言程序、汇编语言程序、机器指令代码和硬件机器结构之间建立相互的对应转换关系,以建立对计算机系统的整体认识。

图1给出了美国UC Berkeley大学2009年相关课程的设置概况,图中箭头反映课程开设先后关系。

图1UC Berkeley大学相关课程设置[2]

CS61C(Machine Structure)主要包括C语言程序设计、指令流水线和存储器层次结构等方面的基础内容,以“C语言MIPS汇编MIPS目标代码MIPS处理器设计”为主线组织内容,以“高级语言程序设计”实验和“模拟器”实验为手段,使学生建立单处理器计算机系统的整机概念。

CS 150(Components and Design Techniques for Digital System)主要介绍数字逻辑电路基础知识和EDA设计技术,2009年以前的实验主要是在FPGA开发板上进行视频解码及播放电路设计开发,从2009年开始改为“流水线CPU设计”,要求学生采用流水线方式设计实现16条MIPS指令,以串行接口方式从PC上装入程序到FPGA开发板,并通过PC调试程序,最终通过VGA接口,将FPGA板连接到一个显示器上,在该显示器上显示由所设计的CPU执行的一个游戏程序的执行结果,如图2所示。

图2UC Berkeley大学CS150课程综合实验内容[3]

CS 152(Computer Architecture & Engineering)着重介绍多处理器并行计算机体系结构,包括多核/众核处理器、多处理器计算机系统以及各类并行处理机制等。

CS194为新开设的本科生课程,是一门基于FPGA的以计算机系统结构实验为主的课程。在开设新课程的同时,该校还对相关课程内容进行了调整,从2009年开始,将CS152中基于FPGA的流水线CPU设计实验移到了CS150课程中,把原来研究生课程CS252中的很多内容移到了CS152。

由此可见,在这类课程的教学中,UC Berkeley近两年有一个明显变化,就是在保留传统课程内容的同时加强了基于FPGA的硬件设计能力的培养。此外,在本科教学中加深了并行体系结构方面的教学内容,而且教学内容的调整是在对相关几门课的统筹规划下进行的。

2课程群建设思想

随着多核/众核处理器技术的出现,我们意识到,必须对计算机组成与体系结构方面的教学内容进行调整。我们首先对本系开设的所有课程的教学内容进行了梳理。结果发现,由于课程间缺乏统一规划和协调,教学存在内容大量重复或缺失、课堂教学和实验内容不匹配、课程之间内容脱节等问题。有必要将相关课程组成一个课程群,以便在一个完整的框架体系下统一规划、相互协调,构建科学合理的计算机组织与体系结构相关课程教学体系。为此,从2007年开始,我们提出并实施了“计算机组成与体系结构”课程群建设方案。

2.1课程群教学目标

根据本课程群在计算机系统中的重要位置,结合我系的生源情况和培养目标,我们提出课程群的基本教学目标为:提高学生对计算机系统的全面认识水平和系统设计能力,建立计算机整机概念,全面理解计算机系统的层次结构。具体包括以下几个方面:了解计算机指令集体系结构的设计原则和设计原理;具备使用HDL进行计算机硬件设计的基本能力;深刻理解OS和硬件之间的分工和衔接关系;掌握从硬件角度出发进行编译优化的基本技术;深刻理解从硬件角度出发编制高效程序的基本原理;提高利用硬件知识进行程序调试的能力。

2.2课程群建设思路

课程群建设的总体思路为:1)根据课程群建设总体目标,规划好课程群涵盖的知识结构和框架体系,合理定位各门课程的教学目标,把每个知识点落实到具体课程中。2)根据课程群知识点总体框架,拟定课程之间知识点衔接方案,并在教学过程中明确各知识点在不同课程之间的关系。3)根据规划分头编写或修订教材及教案,并在统一的框架下建设相关课程网站。4)在保留各课程独立实验平台的同时,构建一个课程群公共实验平台,并使各课程实验内容按照一定的关系有机联系起来。

3课程群教学改革实践

我们首先对现有课程进行了调整。将原先模拟电子技术部分内容合并到数字逻辑电路设计中,形成数字逻辑与数字系统课程;将原先的计算机组成原理和计算机系统结构内容合并,形成计算机组织与系统结构课程;同时建设一门新课高级并行体系结构。通过对相关课程的调整,我们构建了以“计算机组织与系统结构”为核心的课程群,如图3所示。

图中箭头表示课程前后关系,其中计算机系统概论、数字逻辑和数字系统、计算机组织与系统结构为必修课;微机原理与接口技术、嵌入式系统原理、高级并行体系结构为选修课。此外,为了加强对学生FPGA、EDA、数字系统和流水线CPU等方面设计和实践能力的培养,课程群教学规划中专门设置了数字逻辑电路设计和计算机组成原理必修实验课。

3.1各课程在课程群教学中的定位

围绕课程群教学目标,根据课程之间的相互关系,我们确立了各课程在课程群教学目标中的定位:1)计算机系统概论从宏观上介绍计算机系统涉及到的各个层次的内容,让学生从整体上了解计算机系统的全貌和相关知识体系。2)数字逻辑与数字系统围绕组合逻辑设计和时序逻辑设计两大核心内容,在逻辑门到功能部件这两个层次展开。以后续课程中用到的功能部件作为设计实例,采用“实例化”教学思路组织教学内容。3)计算机组织与系统结构从寄存器传送级以上层次介绍单处理器计算机系统设计的基本原理,实验重点在CPU设计和存储器方面。该课程处于课程群中核心地位,一方面,先行课程中学生感到似是而非的问题在此要明确;另一方面,需要运用先行课程的基本功能部件构建更大规模和更强功能的部件;此外,本课程中提出的设计原则和实现原理要在后继课程的计算机系统实例中得到体现。4)微机原理与接口技术定位为计算机组织与系统结构的基本原理在PC上的实例化教学课程,主要以目前流行的基于IA-32体系结构的PC为实例,实验重点内容在PC的I/O接口技术。5)嵌入式系统原理定位为计算机组织与系统结构的基本原理在嵌入式系统方面的实例化教学课程。实验教学重点是基于ARM处理器和VxWorks及 COS-Ⅱ操作系统的简单嵌入式软件开发技术。6)高级并行体系结构主要在更高层次上介绍多核/众核CPU、多处理机系统、集群系统等不同粒度和规模的多处理器并行计算机系统的工作原理、实现方式及其应用领域。

3.2各课程教学内容的关联和衔接

课程群中的课程之间有很多关联,必须合理处理好关联内容,使课程之间能有机衔接。对于关联内容,我们的主要处理思路如下:

1) 数据的表示。

对于进位计数制及其相互之间的转换、ASCII码

表示、逻辑数据表示、汉字编码、无符号数表示、带符号数表示,要求学生在计算机系统概论课程中掌握,而在后继课程中作为“回顾”内容;各种BCD码的介绍和相关电路设计内容在数字逻辑与数字系统中讲解;补码特性和浮点数的表示则在计算机组织与系统结构中详细介绍。

2) 功能部件。

逻辑门电路、半加器、全加器、加法器、比较器、编码器、译码器、触发器、寄存器、移位器、内存储器的实现技术由数字逻辑和数字系统详细介绍;计算机系统概论课程仅作概要性的功能说明和解释;计算机组织与系统结构课程则运用这些基本电路来构建更大的功能部件。

3) 外存储器。

有关磁盘信息的存储、磁盘存储器的构造、磁盘驱动器和磁盘控制器的接口、磁盘存储器的性能指标等内容主要在计算机组织与系统结构中详细介绍;计算机系统概论课程仅作概要性说明;微机原理和接口技术中不再讲解。

4)I/O设备及其接口。

计算机系统概论课程从计算机硬件系统组成的角度简单提一下常用的外部设备的功能;计算机组织与系统结构主要介绍各种外设抽象出来的一个通用结构,以及外设控制器的通用结构,并着重解释清楚“外设―I/O接口(外设控制器)―I/O总线―主机”的连接关系;微机原理与接口技术则具体介绍PC机所用的一些接口电路、I/O总线及其互连。

5) 虚拟存储器。

计算机组织与系统结构主要介绍虚拟存储器的基本概念和MMU中涉及的地址变换、页表和段表结构、快表,以及如何发现“缺页”和发生“缺页”时处理器中进行的一系列处理步骤;微机原理与接口技术具体介绍Pentium系列处理器对虚拟存储器的支持,包括段选择子、段描述符/描述符表、逻辑地址―线性地址―物理地址的转换等。对于“缺页”处理过程中涉及的问题,操作系统课程将会作详细介绍。

3.3课程实验内容的规划和实施

课程群的实验教学思路是,将各课程中相关实验内容规划在统一平台上实现,使得实验内容相互依托、避免重复,由低层逐步向高层过渡,最终使学生全面建立计算机系统的整机概念。

统一实验平台是Altera DE2/70开发板,其上拥有70000个逻辑单元的Cyclone® II 系列2C70型FPGA 芯片,并配有软核处理器NiosII和相应的开发软件:Quartus II、SOPC Builder、NiosII IDE、DSP Builder等,可以开展以下五个层次的实验:功能部件CPU+存储器软核处理器+存储器+总线+I/O软核处理器系统+OS软核处理器系统+OS+多媒体编码等应用。

在Altera DE2/70统一实验平台上开展的实验主要有以下几个方面:

1) 数字逻辑电路实验。

利用Quartus II实现基于HDL和FPGA的组合电路、时序电路和简单数字系统设计实验。

2) 计算机组成原理实验。

利用Quartus II实现基于HDL和FPGA的ALU、寄存器组、桶型移位器、乘/除法器,单周期CPU、多周期CPU和流水线CPU的设计实验。

3) 微机原理与接口实验。

基于软核处理器和SOPC开展总线、存储器和I/O接口实验。例如,通过总线实现外设和SRAM相连;利用UART实现轮询、中断和DMA方式I/O。

4) 嵌入式系统原理实验。

主要包括两类实验:(1)基于NiosII+μCOS操作系统的实验,例如七段数码管显示实验、小型GUI

移植实验和文件系统读写实验等;(2)基于NiosII IDE的简单应用系统开发实验,例如简单C语言编程实验、简单DSP处理实验等。

有些课程除了在以上统一实验平台上开展实验以外,还要求完成其他实验,如计算机组织与系统结构的编程实验,微机原理与接口的汇编程序设计实验,嵌入式系统原理的基于ARM处理器的实验等。

4结语

经过近年来的课程群教学改革实践,我校相关课程的教学内容在广度和深度上都有提高;课程间知识点的衔接更加合理,减少了重复,弥补了缺失。通过统一规划,课堂教学内容和实验内容相得益彰;在对课程群统一的教学实验平台和统一实验内容的规划下,我们实现了各课程间实验内容的有机衔接。

由于课程群的建设时间较短,需要开展的工作还有很多,今后几年,我们主要在以下几个方面继续进行课程群教学改革实践:编写相关课程教材以开展课程群系列化教材建设;加强实验教学内容,增加和完善各类模拟器实验;开设计算机系统综合设计实验课程。

相信通过以上一系列的教学改革措施,一定会改变学生“喜软怕硬”的心理。学生对计算机组织与体系结构方面知识的掌握水平和运用能力将会有较大提高,为后续课程的学习打下坚实基础。

参考文献:

[1]UC Berkeley.Machine Structure[EB/OL].[2008-07-09].inst.eecs.berkeley.edu/-cs61c/su08/.

[2]UC Berkeley. Computer Architecture and Engineering[EB/OL]. [2009-05-07]. inst.eecs.berkeley.edu/-cs152/sp09/.

[3]UC ponents and Design Techniques for Digital Systems[EB/OL].[2009-02-16]. inst.eecs.berkeley.edu/ -cs150/sp09/.

[4]Stanford University. Computer Organization & Systems[EB/OL].[2009-06-15]. www.stanford.edu/class/cs107/.

[5]MIT. Computation Structures[EB/OL].[2009-05-08]. 6004.csail.mit.edu.

Construction and Reform of “Computer Organization and Architecture” Courses Group

YUAN Chun-feng, HUANG Yi-hua, WU Gang-shan, YU Jian-xin, WU Hai-jun

(Department of Computer Science and Technology, Nanjing University,Nanjing 210093, China)

Abstract: This paper begins with the discussion on challenges of teaching on the courses related with “computer organization and architecture”. Then, it describes the construction goals and methods of these courses, introduce the teaching reform methods on related courses in Nanjing University. Finally we review some experiences and further work plan on teaching of the courses group.

Key words: computer organization; computer architecture; courses group construction; teaching reform