《计算机系统概论》序 下载本文

《计算机系统概论》序

有两个原因让我在为本书写序时有些犹豫。一是我没有给书写序的经验;二是恐自己水平有限,写的序不能充分表述或突出这样一本优秀教材的独特之处而影响该书的推广和营销。不过,在经过慎重考虑后,我还是接受了这个挑战。凡事总有头一回吧,没有经验不是推脱的理由。另外,笔者在密歇根大学安阿伯分校的三年间曾耳闻目睹本书第一作者Yale Patt的过人学识与非凡个性,写起序来总会比不认识他的人有些优势。鉴于笔者水平有限,不当之处还请读者多多包涵。

Yale Patt曾是美国密歇根大学计算机体系结构实验室主任,被IEEE Spectrum称为美国计算机界的两位卓越泰斗(Luminary)之一(另一获此称号的是斯坦福大学的Donald Knuth),在计算机体系结构领域有着广泛的影响。本书不光是密歇根大学计算机专业的经典基础教材,也是多所美国知名大学,如得克萨斯大学奥斯汀分校、莱斯大学、明尼苏达大学双子城分校、乔治亚理工学院、伊利诺伊大学和西北大学的计算机专业基础教材。

也许你听过这样一个故事:在20世纪50~60年代,美国通用公司的一个大型发电机出了问题,所有的操作人员及工程技术人员面对一大堆的仪表和旋钮一筹莫展。于是,他

们叫来了一位专家。该专家看了一下,便拿出一把螺丝刀,将一个旋钮逆时针转动了35度,发电机就正常运转了。这个专家开出的账单为1000美元。通用公司觉得为这位专家仅花两分钟转动一个旋钮就完成的工作就支付1000美元太多,便要求一份更详细的说明。两天后,这位专家寄来了新的账单:

?将旋钮逆时针方向转动35度:0.75美元 ?知道应转动哪个旋钮及转动幅度:999.25美元

一本好的教科书不应只教导学生转动A旋钮35度,而是应教会学生为什么要转动A旋钮及为什么只能转动不多不少的35度。这也正是本书的优点所在。

与大多数讲述计算机组成原理或程序设计语言的书不同,本书并不是简单地讨论计算机组成原理或程序设计语言,而是从计算机整体系统的高度将软硬件连贯起来进行阐述。它强调的是理解,而不是死记硬背;强调的是软件与硬件结合,而不是软硬件的分别教授与学习。本书本着软件与硬件齐头并进的思路,从硬件的基本构件一直讲到软件的高级程序设计与构造,使学生在学习过程中能够软硬件融会贯通,相互印证,从而提高学习的广度、深度和效果,为后续的计算机专业课(如操作系统、计算机系统设计与结构、算

法设计与分析、高可靠软件工程理论等)打下基础。 本书最大的特点是其提倡的层次转换概念,即从问题开始到计算机运算出结果可以分为七个层次。通过七个层次的转换,即可完成问题到结果的转变。这七个层次及其转换是:问题到算法的转换、算法到程序设计语言的转换、程序到指令集结构(ISA)的转换、指令集结构到微观结构的转换、微观结构到电路的转换和电路到电路组件的转换。全书对每个层次转换都进行了深入的阐述,讲解了为什么需要这些转换和没有这些转换会带来什么困难。美国多所大学的教学实践表明,在教学中加入这种层次转换的概念会极大地提高学生对计算机软硬件的理解。

本书采取的策略是由底至上。在对计算机的哲学原理进行了简要综述后,即从晶体管开始,对逻辑门、触发器、逻辑结构和内存实现进行分别详细的讨论。在此基础上,再对冯?诺依曼执行模式进行剖析,构建一个简单的LC计算机。然后上升到软件层,对计算机汇编语言和高级程序设计语言C进行讲解,重点将程序设计语言的各种数据类型和构造与底层的硬件构造联系起来,从而使学生在深层次上理解程序设计语言里各种构造的来龙去脉以及计算机软硬件之间有机且千丝万缕的联系。

本书的使用方式有多种,我推荐以下四种比较适合国内教学体系的使用方式:

1. 密歇根模式:作为计算机软硬件原理的入门教材,无需先修课程。该模式在一个学期覆盖本书全部内容,时间安排为本科第一学年的第一学期。该模式要求学生自学的量很大,挑战性高,非常适用于有才华、进取心强的学生。 2. 正常模式:作为软硬件专业入门教材,无需先修课程,在一个学期覆盖大部分内容,但跳过第10章第3节和第10章第4节、第16章、第18章和第19章。时间安排为本科第一年的第二学期。该模式较密歇根模式来说负担稍轻,但仍具有相当的挑战性。

3. 第二模式:在学生已经进行了专业入门教育(如程序设计、数据结构和数字电路等)后使用本书作为第二课程的教材。这种模式在一个学期覆盖本书全部内容。而讲课时间则安排在本科二年级上学期。该模式适合于计算机专业的大多数学生。

4. 分治模式:将本书的内容分为两个学期讲授。第一学期讲授1~10章,第二学期讲授11~19章。时间安排为本科一年级下学期和二年级上学期。这是使用本书的最优方式。

本书结构紧凑、风格鲜明、内容精辟、条理清晰、文笔流畅、语言优美,阅读起来引人入胜,令人爱不释手。本书还引入了大量的典故和比喻(当然,有些典故和比喻需要读者事先了解西方文化背景才能完全领悟),让人感觉不到是

在读一本计算机教科书,而像是在读一本幽默有趣的长篇小说,或者借用Donald Knuth的话,“本书就像是一部蓝色的诗歌”。

好咖啡要和朋友一起品尝,好书也要和朋友一起分享。笔者强力推荐国内高校计算机专业的师生和所有对计算机软硬件有着浓厚兴趣的人士都读一读本书。读完本书后,你对计算机系统的理解将会达到一个崭新的境界。相信我,你不会失望的。