《计算机科学丛书:计算机组成原理》本书即为《计算机组成原理》,涵盖原书前三部分,共6章,主要介绍计算机系统的组成和体系结构的基本概念、指令系统以及处理器实现等涉及计算机组成原理课程的内容。
本书简介本书由资深的计算机体系结构教育家Alan Clements博士编写,原书名为《计算机体系结构:原理与演变》
(Computer Organization&Architecture:Themes and Variations),书中不仅覆盖单机系统的组成原理和系统结构的各个方面,还包括计算机的性能评价方法以及多发射、粗粒度并行等内容。作者希望本书能够适合电子工程(EE)、电子与计算机工程(ECE)、计算机科学(Cs)等不同专业的教学需要。书中国绕基本概念、指令集体系结构、处理器组成和能效、存储与外设以及处理器级并行等五个核心问题将这些内容有条不素地组织在一起,以便满足不同专业的教学需要。
中文版引进的时候综合考虑国内高校“计算机组成与结构”或类似课程的教学目标以及我们对本书的定位,对原书进行了适当裁剪和重新组合,分为两册:《计算机组成原理》和《计算机存储与外设》。
作者简介艾伦·克莱门茨(Alan Clements)国际著名的计算机体系结构教育的推动者和践行者。他于1997年获得英国拉夫堡大学(Loughborough University)博士学位,随后加入提寒德大学(University of Teesside)计算机科学系。在20世纪70-80年代,他编写了两本计算机体系结构领域的重要教材:《计算机硬件原理》(The Principles of Computer Hardware)和《微处理器系统设计》(Microprocessor Systems Design)。
2001年,他担任了计算机学会国际学生竞赛(CSIDC)主席,并于同年获得英国国家教学奖(National Teaching Fellowship),这是英国高等教育的最高奖项。由于在计算机体系结构教育方面的贡献,他于2002年获得IEEE CS本科教学奖,2006年获得IEEE CS泰勒布斯教育奖(Taylor L.Booth award)。2009年被选为IEEE Fellow。他在IEEE计算机学会担任了多个职务,并积极参加课程体系设计,撰写了关于未来计算机体系结构教育的论文,参加了CS/ACM 2001计算课程体系的编写和制定工作。2010年Alan Clements从全职教学岗位退休。
内容介绍本书共分三部分。第一部分从计算机组成和结构的有关概念、计算机的发展历程及存储程序计算机开始讲起,介绍了计算机系统的组成和体系结构的基本概念,然后讨论了数据在计算机中的表示方法和运算方法。第二部分讲解ISA的基本概念,并以ARM指令集为例介绍了ISA设计时需要考虑的主要问题,还介绍了另一个经典的RISC指令集MIPS,然后着重介绍了当前处理器为特定领域应用(比如多媒体应用)提供的支持。第三部分首先介绍了设计控制器的两种经典方法--微程序与组合逻辑,然后详细讨论了流水线技术、影响流水线性能的因素及一些可行的解决方法。
本书适合计算机科学、电子工程、电子与计算机工程及相关专业作为教学用书,也可供相关技术人员阅读参考。
穿越计算机体系结构之路阅读一本书最简单的方法是从第一页开始读,直到最后一页。不过这是一本很厚的书,将它全部读完几乎是不可能的。本书可作为“计算机组成原理”课程的教材,以下建议也许会帮助读者阅读本书。
尽管可以说本书中的所有内容都很重要,但它们不可能对每位读者都同等重要。一些读者也许已经熟悉了基础知识,可以略过本书的介绍部分。学生们也许还发现一些内容已经超出了课程考试范围,不过这并不意味着他们可以跳过这些内容。后面一些高级章节也许更贴近实践,或对学生今后的职业生涯更重要。我曾经问过学生:“如果雇主面试两个条件几乎完全相同的学生,其中一个超出课程范围读完了一些额外的资料,你们认为哪个学生更有可能获得这份工作?
这里将给出一些如何阅读本书的建议,包括:·章节概要列出了本书的各个内容对不同课程的适用性;面向初学者和高级读者的课程的内容组织;本书与IEEE CS/ACM计算学科课程体系的关系;本书中反复出现的主题。