“计算机系统结构”课程内容体系的研究

时间:2022-09-22 05:31:13

“计算机系统结构”课程内容体系的研究

摘要:本文针对目前国内高校计算机专业教学中普遍存在的“重视软件课程、轻视硬件课程”的现象,分析了计算机硬件类课程教学中存在的主要问题,结合自己多年的教学经验,提出了硬件类课程教学改革和学生创新能力培养的几点对策。

关键词:硬件类课程;创新能力;教学改革;实践教学

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

1引言

“计算机系统结构”是高等院校计算机专业本科的一门专业主干课程。

长期以来,很多教师反映这门课程比较难讲,其原因之一是课程的内容体系和教材有些陈旧,强调的是定性分析,内容比较空泛、较难理解,对有些非重点或非主流的结构和方法进行了过细的介绍,而对实际系统和现已广泛应用的方法的定量分析却比较少。二十多年来,国内教材的内容体系都变化不大。我们77级本科生在1981年上“计算机系统结构”课时的内容体系跟现在有些教材的内容体系相差不是很大,在不少现在的教材中都能找到它们的影子。

另外,近二十多年,计算机系统结构技术已经有了很大的发展。美国著名教授John L. Hennessy和David A. Patterson联手于二十世纪九十年代初出版的《Computer Architecture: A Quantitative Approach》一书在这个领域激起了一阵改革的浪花,它从全新的角度讲述系统结构,受到了同行的高度赞赏,被称为是计算机系统结构的“圣经”。

本文在对国内外系统结构教材进行对比分析和研究的基础上,确定了系统结构课程比较全面的内容体系。

2对国外系统结构教材内容的研究

计算机系统结构的英文是computer architecture,用这个词作为关键词,在国外著名的网上书店、国外著名的出版社Morgan Kaufmann和Prentice Hall的网站以及其他一些网站上进行检索,查到了近五年来的8本主要的系统结构方面的书(到2007年为止):

(1) 书名:Computer Architecture:A Quantitative Approach (3rd Edition),作者:John L. Hennessy,David A. Patterson,出版时间:2002年5月,出版商:Morgan Kaufmann,国内出版社引进情况:电子工业出版社(中),机械工业出版社(英),页数:1136,简称:【Henn3】或【H3】(为了本文的论述方便而采用的简称,下同)。

(2) 书名:Computer Architecture:A Quantitative Approach (4th Edition),作者:John L. Hennessy,David A. Patterson,出版时间:2006年9月,出版商:Morgan Kaufmann,国内出版社引进情况:电子工业出版社(中),机械工业出版社(英),页数:704,简称:【Henn4】。

(3) 书名:Parallel Computer Architecture:A Hardware/ Software Approach,作者:David Culler等,出版商:Morgan Kaufmann,出版时间:1998年8月,国内出版社引进情况:机械工业出版社(中),页数:1100,简称:【Culler】。

(4) 书名:Essentials of Computer Architecture,作者:Douglas E. Comer,出版商:Prentice Hall,出版时间: 2004年8月,国内出版社引进情况:清华大学出版社(中),高等教育出版社(英),页数:400,简称:【Comer】。

(5) 书名:Principles of Computer Architecture,作者:M. Murdocca,V. P. Heuring,出版商:Prentice Hal,出版时间:2000年,页数:640,简称:【Murd】。

(6) 书名:Computer Architecture:From Microprocessors to Supercomputers,作者:Behrooz Parhami,出版商: Oxford University Press,出版时间:2005年2月,页数:575,简称:【Parha】。

(7) 书名:Computer System Arcitecture:A Networking Approach(2nd Edition),作者:Rob Williams,出版商: Prentice Hall,出版时间:2006年11月,国内出版社引进情况:机械工业出版社(英),页数:752,简称:【Willi】。

(8) 书名:Advanced Computer Architecture and Parallel Processing,作者:Hesham El-Rewini, Mostafa Abd-El-Barr,出版商:Wiley-Interscience,出版时间:2005年1月,国内出版社引进情况:电子工业出版社(中),页数:288,简称:【Rewini】。

在这些书中,【Culler】和【Rewini】主要是论述高级体系结构和并行处理体系结构,这部分内容一般是在研究生阶段才学习的,所以,它们不适合作为本科生的教材,但可以作为研究生的教材或参考书。

【Comer】是由美国普渡大学资深教授Douglas E. Comer编写的。该书中共有20章,其中一半以上与我们国内的计算机组成原理课程的内容重叠,而对系统结构的论述又深度不够。【Murd】和【Parha】与【Comer】类似,相当一部分内容属于计算机组成原理的内容。

