计算机组成(原书第5版)
作者 : (美)Carl Hamacher,Zvonko Vranesic,Safwat Zaky
译者 : 张红光 张健民 李莹 等
丛书名 : 计算机科学丛书
出版日期 : 2004-08-02
ISBN : 7-111-14262-4
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 600
开本 : 16开
原书名 : Computer Organization, Fifth Edition
原出版社: The McGraw-Hill Companies, Inc.
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是计算机组成的入门级教程,全面地介绍了计算机组成结构、操作、性能的基本概念,还介绍了有关外围设备、处理器系列模型以及嵌入式系统的一些主要内容。书中知识具有很强的实用性,并涵盖了当今许多先进的技术和设计思想。
  本书知识结构相对独立,需要读者具备计算机高级语言程序设计和数字逻辑电路的基本知识。本书适合用作高等院校电子工程、计算机工程和计算机科学专业计算机组成课程的教材。

图书特色

图书前言

本书适用于电子工程、计算机工程和计算机科学专业有关计算机组成方面的初级课程。本书的知识结构是相对独立的,假设读者已有了计算机高级语言程序设计的基本知识。
  许多学习计算机组成的学生都已经学习了数字逻辑电路这一门引导课程。因此,本书的主体内容没有包含这一部分的知识。但是我们为有需要的读者提供了逻辑电路方面的详尽附录。
  本书融入了作者在为电子及计算机工程、计算机科学与工程专业的本科生讲授计算机组成原理时所积累的丰富经验。在这个领域我们总是采用从实际出发的观点进行教学,因此形成了本书在内容上的一个关键考虑,即使用从商用计算机中提取的例子来说明计算机的组成原理。本书中的主要例子来源于以下处理器:ARM、Motorola 680X0、 Intel Pentium 及Sun UltraSPARC。
  读者必须清楚地认识到,数字系统的设计并不是应用最佳设计算法的简单过程。许多设计决策取决于大量试探性的判断和经验。这包括在一系列选择方案中进行成本/性能、硬件/软件的权衡。我们的目标就是把这些思想传达给读者。
  我们努力提供足够多的细节,鼓励学生在处理那些看上去很明显的问题时进行深层次的挖掘,我们相信最佳的途径是使用那些已被充分验证过的真实例子。框图是描述计算机组成特征的有效方法,但是它们容易使问题过于简单化。因此,必须使用各种实现方案的细节作为补充。
  本书可以作为工程学或计算机科学专业一个学期的课程用书。它对于软件和硬件方向的学生均适用。尽管本书侧重于硬件,我们仍阐述了大量软件方面的问题,包括与指令执行性能、系统级并行操作协调以及实时应用程序相关的编译器与操作系统的基本知识。计算机专业人员有必要了解软件与硬件之间的交互与权衡问题。

