图书前言

本书是大学计算机专业本科生“计算机系统结构”课的通用教材,也可作为有关专业研究生的教材。在目前各行各业普遍使用计算机的形势下,本书也可作为广大科技工作者从用户角度了解和学习计算机工作原理的专业参考书。

本书内容是根据作者20多年来从事“计算机系统结构”等课程的教学经验及有关科研工作的成果写成的。全书以横向方式组织教学内容,力求深入浅出地全面介绍计算机系统结构的基本原理,而不只是从头至尾具体介绍某一种计算机系统。在关键章节有1至2个实例,通过介绍目前通用的和先进的计算机系统来具体阐述计算机结构原理的各个侧面。读者通过学习本书,能够比较全面地掌握计算机系统结构的基本概念、基本原理、基本结构和基本分析方法。由于计算机系统是一个复杂的系统,在读者已经学习了“计算机组成原理”、“计算机操作系统”、“汇编语言程序设计”、“高级语言程序设计”等计算机硬件和软件方面的多门课程之后,通过学习“计算机系统结构”这门课程能够建立起计算机系统的完整概念。

“计算机系统结构”是从外部来研究计算机系统的一门学科。一般说来,凡是计算机系统的使用者(包括一般用户和系统程序员)所能看到的计算机系统的属性都是“计算机系统结构”所要研究的对象,这一点与“计算机组成原理”这门课程从计算机系统的内部来研究计算机不同。由于部分内容在先修课程(如“计算机组成原理”、“数据结构”、“计算机操作系统”、“汇编语言程序设计”等)中已经涉及到,但许多内容在这些课程中讲解得并不全面和深入,对于属于计算机系统结构的关键内容,本书力求从系统分析和设计的角度,深入浅出地介绍这些基础内容。这部分的内容主要有: 数据表示、指令系统、存储系统和输入输出系统。

自从本书第一版发行以来,计算机系统结构在许多方面有了新的发展,如超标量、超流水线及超标量超流水线结合的系统结构在微处理机中已经得到广泛应用,并行处理及其互连网络的发展非常迅速。本书对各章内容都进行了重写。与第一版相比,主要有如下特点: 第一,反映了国内外计算机系统结构方面比较成熟的研究成果和最新的发展。第二,内容更加全面。本书加入了许多新的内容。凡属于计算机系统结构的主要内容,在本书中都有介绍。第三,对许多关键内容的介绍更加深入。本书力求从系统设计和系统分析的高度来介绍计算机系统的基本概念和基本分析方法。第四,在每章后面增加了大量的习题,对加深对各部分内容的理解很有帮助。第五,增加了一个实验,即描述了一个虚拟的DLX处理机,它是一个RISC结构的流水线处理机。这是从美国著名的计算机系统结构教材中引进的。通过学习DLX处理机的指令系统和流水线结构,并使用DLX模拟器进行实验可以帮助读者更加全面地理解本书的有关内容。推出这一实验得到美国MORGAN KAUFMANN PUBL ISHERS INC的许可。

本书每章内容相互独立,教师可根据不同的学时和不同的专业需要任意选择其中的几章或有关章节的部分内容进行教学。对于在“计算机组成原理”或“计算机操作系统”等先修课程中已经系统学习过的内容可以舍去不讲,有些章节的内容可以让学生自学。

本书第一、六、七、八、九、十章和第十一章的第三部分由清华大学计算机系的郑纬民教授编写,第二、三、四、五章和第十一章的第一、二部分由清华大学计算机系的汤志忠教授编写。第十二章由杨博、裴丹、许开新译自David A. Patterson和John L. Hennessy编写的“Computer Architecture: A Quantitative Approach”中的有关部分,由陈文光博士审校和整理。

本书的编写和出版得到清华大学计算机系领导的大力支持,并得到有关教师多方面的帮助和鼓励。

限于作者的水平,错误和不当之处希望读者批评指正。