【Willi】共有23章,篇幅达752页。这本书不仅包含组成原理的内容,而且还包含了操作系统、网络方面的内容,可谓包罗万象。

内容涉及面太广、与“计算机组成原理”课程重复、系统结构内容深度不够等缺点是国外大多数系统结构教材的通病。也许其目的是为了不需要计算机组成原理的铺垫就可以学习系统结构。但国内一般都是先学计算机组成原理,后学系统结构的,所以,这些教材不太适合“中国国情”。

John L. Hennessy和avid A. Patterson编写的《Computer Architecture::A Quantitative Approach》彻底改变了这种状况。这两个人是享誉全球计算机界的著名教授,他们在RISC研究方面取得了卓越的成绩,其研究结果分别形成了MIPS和SPARC系统结构的基础。十多年前,该书第一版一出现,就好评如潮。到去年为止,已经出了4个版本。这是一本在全世界有很大影响的教材,国外很多大学都选用它作为教材。在国外同类教材中,它是最权威、最有影响的一本。它对系统结构进行了深入、全面的阐述,并且在讲述中采用了国际上流行的研究计算机系统结构的方法――量化方法。该书的内容充分反映了当前系统结构的主流发展,而且结构合理、内容新颖、可读性好。我们多年的教学研究和实践表明,采用量化方法的教学效果很好。

这本教材的第3版【Henn3】有1136页,虽然内容丰富,但也太多、太全,难度偏大,我们认为直接作为本科生的教材是不合适的。而且该教材还有工程性太强、对有些经典的计算机系统结构内容没有论述(如向量处理机,数据流计算机等)的不足。这本书的第4版【Henn4】虽然是最新版,但在编排上更像是研究生教材。所以,后面我们将主要以【Henn3】作为参考书,与国内的系统结构教材内容相结合,取长补短,设计“计算机系统结构”课程的内容体系。

3对国内系统结构教材内容的研究

3.1近五年来的主要教材

在计算机专业教材方面,国内最有影响的出版社有:清华大学出版社、高等教育出版社、电子工业出版社、机械工业出版社、科学出版社、人民邮电出版社等。在这些出版社的网站以及在中国互动出版网上,我们用“系统结构”和“体系结构”作为关键词查询,查出了这些出版社在近五年来(到2007年为止)出版的所有计算机系统结构教材情况如下:

(1) 清华大学出版社:4本。作者分别是郑纬民、李学干、尹朝庆、周立等。

虽然郑纬民的那本是1998年出的,但因为它是国内比较经典的一本计算机系统结构教材,所以,把它也列为研究的对象。李学干的那本也是比较经典的,是“十一五”部级规划教材。其前身是庄编写的计算机系统结构教材。25年前笔者上大学时就使用过。

(2) 高等教育出版社:1本,作者是张晨曦等。这本书是“十五”部级规划教材。

(3) 电子工业出版社:2本,作者分别是陈建铎和徐炜民等。徐炜民那本是“十五”部级规划教材。

(4) 机械工业出版社:1本,作者是田俊峰等。

(5) 科学出版社:1本,作者是白中英等。

(6) 人民邮电出版社:1本,作者是张先俊等。

这10本系统结构教材的详细信息如下。

(1) 书名:计算机系统结构(第2版),作者:郑纬民等,出版社:清华大学出版社,出版时间:1998年9月,页数:731,简称:【郑】。

(2) 书名:计算机系统的体系结构(“十一五”部级规划教材),作者:李学干,出版社:清华大学出版社,出版时间:2006年1月,页数:333,简称:【李】。

(3) 书名:计算机系统结构教程,作者:尹朝庆,出版社:清华大学出版社,出版时间:2005年4月,页数:292,简称:【尹】。

(4) 书名:计算机系统结构,作者:周立等,出版社:清华大学出版社,出版时间:2006年12月,页数:259,简称:【周】。

(5) 书名:计算机体系结构(第2版)(“十五”部级规划教材),作者:张晨曦等,出版社:高等教育出版社,出版时间:2005年6月,页数:328,简称:【张】。

(6) 书名:计算机系统结构(第2版)(“十五”部级规划教材),作者:徐炜民等,出版社:电子工业出版社,出版时间:2003年7月,页数:274,简称:【徐】。

(7) 书名:计算机系统结构教程,作者:陈建铎,出版社:电子工业出版社,出版时间:2006年2月,页数:249,简称:【陈】。

(8) 书名:计算机系统结构,作者:田俊峰等,出版社:机械工业出版社,出版时间:2005年10月,页数:274,简称:【田】。