本书的内容
  下面我们按章节顺序来介绍一下本书的内容。前8章涵盖了计算机组成、操作及性能的基本概念,后4章讨论了嵌入式系统、外围设备、处理器系列的演变模型以及大型计算机系统。
  第1章对计算机硬件和软件给出了总体的描述,并对在后续章节中将会深入研究的术语进行了概括性介绍。该章介绍了基本功能部件以及将它们相互连接组成一个完整计算机系统的方法,还介绍了系统软件的作用,并讨论了性能评估的基本内容。还介绍了计算机的发展简史。
  第2章系统地介绍了机器指令、寻址技术和指令序列。为了便于讨论有效地址的生成,我们引入了二进制补码运算。用于讨论循环、子程序、简单的输入输出编程、排序和链表操作的程序示例均在机器指令级别上使用通用的汇编语言表示。
  第3章以三种商用处理器—ARM、68000和Pentium为例说明了第2章中概念的具体实现。其中ARM处理器诠释了RISC设计风格,68000使用了易于接受的CISC设计,而Pentium处理器综合了RISC和CISC的设计风格并成为最成功的商业设计。这些内容构成三个独立而完整的部分。每个部分都包含第2章中提出的所有例子,它们使用指定的处理器进行了实现。学习其中任何一部分都能够满足继续学习本书后面章节的需要。如果实验室使用了书中介绍的其中一种处理器,那么第3章中的相关部分就可以与第2章同时讲授。
  输入输出结构将在第4章中介绍。这一章讲述了I/O数据传输同步的基本知识以及一系列渐趋复杂的I/O结构。我们对中断和直接存储器访问方法进行了详细的描述,包括对操作系统中软件中断作用的具体讨论。还以PCI、SCSI以及USB标准为代表介绍了总线协议与标准。
  第5章讨论了半导体存储器,包括SDRAM、Rambus和闪存(flash memory)的实现。作为增加主存储器带宽的方法,本章还介绍了高速缓存(cache)和多模块存储器系统。其中对高速缓存进行了详细讨论,包括性能建模。还介绍了虚拟存储器系统、存储器管理和快速地址转换技术,并将磁盘和光盘作为存储器体系结构的一部分进行了讨论。
  第6章介绍了计算机中的算术单元,对二进制补码数定点加、减、乘、除硬件的逻辑设计操作作了描述。这一章还解释了超前进位加法器和快速乘法器,并描述了Booth乘法器重编码和进位保留加法技术。另外本章还介绍了IEEE标准中浮点数的表示与操作。
  第7章在寄存器传送层次上介绍了处理器取指与执行的实现,接下来讨论了使用硬布线和微程序控制方式实现的处理器。
  第8章详细介绍了流水线和多功能单元在高性能处理器设计中的使用。这一章还探讨了编译器的作用以及流水线执行与指令集设计之间的关系。本章还对超标量处理器进行了讨论,并以Sun 公司的UltraSRARC II处理器为例阐述了相关概念。
  今天越来越多的处理器被用于嵌入式系统而不是通用计算机中。大量低成本的应用都需要将处理I/O和定时功能集成在单个芯片上,这一日趋重要的问题将在第9章介绍。在第9章中还将讨论系统集成、互连及实时软件设计问题。
  第10章讲述外围设备和计算机互连的有关知识,介绍了典型的输入/输出设备及支持计算机图形应用所需要的硬件设备,还讨论了DSL等一般通信链路。
  第11章介绍了ARM、Motorola 和Intel处理器系列的演变过程。这一章强调的是可获得更高性能要求的设计改变,还讨论了 PowerPC、SPARC、Alpha和 Intel IA-64系列。
  第12章将计算机组成的讨论扩展到多处理器、并行操作的大型系统层面上。这一章描述了多处理器的互连网络,还对高速缓存的一致性控制、共享存储器与消息传递策略作了介绍。

第5版的特点
  本书的第5版对内容和结构安排主要作了以下几个方面的改动:
  * 第4版中的第2章在第5版中拆为两章,即第2章与第3章。本版中第2章对基础问题作了扩展处理,并用一般的指令进行解释,还提供了很多解决典型问题的程序实例,包括数字的与非数字的。而第3章则使用了ARM、68000及Pentium处理器等指令集来说明如何以RISC和CISC设计风格实现指令集设计的基本概念。
  * 对流水线和多功能单元在处理器设计中作用的讨论进行了很大程度的扩展,把UltraSPARC体系结构作为增强设计性能的一个特殊例子作了介绍。
  * 加入了嵌入式处理器系统这一新内容,并以典型系统的通用设计作为详细讨论应用举例的基础。
  除了上述的主要变化外,本版的多个章节还加入了当今许多先进的技术和设计方法。

课程进度安排
  本书适合作为大学或学院计算机组成方面入门课程的教材,总学时为一学期。
  书中提供了多于一个学期课程所要讲授的内容,其核心部分是第1章至第8章。如果学生还未学习过逻辑电路,则应在第4章之前学习附录A中的基本内容。
  第9章至第12章包含了大量实用的内容,教师可根据实际情况自主安排所要讲授的内容,特别是第9章有关嵌入式系统的讨论和第10章关于大多数个人计算机中所使用的硬件设备描述。

致谢
  在此,我们向许多在第5版出版的准备期间提供帮助的朋友表示衷心的感谢。Gail Burgess和 Kelly Chan协助我们完成了原稿的技术处理。 Alex Grbic、Frank Hsu 和Robert Lu向我们提供了大量有价值的程序实例。我们的同事 Tarek Abdelrahman、Stephen Brown、Paul Chow、Glenn Gulak和 Jonathan Rose提出了许多建设性的建议。我们特别要感谢 Stephen和Tarek在重要细节问题上提供的帮助。俄亥俄州立大学的Gojko Babic,弗吉尼亚工业学院和州立大学的Nathaniel Davis,普度大学的Jose Fortes, 赖斯大学的John Greiner,旧金山州立大学的Sung Hu,宾州州立大学的Ali Hurson,得州大学奥斯汀分校的 Lizy Kurian John, 德国弗赖堡Albert Ludwigs大学的Stefan Leue,Northeastern大学的Fabrizio Lombardi, George Mason 大学的 Daniel Tabak,Rensselaer Polytechnic学院的 John Valois也给予我们很多出色的建议。还要感谢 Eli Vranesic允许我们使用他的作品“Fall in High Park”作为本书的封面,他用计算机完成了这幅作品。最后,我们衷心地感谢编辑 Catherine Fields Shultz及她在 McGraw-Hill的同事们的支持,他们是 Kelley Butcher、Michelle Flomenhoft、Kalah Graham、Betsy Jones、Rick Noel、Heather Sabo 和Christine Walker。

Carl Hamacher
Zvonko Vranesic
Safwat Zaky

作者简介

(美)Carl Hamacher,Zvonko Vranesic,Safwat Zaky:Carl Hamacher: Carl Hamacher 加拿大滑铁卢大学工程物理学士,加拿大金斯顿女皇大学(Queen誷 University at Kingston)电子工程硕士,纽约州Syracuse大学电子工程博士。1968~1990年任多伦多大学电子工程及计算机科学学院教授,1984~1988年担任计算机系统研究所所长,1988~1990年担任工程科学部主席。自1991年1月起任女皇大学电子及计算机工程学院教授,1991~1996年任应用科学系主任。1978~1979年曾作为访问学者到加利福尼亚州San Jose的IBM研究实验室工作。1986年作为访问研究员在法国Grenoble大学电路与系统实验室工作。1996~1997年作为访问教授在加州大学 Riverside 分校计算机科学系和法国Paris VI 大学LIP6实验室工作。 他的研究方向为多处理器与多计算机,侧重于网络互连。
Zvonko Vranesic: Zvonko Vranesic 先后获得加拿大多伦多大学电子工程学士、硕士及博士学位。1963~1965年在加拿大安大略省Bramalea的北方电子有限公司(the Northern Electric Co., Ltd.)任设计工程师。1968年进入多伦多大学工作,现为电子及计算机工程学院和计算机科学学院教授。1978~1979年作为高级访问学者访问英国剑桥大学,1984~1985年访问法国Paris VI大学。2000~2001年担任多伦多Altera公司高级软件工程师。1995~2000年任多伦多大学工程科学学院客座教授。 他现在的研究方向包括:计算机体系结构、可编程VLSI技术及多值逻辑系统。他也是另外三本书—《Fundamentals of Digital Logic with VHDL Design》、《Microcomputer Structures》及《Field-Programmable Gate Arrays》的合著者。1990年由于其“对本科实验指导的创新和与众不同的贡献”获Wighton奖金。
Safwat Zaky: Safwat Zaky 埃及开罗大学电子工程和数学双学士,后获多伦多大学电子工程硕士及博士学位。1969~1972年在加拿大安大略省的贝尔北方研究室(Bell Northern Research)从事在大规模存储与电话交换中应用光电子及磁性的研究。1973年进入多伦多大学工作,现为电子及计算机工程学院和计算机科学学院教授,并且是电子与计算机工程学院院长。1980~1981年他曾作为高级访问学者在英国剑桥大学计算机实验室工作。 他的研究方向为计算机体系结构、数字电路可靠性及电磁相容性分析。他还是《Microcomputer Structures》一书的合著者,并且荣获了IEEE“第三千禧奖章”(the IEEE Third Millennium Medal)。

译者简介

张红光 张健民 李莹 等:张红光: 女,南开大学计算机系副教授。78届武汉大学计算数学专业毕业, 毕业后在原航空航天部771所从事抗恶劣环境加固型计算机系统的研究与开发工作长达十六年之久. 主要研究的领域是专用计算机中系统软件和应用软件的开发、设计、移植等工作。97年调入南开大学计算机系工作,主要从事计算机专业的教学与科研工作。教学情况:98年以来担任了计算机系相关专业的选修课“UNIX系统技术”本科教学工作,200年以来承担"操作系统原理"本科主干课程的教学工作.荣获天津市教委2001多媒体教学课件二等奖、2002年IBM e-server奖研金。