(9) 书名:并行机体系结构(第二版),作者:白中英等,出版社:科学出版社,出版时间:2006年1月,页数:200,简称:【白】。

(10) 书名:计算机系统结构,作者:张先俊等,出版社:人民邮电出版社,出版时间:2006年2月,页数:292,简称:【张2】。

3.2教材内容对比分析和研究

我们购买了所有这些教材以及【Henn3】(简称为【H3】)和【Henn4】原版教材,对其内容进行了仔细的研究和比较,并作出了我们的选择。

我们采用了以下选取原则:

(1) 重点选取已被现代计算机广泛采用的比较成熟的结构、方法和技术等;

(2) 经典与现代相结合,理论与实用相结合;

(3) 强调采用量化分析方法,减少大量冗长的定性论述;

(4) 突出重点内容和核心思想,避免繁杂;

(5) 减少与先修课程的重复;

(6) 根据学科和专业的定位以及学时数来取舍。

首先是在知识模块方面进行研究。我们找出了这些书的知识模块的一个合集,其组成为:①计算机系统结构的基本概念;②指令系统结构的设计;③流水线技术;④向量处理机;⑤指令级并行的开发――硬件方法(新);⑥指令级并行的开发――软件方法(新);⑦存储系统(存储层次);⑧输入输出系统;⑨互连网络;⑩多处理机; 机群计算机(新); 阵列处理机(也称并行处理机,SIMD计算机); 数据流计算机(经典); 知识库机; 智能机; 归约机; 数据库机; 脉动阵列机; 相联处理机。

其中①~④和⑦~⑩是大多数教材都有的,可以说它们是核心知识模块。指令级并行是提高计算机性能的重要措施,目前的大多数微处理器都采用了这个技术,所以⑤和⑥也是比较重要的内容,特别是⑤,应该也选作核心知识模块。

在高性能并行计算机中,机群是近年来发展势头最为强劲的一种结构。在全球高性能计算机500强(Top500)排名中,尽管到1997年6月才首次有机群结构的计算机进入该排名,但此后入选的机群系统的数量逐年稳步增加。到2003年11月,这一数字已达到208台,机群首次成为Top500排名中比例最高的结构。截至2008年6月,已经连续10期位居榜首。机群已成为当今构建高性能计算机系统时最常用的结构。因此, 也应该选作核心知识模块。

数据流计算机能够充分开发程序中的并行性,曾被认为是具有很好前景的高度并行的新型计算机。虽然数据流计算机的研究尚未达到实用水平,但其核心思想具有很大的参考价值的。对于要求较高的系统结构课程来说,是应该包含的。

~ 是一些专用性太强的机器结构,并没有得到广泛的应用,大多数的教材也不包含这些内容,所以我们没有选择它们。

阵列处理机在计算机并行性的发展中有重要的地位,也属于比较经典的内容。对于要求较高的系统结构课程来说,是应该包含的。

综合考虑上述各知识模块的重要性以及学时数,我们选择出以下两种方案。

方案A:48学时左右

①计算机系统结构的基本概念;②指令系统结构的设计;③流水线技术;④向量处理机;⑤指令级并行的开发――硬件方法(新);⑥存储系统(存储层次);⑦输入输出系统;⑧互连网络;⑨多处理机;⑩机群计算机。

方案B:60学时左右

与方案A相比,增加了3个模块:指令级并行的开发――软件方法、阵列处理机、数据流计算机。

3.3部分教材的特色

(1)【郑】共有731页,内容丰富,是一本大而全的书。该书是国内很经典的一本系统结构教材,但对于本科生来说,内容太多、书太厚,作为系统结构参考书倒是非常好。该书第2版为1998年出版。

(2)【李】也是国内比较经典的一本系统结构教材。之所以称它为经典,主要是因为其前身是庄编写的系统结构教材。25年前我们上大学时就使用过。

(3)【白】是网络版,只有200页,但该教材框架清晰、重点突出、语言简练。

(4)【张】借鉴了【H3】的讲法和内容,内容比较新,但缺少数据流计算机等一些经典内容和机群计算机的内容。

(5)【徐】中有这样一章:“分布计算环境结构”,这是所有上述教材中所没有的。另外,该书的第二章为“计算机系统结构”,概述了系统结构的方方面面,这也是其他教材中所没有的。

4课程内容体系

在上述对国内外系统结构教材进行分析和研究的基础上,我们确定了系统结构课程的内容体系,如下所示。

第1章绪论

包含5节:引言,计算机系统结构的概念,计算机系统的性能评测,计算机系统结构的发展,并行性的发展。