译者序

计算机组成原理是学习计算机工程与计算机科学专业知识的基础,计算机系统设计的复杂性决定了本书论述内容的综合性和广泛性。计算机系统设计包含多个领域知识的研究与应用,而计算机体系结构的建立包括设计算法的选择、设计方案的确定、系统成本与系统性能的权衡以及硬件功能与软件功能的权衡等方面,需要考证大量的实验数据并积累实践经验。学习计算机组成原理就是要学会从多层面去理解所要解决的具体问题,从表面的现象中挖掘出系统内在的、深层次的联系,从硬件和软件两个角度探讨最佳的解决途径和解决方案。
  《计算机组成》(Computer Organization)是一本经典的电子工程与计算机科学专业的本科教科书,它的第1版于1978年问世,之后陆续出版了第2~5版,我们本次翻译的第5版目前已成为多所世界知名大学的本科教材。本书知识结构合理,知识点全面完整,基本概念广泛而新颖。更可贵的是书中以流行的商用处理器作为范例,描述了各种基本知识和基本概念的应用方法和应用过程,使书中知识具有很强的实用性,同时还涵盖了当今许多先进的技术和设计思想。
  本书由12章和5个附录部分组成,全面地介绍了计算机组成、计算机操作、计算机性能的基本概念,还介绍了外围设备、处理器系列模型以及嵌入式系统的一些主要内容。书中知识独立,适合讲授或自学。附录中的内容是对正文的补充,将两者结合起来学习可以收到良好的效果。
  本书由张红光组织并翻译,张健民、李莹、蒋跃军参与了大量的翻译和校对工作。参加本书翻译、校对及整理工作的还有张楠、王华、徐巧丽、房金花等。南开大学微电子中心的李福才副教授对本书的翻译工作给予了大量的帮助和指导,在此一并表示感谢。
  由于译者水平有限,译文中疏漏和错误在所难免,敬请读者批评指正。

译  者
2003年12月于南开园

图书目录

第1章  计算机的基本结构 1
1.1  计算机的类型 1
1.2  功能部件 2
1.2.1  输入设备 3
1.2.2  存储器 3
1.2.3  运算器 4
1.2.4  输出设备 4
1.2.5  控制器 4
1.3  基本操作概念 5
1.4  总线结构 6
1.5  软件 7
1.6  性能 9
1.6.1  处理器时钟 10
1.6.2  基本性能公式 10
1.6.3  流水线和超标量操作 10
1.6.4  时钟频率 11
1.6.5  指令集:CISC和RISC 11
1.6.6  编译器 12
1.6.7  性能测量 12
1.7  多处理器和多计算机 13
1.8  发展历程 13
1.8.1  第一代计算机 13
1.8.2  第二代计算机 14
1.8.3  第三代计算机 14
1.8.4  第四代计算机 14
1.8.5  后第四代计算机 14
1.8.6  性能的发展 14
1.9  结束语 15
习题 15
参考文献 16
第2章  机器指令和程序 17
2.1  数、算术运算以及字符 18
2.1.1  数的表示 18
2.1.2  正数的加法 19
2.1.3  有符号数的加法和减法 19
2.1.4  整数算术运算中的溢出 21
2.1.5  字符 22
2.2  内存单元和寻址 22
2.2.1  按字节寻址能力 23
2.2.2  big-endian和little-endian分配 23
2.2.3  字的对齐 24
2.2.4  访问数、字符和字符串 24
2.3  存储器操作 24
2.4  指令和指令序列 25
2.4.1  寄存器传送标记 25
2.4.2  汇编语言符号 25
2.4.3  基本指令类型 26
2.4.4  指令执行和线性序列 29
2.4.5  转移 30
2.4.6  条件码 31
2.4.7  生成存储器地址 32
2.5  寻址方式 32
2.5.1  变量和常数的实现 33
2.5.2  间接和指针 34
2.5.3  变址和数组 36
2.5.4  相对寻址 38
2.5.5  附加方式 39
2.6  汇编语言 40
2.6.1  汇编指示 41
2.6.2  程序的汇编和执行 43
2.6.3  数的表示 44
2.7  基本输入/输出操作 44
2.8  堆栈和队列 47
2.9  子程序 50
2.9.1  子程序嵌套及处理器堆栈 51
2.9.2  参数传递 51
2.9.3  堆栈的结构 52
2.10  附加的指令 56
2.10.1  逻辑指令 56
2.10.2  移位和循环移位指令 57
2.10.3  乘法和除法 60
2.11  实例程序 60
2.11.1  向量点积程序 60
2.11.2  字节排序程序 61
2.11.3  链表 62
2.12  机器指令的编码 66
2.13  结束语 69
习题 69
第3章  ARM、Motorola与Intel指令集 73
部分I  ARM实例 73
3.1  寄存器、内存访问及数据传递 73
3.1.1  寄存器结构 74
3.1.2  内存访问指令和寻址方式 74
3.1.3  寄存器传送指令 80
3.2  算术和逻辑指令 80
3.2.1  算术指令 80
3.2.2  逻辑指令 81
3.3  转移指令 82
3.3.1  设置条件码 83
3.3.2  用于数值相加的循环程序 83
3.4  汇编语言 84
3.5  I/O操作 85
3.6  子程序 86
3.7  实例程序 89
3.7.1  向量点积程序 89
3.7.2  字节排序程序 90
3.7.3  链表的插入和删除子程序 91
部分II  68000实例 93
3.8  寄存器与寻址方式 93
3.8.1  68000寄存器结构 93
3.8.2  寻址方式 93
3.9  指令 97
3.10  汇编语言 99
3.11  程序流控制 100
3.11.1  条件码标志 100
3.11.2  转移指令 100
3.12  I/O操作 102
3.13  堆栈和子程序 103
3.14  逻辑指令 107
3.15  实例程序 108
3.15.1  向量点积程序 108
3.15.2  字节排序程序 108
3.15.3  链表的插入和删除子程序 109
部分III  IA-32  Pentium 实例 109
3.16  寄存器和寻址方式 110
3.16.1  IA-32寄存器结构 111
3.16.2  IA-32寻址方式 113
3.17  IA-32指令 116
3.18  IA-32汇编语言 121
3.19  程序流控制 122
3.19.1  条件跳转及条件码标志 122
3.19.2  无条件跳转 123
3.20  逻辑和移位/循环移位指令 123
3.20.1  逻辑操作 123
3.20.2  移位与循环移位操作 123
3.21  I/O操作 124
3.21.1  存储器映射I/O 124
3.21.2  独立I/O 124
3.21.3  块传送 125
3.22  子程序 126
3.23  其他指令 127
3.23.1  乘法与除法指令 128
3.23.2  多媒体扩展(MMX)指令 130
3.23.3  向量(SIMD)指令 131
3.24  实例程序 131
3.24.1  向量点积程序 131
3.24.2  字节排序程序 131
3.24.3  链表的插入与删除子程序 132
3.25  结束语 133
习题 134
参考文献 143
第4章  输入输出组织结构 145
4.1  访问I/O设备 145
4.2  中断 148
4.2.1  中断的硬件 149
4.2.2  中断的允许和禁止 150
4.2.3  处理多台设备 151
4.2.4  控制设备请求 154
4.2.5  异常 155
4.2.6  在操作系统中使用的中断 156
4.3  处理器举例 159
4.3.1  ARM中断结构 159
4.3.2  68000中断结构 163
4.3.3  Pentium的中断结构 164
4.4  直接存储器访问 166
4.5  总线 170
4.5.1  同步总线 171
4.5.2  异步总线 173
4.5.3  讨论 175
4.6  接口电路 176
4.6.1  并行端口 176
4.6.2  串行端口 182
4.7  标准I/O接口 184
4.7.1  外围部件互连(PCI)总线 185
4.7.2  SCSI总线 189
4.7.3  通用串行总线(USB) 193
4.8  结束语 200
习题 200
参考文献 205
第5章  存储器系统 207
5.1  基本概念 207
5.2  半导体随机存储器 209
5.2.1  存储器芯片的内部组织结构 210
5.2.2  静态存储器 211
5.2.3  异步动态随机存储器 212
5.2.4  同步动态随机存储器 214
5.2.5  大容量存储器的结构 216
5.2.6  存储器系统因素 217
5.2.7  Rambus存储器 218
5.3  只读存储器 219
5.3.1  ROM 220
5.3.2  PROM 220
5.3.3  EPROM 220
5.3.4  EEPROM 221
5.3.5  闪存 221
5.4  速度、容量和成本 222
5.5  高速缓存 223
5.5.1  映射功能 224
5.5.2  替换算法 227
5.5.3  映射技术的例子 228
5.5.4  商用处理器中高速缓存的例子 230
5.6  性能因素 233
5.6.1  交叉 233
5.6.2  命中率和失效开销 235
5.6.3  处理器芯片上的高速缓存 237
5.6.4  其他改进 237
5.7  虚拟存储器 239
5.8  存储器管理需求 242
5.9  辅助存储器 243
5.9.1  磁性硬盘 243
5.9.2  光盘 249
5.9.3  磁带系统 253
5.10  结束语 254
习题 255
参考文献 259
第6章  算术运算 261
6.1  有符号数加减法 261
6.2  快速加法器设计 264
6.3  正数乘法 267
6.4  有符号操作数乘法 270
6.5  快速乘法 272
6.5.1  乘数位偶重编码 272
6.5.2  求和项的进位保留加法 273
6.6  整数除法 276
6.7  浮点数及其操作 278
6.7.1  浮点数的IEEE标准 279
6.7.2  浮点数算术运算 281
6.7.3  保护位与截取 282
6.7.4  浮点操作的实现 283
6.8  结束语 285
习题 285
参考文献 290
第7章  基本处理部件 291
7.1  一些基本概念 291
7.1.1  寄存器传送 293
7.1.2  执行算术或逻辑操作 294
7.1.3  从存储器中取出一个字 295
7.1.4  向存储器中存储一个字 296
7.2  一条完整指令的执行 297
7.3  多总线结构 298
7.4  硬件控制 300
7.5  微程序控制 302
7.5.1  微指令 304
7.5.2  微程序的顺序 306
7.5.3  宽转移寻址方式 307
7.5.4  带有下一地址字段的微指令 309
7.5.5  预取微指令 311
7.5.6  仿真 313
7.6  结束语 313
习题 314
第8章  流水线 319
8.1  基本概念 319
8.1.1  高速缓存的作用 321
8.1.2  流水线性能 322
8.2  数据阻塞 324
8.2.1  操作数传递 325
8.2.2  用软件方法处理数据阻塞 326
8.2.3  副作用 327
8.3  指令阻塞 327
8.3.1  无条件转移 327
8.3.2  条件转移和转移预测 330
8.4  对指令集的影响 334
8.4.1  寻址方式 334
8.4.2  条件码 336
8.5  数据通路和控制 336
8.6  超标量操作 338
8.6.1  无序执行 339
8.6.2  执行完成 340
8.6.3  调度操作 341
8.7  UltraSPARC II实例 342
8.7.1  SPARC体系结构 342
8.7.2  UltraSPARC II 346
8.7.3  流水线结构 346
8.8  性能考虑 353
8.8.1  指令阻塞的影响 354
8.8.2  流水线的段数 355
8.9  结束语 355
习题 356
参考文献 358
第9章  嵌入式系统 359
9.1  嵌入式系统的实例 359
9.1.1  微波炉 360
9.1.2  数码照相机 361
9.1.3  家用遥测技术 362
9.2  嵌入式应用中的处理器芯片 363
9.3  一个简单的微控制器 364
9.3.1  并行I/O端口 364
9.3.2  串行I/O接口 366
9.3.3  计数器/定时器 367
9.3.4  中断控制机制 368
9.4  程序设计问题 369
9.4.1  轮询方法 369
9.4.2  中断方法 372
9.5  I/O设备的时序限制 373
9.5.1  通过环形缓冲区做传送的C程序 374
9.5.2  通过环形缓冲区做传送的汇编语言程序 374
9.6  反应计时器实例 374
9.6.1  用于反应计时器的C程序 377
9.6.2  用于反应计时器的汇编语言程序 379
9.6.3  最后评价 380
9.7  嵌入式处理器系列 380
9.7.1  基于Intel 8051的微控制器 381
9.7.2  Motorola微控制器 381
9.7.3  ARM微控制器 382
9.8  设计问题 382
9.9  片上系统 384
9.10  结束语 386
习题 387
参考文献 389
第10章  计算机外围设备 391
10.1  输入设备 391
10.1.1  键盘 392
10.1.2  鼠标 392
10.1.3  跟踪球、操作杆和触摸垫 392
10.1.4  扫描仪 394
10.2  输出设备 394
10.2.1  视频显示器 394
10.2.2  平面显示器 395
10.2.3  打印机 396
10.2.4  图形加速卡 396
10.3  串行通信连接 398
10.3.1  异步传输 400
10.3.2  同步传输 401
10.3.3  标准通信接口 404
10.4  结束语 405
习题 405
第11章  处理器系列 409
11.1  ARM系列 410
11.1.1  Thumb指令集 410
11.1.2  处理器和CPU内核 411
11.2  Motorola 680X0和ColdFire系列 412
11.2.1  68020处理器 412
11.2.2  68030和68040处理器的改进 414
11.2.3  68060处理器 414
11.2.4  ColdFire系列 414
11.3  Intel IA-32系列 415
11.3.1  IA-32存储器分段 415
11.3.2  16位模式 416
11.3.3  80386和80486 处理器 417
11.3.4  Pentium处理器 417
11.3.5  Pentium Pro 处理器 417
11.3.6  Pentium II和Pentium III处理器 418
11.3.7  Pentium 4处理器 418
11.3.8  AMD公司的IA-32处理器 419
11.4  PowerPC 系列 419
11.4.1  寄存器集 419
11.4.2  存储器寻址方式 419
11.4.3  指令 419
11.4.4  PowerPC处理器 420
11.5  Sun公司SPARC系列 421
11.6  康柏ALPHA系列 422
11.6.1  指令和寻址方式的格式 422
11.6.2  ALPHA 21064处理器 423
11.6.3  ALPHA 21164处理器 423
11.6.4  ALPHA 21264处理器 423
11.7  Intel IA-64系列 424
11.7.1  指令包 424
11.7.2  条件执行 424
11.7.3  推测性装入 425
11.7.4  寄存器和寄存器堆栈 425
11.7.5  Itanium 处理器 427
11.8  堆栈处理器 427
11.8.1  堆栈结构 428
11.8.2  堆栈指令 430
11.8.3  堆栈中的硬件寄存器 433
11.9  结束语 433
习题 434
参考文献 435
第12章  大型计算机系统 437
12.1  并行处理的形式 438
12.2  阵列处理器 439
12.3  通用多处理器结构 440
12.4  互连网络 441
12.4.1  信号总线 442
12.4.2  纵横(Crossbar)网络 443
12.4.3  多段网络 444
12.4.4  超立方体网络 445
12.4.5  网状网络 446
12.4.6  树状网络 446
12.4.7  环状网络 447
12.4.8  实用性因素 448
12.4.9  混合拓扑网络 450
12.4.10  对称式多处理器 450
12.5  多处理器的存储器组织结构 451
12.6  程序并行性与共享变量 452
12.6.1  共享变量访问 452
12.6.2  高速缓存一致性 454
12.6.3  加锁和高速缓存一致性 456
12.7  多计算机 456
12.7.1  局域网 457
12.7.2  以太网(CSMA/CD)总线 457
12.7.3  令牌环 458
12.7.4  工作站网络 458
12.8  共享存储器和消息传递实例 458
12.8.1  共享存储器实例 459
12.8.2  消息传递实例 461
12.9  性能因素 462
12.9.1  Amdahl定律 463
12.9.2  性能指标 464
12.10  结束语 464
习题 465
参考文献 467
附录A  逻辑电路 469
附录B  ARM指令集 519
附录C  Motorola 68000 指令集 533
附录D  Intel IA-32指令集 549
附录E  字符编码与数的转换 565
索引 569

教学资源推荐
作者: [美] 兰德尔 E.布莱恩特(Randal E. Bryant)大卫 R. 奥哈拉伦(David R. O'Hallaron) 著
作者: [英]E. R. 戴维斯(E. R. Davies) 著
作者: 彭波
参考读物推荐
作者: 于中华,黄桂钦等
作者: 赵军 等编著
作者: 杨剑 张璞 陈火红
作者: 华诚科技 编著