第2章计算机指令系统的设计

包含5节:指令系统的分类,寻址方式,指令系统的功能设计(包括RISC和CISC),指令格式的优化设计,MIPS指令系统。

第3章流水线技术

包含6节:重叠执行和先行控制,流水线的基本概念,流水线的性能分析,非线性流水线的调度,流水线的相关与冲突,流水线的实现(以MIPS流水线为例)。

第4章向量处理机

包含5节:向量处理方式,向量处理机的结构,提高向量处理机性能的方法,向量处理机的性能评价,向量处理机实例(Cray-1,Cray Y-MP和C90)。

第5章指令级并行性及其开发――硬件方法

包含5节:指令级并行的概念,指令的动态调度(包括记分牌算法和Tomasulo算法),动态分支预测技术,基于硬件的前瞻执行,多指令流出技术(包括超标量、超长指令字、超流水技术)。

第6章指令级并行性的开发――软件方法

包含6节:循环展开和基本指令调度,跨越基本块的静态指令调度,静态多指令流出:VLIW技术,显式指令并行执行EPIC,开发更多的指令级并行,实例:Intel Itanium 处理器。

第7章存储器系统

包含8节:存储器的层次结构,Cache的地址映象与地址变换,降低Cache失效率的方法,减少Cache失效开销的方法,减少命中时间的方法(包括虚拟Cache等),并行主存,虚拟存储器(简单),存储层次实例。

第8章输入输出系统

包含5节:I/O系统性能与CPU性能,I/O系统的可靠性、可用性和可信性,廉价磁盘冗余阵列RAID,通道处理机,I/O与操作系统。

第9章互连网络

包含4节:互连网络的基本概念(包括互连函数和互连网络的特性参数),静态互连网络,动态互连网络(包括互连网络的例子),消息传递机制。

第10章多处理机

包含6节:引言,对称式共享存储器系统结构(包括监听法多Cache一致性协议及其实现),分布式共享存储器系统结构(包括目录法多Cache一致性协议及其实现),同步,同时多线程,多处理机实例(Origin 2000, Sun T1)。

第11章机群计算机

包含7节:机群的基本概念和结构,机群的特点,机群的分类,机群的通信技术,并行程序设计环境,机群的负载平衡技术,机群系统实例(包括Berkeley NOW和IBM SP2)。

第12章阵列处理机

包含4节:阵列处理机的操作模型,阵列处理机的结构和特点,阵列处理机的并行算法,阵列处理机实例(包括ILLIAC Ⅳ和BSP)。

第13章数据流计算机

包含5节:数据流计算机的基本原理,数据流计算机模型,数据流程序图和数据流语言,静态数据流计算机结构,动态数据流计算机结构。

5教材

在上述工作的基础上,我们编写出版了以下两本系统结构教材:

(1)《计算机系统结构教程》

由清华大学出版社于2009年5月出版。包含了上述13章的内容,63万字。与下面高教出版社的教材相比,更适合于重点大学(48~64学时)。该教材的详细信息见/45835&ref=ps。

(2)《计算机系统结构》

由高等教育出版社于2008年6月出版,45万字。包含了上述13章中最重要的部分:计算机系统结构的基本概念,计算机指令集结构,流水线技术(含向量处理机),指令级并行,存储系统,输入/输出系统,互连网络,多处理机,机群计算机,共9章。与上面清华大学出版社的教材相比,该教材更适合于普通院校(36~48学时)。该教材的详细信息见/208975&ref=ps。本课程的精品课程网站:。

参考文献:

[1]John L. Hennessy, David A. Patterson. Computer Architecture:A Quantitative Approach[M]. 3rd Ed. San Mateo, CA: Morgan Kaufmann,2002.

[2] 郑纬民,汤志忠. 计算机系统结构[M]. 2版. 北京:清华大学出版社,1998.

[3] 李学干. 计算机系统的体系结构[M]. 北京:清华大学出版社,2006.

Study of Contents of Computer Architecture Course

ZHANG Chen-xi1, WANG Zhi-ying2, LIU Yi1, SHEN Li2

(1. School of Software Engineering, Tongji University, Shanghai 201804, China; 2. School of Computer Science, National

University of Defense Technoloey, Changsha 410073, China)

Abstract: Computer Architecture is an important course of Computer Science. In this paper, a comparison is made of textbooks of computer architecture, and a selection of knowledge points is chosen, based on the situation of computer education in China.

Key words: computer architecture course; knowledge; education reformation

上一篇:“Linux操作系统实验室”的分析和设计 下一篇:软件工程课程教学研究与研讨