计算机组成与体系结构:性能设计(原书第8版)

当前位置:首页 > 计算机网络 > 计算机体系结构 > 计算机组成与体系结构:性能设计(原书第8版)

出版社:机械工业出版社
出版日期:2011-5
ISBN:9787111328780
作者:(美)William Stallings
页数:505页

章节摘录

版权页:插图:1.1 计算机组成与体系结构在描述计算机系统时,常常要区分计算机体系结构和计算机组成这两个基本概念。虽然很难给出这两个术语的精确定义,但对它们所涉及的领域存在着共识(见文献[vRAN80]、[SIEW82]和[BELL38a]),一种有趣的可供选择的观点可参见文献[REDD76]。计算机体系结构是那些对程序员可见的系统属性,换句话说,这些属性直接影响到程序的逻辑执行。计算机组成是实现结构规范的操作单元及其相互连接。例如,体系结构的属性包括指令集、用来表示各种数据类型(例如,数据、字符)的比特数、输入输出机制以及内存寻址技术。组成的属性包括那些对程序员可见的硬件细节,如控制信号、计算机和外设的接口以及存储器使用的技术。例如,计算机是否有乘法指令是体系结构设计的问题。而这条指令是由特定的乘法单元实现,还是通过重复使用系统的加法单元来实现,则是组成的问题。组成基于乘法单元使用的预期频度、两种方案的相对速度以及特定乘法单元的成本和物理尺寸等因素。无论是过去还是现在,了解体系结构与组成之间的差别都是很重要的。很多计算机制造商会提供系列机产品,它们有着相同的体系结构,但组成是不相同的,因此,同一系列中不同型号的计算机的价格和性能也不相同。进一步来说,一种特殊的体系结构可以存在多年,并且覆盖多种不同的计算机型号,但它的组成则随着技术的进步而不断更新。这种现象的一个突出例子是IBMSystem/370体系结构,这种架构于1970年推出,包括多种型号。低需求的客户可以购买较便宜、速度较慢的型号,如果今后要求提高了,可以升级到更贵的、速度更快的型号,而不必丢弃已经开发的软件。近几年,IBM通过改进技术推出了许多新型号来替代旧的型号,为用户提供高速、低价或两者兼备的产品。这些新型号保留了同样的体系结构,因而保障了用户的软件资源。值得注意的是,System/370体系结构经过几次增强,不但生存至今,而且仍是IBM的旗舰产品。在被称之为微计算机的一类计算机系统中,体系结构和组成的关系非常紧密。技术的更新不仅影响了计算机的组成,而且还导致了更强大和更复杂的体系结构。通常,越小的机器,新旧两代之间的兼容性要求越少,因此组成和体系结构设计决策的关系就更加紧密。关于它的一个有趣的例子就是精简指令集计算机(RISC),本书将在第13章进行深入的讨论。

前言

前言目标这是一本关于计算机结构和功能方面的书,力求清晰完整地给出当今计算机系统的性质和特征。这项任务极具挑战性,主要有如下几个原因:首先,有非常多的产品类型都冠以“计算机”的名字,从只值几美元的单片机到价值几千万美元的超级计算机。这种多样性不仅体现在价格上,也体现在规模、性能和应用上。其次,计算机技术的快速变化步伐从未停止过,这一直以来就是它的特征。这些变化涉及计算机技术的所有方面,从用于构造计算机部件底层的集成电路技术,到组合这些部件的并行组织概念。尽管计算机领域存在着种类的多样性和变化的迅速性,但某些基本概念始终不变。当然,这些概念的应用取决于当前的技术状况和设计者的性能/价格目标。本书的目的在于深入讨论计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题上。副标题(性能设计)指出了本书的主题和采用的方法。计算机系统的高性能设计历来都是最重要的,但这一要求从来没有像现在这样强烈和难以满足。计算机系统的所有基本性能特征,包括处理器速度、存储器速度、存储器容量和互连的数据速率,都在迅速提高,而且是以不同的速率在提高。这就使得设计一个实现性能最大化并考虑所有因素影响的平衡系统变得非常困难。于是,计算机设计越来越成为一种博弈,它要以改变一个领域的结构和功能来补偿另一领域的性能失配。我们将会看到,这种博弈贯穿本书的许多设计。像任何系统一样,计算机系统由一组相互关联的部件组成。通过结构(部件互连的方式)和功能(单个部件的操作)最能表征一个系统。而且,计算机的组织是层次化的,通过将每个主要部件分解成主要子部件,并描述各主要子部件的结构和功能,可以进一步描述各主要部件。为了清晰和易于理解,本书自顶向下地描述这种层次化组织。计算机系统:主要部件是处理器、存储器和I/O。处理器:主要部件是控制器(或控制单元)、寄存器、ALU和指令执行单元。控制器:为所有的处理器部件的操作和协调提供控制信号。传统上,一直使用的是微程序实现方式,其主要部件包括控制存储器、微指令序列逻辑和寄存器。最近,微程序设计已经不占主导地位,但仍是一种重要的实现技术。本书力求采用在清晰的上下文中组织新素材的方式讲解有关内容,以最大限度地避免读者的迷惑,这样应该比自底向上的讲解方式更好。考察系统的两个着眼点是体系结构(机器语言程序员可见的系统属性)和组成(实现体系结构的操作单元和它们的互连),它们将贯穿于全书的讨论之中。使用的范例本书希望读者熟悉当代操作系统的设计原理和实现方法,因此,纯概念或纯理论的阐述是不适合的。为了说明概念并将它们与现实世界中必须要做的设计选择联系起来,本书选用以下两个处理器系列作为贯穿全书的范例:Intel x86体系结构:Intel x86体系结构非常广泛地应用于非嵌入式计算机系统。Intel x86基本上是一种复杂指令集计算机(CISC),但具有某些RISC特征。目前的x86系列成员都采用超标量体系结构和多核设计原则。x86体系结构的特征演变为学习大多数计算机体系结构的设计原理提供了一种独特的案例。ARM:ARM嵌入式体系结构已被证明是应用最广泛的嵌入式处理器,它应用于手机、音乐播放器、远程传感设备以及很多其他设备。ARM基本上是一种精简指令集计算机(RISC)。目前的ARM系列成员都采用超标量体系结构和多核设计原则。很多例子(但非全部)都出自这两个计算机系列:Intel x86和ARM嵌入式处理器系列。许多其他系统,包括当代的和历史上的,也提供了计算机体系结构设计特征的重要案例。本书结构本书由以下五个部分组成:概论计算机系统中央处理器控制器并行组织,包括多核本书具有许多利于教学的特点,例如,交互式模拟工具的使用、大量插图和表格使讨论更清楚等。每一章均包含关键词、思考题和习题以及推荐的读物和Web站点。书末还附有术语表(列出了常用的缩写词)和参考文献。读者对象本书面向高校师生和专业技术人员。它可以作为计算机科学、计算机工程、电气工程等专业本科生一学期或两学期的教材。它覆盖了CS 220 Computer Architecture课程要求的所有主题,而计算机体系结构是IEEE/ACM Computer Curricula 2001的核心课程之一。对关注此领域的专业技术人员,本书可作为有参考价值的基础读物,并适合自学。教学资源为辅助教学,本书提供了下列资料:解题手册:解答各章后面的思考题和习题。课题手册:提供各类课题的详细安排目录。幻灯片:提供了所有章节的、适于教学的幻灯片。PDF文件:复制了书中的所有表格和插图。试题库:包括判断对错题、多项选择题、填空题与答案。所有这些支持材料都在教师资源中心(IRC)。本版在Web站点上更新了一组习题的有效解决方案,学生可以通过做习题并核对答案来加深对内容的理解。课题和其他学生练习许多教师都很清楚,课题训练是计算机组成与体系结构课程的重要部分,它可以使学生获得实践锻炼并强化所学到的概念。本书提供的这方面的支持包括:交互式模拟作业:稍后描述。研究性课题:一系列研究性作业,指导学生研究Internet上的一个特定课题并写出报告。模拟性课题:教师资源中心提供了SimpleScalar和SMPCache两个模拟软件包。前者可用于探索计算机组成与体系结构的设计问题;后者为研究对称多处理器(SMP)的cache设计问题提供了强有力的教学工具。汇编语言课题:使用一种简化的汇编语言CodeBlue,并提供了一些基于流行的Core Wars游戏概念的作业。阅读/报告类作业:每章有一篇或几篇文献论文列表,可以要求学生阅读并写出简短报告。写作作业:提供一系列写作题目来帮助读者学习。试题库:包括判断对错题、多项选择题、填空题与答案。这些课题和其他练习为使用本书教学提供了方便,教师可根据需要酌情选择,选择方法参见附录A。交互式模拟工具第8版提供了一些交互式模拟工具,这些模拟工具为理解现代计算机系统的复杂设计特征提供了有力的支持。总共有20个交互式模拟工具用于说明计算机组成与体系结构设计中的关键功能与算法,在本书的相应位置用图标来指明。因为这些工具可以让用户建立最初的环境,所以可以利用它们布置学生课外作业。第8版新增内容自第7版出版以来,计算机组成与体系结构领域又有了不少革新和进展。第8版坚持全面覆盖整个领域,并在此基础上尽量跟上新技术的步伐。为了开始这个修订过程,讲授本课程的几位教授和本领域的几位专家对第7版进行了广泛深入的讨论,从而使第8版的描述更清晰、更紧凑,图表也进行了改进,同时增加了很多课堂测试的习题。除了为使本书便于教学和对用户更友好所做的这些工作之外,本书还有许多实质性的改变。第8版虽然保留了与第7版大致相同的章节,但重新改写并添加了许多内容,主要包括:交互式模拟工具:第8版提供了20个基于Web的交互式模拟工具,涉及高速缓存(cache)、主存、I/O、分支预测、指令流水线和向量处理等主题。嵌入式处理器:第8版包括一些嵌入式处理器以及它们提供的独特的设计问题。ARM体系结构被用作一个很好的学习案例。多核处理器:第8版包括现在计算机体系结构最流行的新进展——单个芯片上多处理器的使用,第18章将会讨论这一主题。高速缓存:对第4章高速缓存的内容进行了全面的修订、更新和扩充,涵盖了更宽泛的技术领域,并通过使用大量的图片以及交互式模拟工具来改进教学方法。性能评估:第2章显著地扩充了对性能评估的讨论,增加了对基准程序的讨论和对阿姆达尔(Amdahl)定律的分析。汇编语言:增加了一个关于汇编语言和汇编程序的新附录。可编程逻辑设备:在第20章数字逻辑(网站上)中,扩充了对可编程逻辑设备(PLD)的讨论,介绍了现场可编程门阵列(FPGA)。DDR SDRAM:DDR已经成为桌面计算机和服务器中的主流主存技术,尤其是DDR2 和DDR3。DDR技术在第5章中介绍,更详细的讨论参见附录K(网站上)。线性磁带开放协议(LTO):LTO已经成为最流行的“超级磁带”形式,并广泛应用于小型和大型的计算机系统中,尤其是作为文件备份。LTO在第6章中介绍,更详细的讨论参见附录J(网站上)。对于每个新版本,既要保持合理的页数又要增加新的内容,是一件困难的工作。这是通过删除旧的内容和精简描述实现的。第8版将不特别重要的章节和附录放在网上,作为独立的PDF文件,这既满足了新内容的扩充,又不增加本书的厚度。译者序William Stallings是美国最著名的计算机专业作家之一,他在计算机体系结构、计算机网络和信息安全等方面成就卓著,十次荣获美国教材与大学作者协会颁发的“年度最佳计算机科学与工程教材”奖。本书译自他编著的《Computer Organization and Architecture: Designing for Performance》,该书畅销欧美,一直是美国深受欢迎的大学教材。该教材先后推出了8版,这一版对原有内容进行了彻底的修订和重组,使新版对计算机体系结构各专题的阐述更先进、更全面、更清晰。作者编著本书的目的是使读者知晓当代计算机组成和体系结构的设计原理和实现考虑,并非单纯地讲述概念或理论。为此,本书选用了许多不同机器的例子来阐明和强化所提供的概念。大部分例子来自两种计算机系列:Intel x86系列和ARM(先进的RISC机器)系列。这两种系统共同概括了当前计算机设计趋势的大部分。Intel x86结构基本上是一个带有某些RISC特征的复杂指令集计算机(CISC),而ARM本质上是一个精简指令集计算机(RISC)。两个系统都利用了超标量设计原则,并且都支持多个处理器和多核配置。全书共分为5个部分,第一部分(第1~2章)概述计算机组成与体系结构,并讨论计算机的发展演变、性能设计与测评;第二部分(第3~8章)介绍计算机的主要部件及其互连、cache存储器、内部存储器、外部存储器、输入/输出(I/O)以及计算机体系结构与操作系统之间的关系;第三部分(第9~14章)介绍中央处理器,包括计算机的运算、指令集结构、处理器的结构和功能、精简指令集计算机(RISC)、指令级并行和超标量方法;第四部分(第15~16章)讨论处理器中控制器的内部结构和微程序设计技术;第五部分(第17~18章)研究并行组织,包括对称多处理器、集群系统和多核体系结构。本书还具有许多有利于教学的特点,例如,20个独立的交互式模拟工具的使用、大量插图和表格使讨论更清楚等;每一章均包含关键词、思考题、习题以及推荐的读物和Web站点;书末附有一个术语表和参考文献;本书包含的大量扩展性知识可以从配套网站http://www.pearsonhighered.com/stallings下载。本书可作为高等院校计算机及其相关专业的计算机体系结构课程教材或教学参考书,同时也可以作为从事计算机研究与开发的技术人员的参考书。本书的第0~8章、前言和术语表由彭蔓蔓翻译,第9~16章、第18章和附录由吴强翻译,第17章由任小西翻译。此外,喻品、李冬妮、李柳、张吉良、邓朋球等研究生也参与了部分工作。在翻译过程中,我们参阅了张昆藏教授等翻译的《计算机组织与体系结构:性能设计》(第6版,清华大学出版社2004年出版),在此深表感谢!尽管我们从事计算机组成与体系结构的教学和科研工作多年,在翻译过程中本着认真负责、力求精准的精神,但错误难免,希望广大读者批评指正。译者2011年3月于长沙

内容概要

William Stallings 拥有美国麻省理工学院计算机科学博士学位,现任教于澳大利亚新南威尔士大学国防学院(堪培拉)信息技术与电子工程系。他是世界知名计算机学者和畅销教材作者,出版了40多本书籍,内容涉及计算机安全、计算机网络和计算机体系结构等方面,堪称计算机界的全才。他曾十次荣获美国“教材和学术专著作者协会”颁发的“年度最佳计算机科学教材”奖。

书籍目录

出版者的话
译者序
前言
第0章读者指南1
0.1本书概要1
0.2导读1
0.3为何要学习计算机组成和体系结构1
0.4因特网与Web资源2
0.4.1本书的Web站点2
0.4.2其他Web站点3
0.4.3USENET新闻组3
第一部分概论
第1章导论6
1.1计算机组成与体系结构6
1.2结构和功能7
1.2.1功能7
1.2.2结构8
1.3关键词和思考题9
第2章计算机的演变和性能10
2.1计算机简史10
2.1.1第一代:真空管10
2.1.2第二代:晶体管15
2.1.3第三代:集成电路16
2.1.4后续几代20
2.2性能设计22
2.2.1微处理器的速度23
2.2.2性能平衡23
2.2.3芯片组成和体系结构的改进25
2.3Intel x86体系结构的进展26
2.4嵌入式系统和ARM27
2.4.1嵌入式系统27
2.4.2ARM的进展29
2.5性能评价30
2.5.1时钟速度和每秒指令数30
2.5.2基准程序32
2.5.3阿姆达尔定律34
2.6推荐的读物和Web站点35
2.7关键词、思考题和习题36
第二部分计算机系统
第3章计算机功能和互连的顶层视图42
3.1计算机的部件42
3.2计算机的功能44
3.2.1指令的读取和执行44
3.2.2中断46
3.2.3I/O功能51
3.3互连结构51
3.4总线互连52
3.4.1总线结构52
3.4.2多总线层次结构54
3.4.3总线的设计要素55
3.5PCI58
3.5.1总线结构58
3.5.2PCI命令61
3.5.3数据传送62
3.5.4仲裁63
3.6推荐的读物和Web站点64
3.7关键词、思考题和习题64
附录3A时序图67
第4章cache存储器69
4.1计算机存储系统概述69
4.1.1存储系统的特性69
4.1.2存储器层次结构71
4.2cache存储器原理73
4.3cache的设计要素75
4.3.1cache地址75
4.3.2cache容量76
4.3.3映射功能77
4.3.4替换算法85
4.3.5写策略85
4.3.6行大小86
4.3.7cache数目86
4.4Pentium 4的cache组织88
4.5ARM的cache组织90
4.6推荐的读物91
4.7关键词、思考题和习题91
附录4A两级存储器的性能特点95
第5章内部存储器100
5.1半导体主存储器100
5.1.1组织100
5.1.2DRAM和SRAM100
5.1.3ROM类型102
5.1.4芯片逻辑103
5.1.5芯片封装104
5.1.6模块组织105
5.1.7多体交叉存储器106
5.2纠错107
5.3高级DRAM组织110
5.3.1同步DRAM111
5.3.2Rambus DRAM112
5.3.3DDR DRAM113
5.3.4cache DRAM114
5.4推荐的读物和Web站点114
5.5关键词、思考题和习题115
第6章外部存储器118
6.1磁盘118
6.1.1磁读写机制118
6.1.2数据组织和格式化119
6.1.3物理特性121
6.1.4磁盘性能参数122
6.2RAID124
6.2.1RAID 0级125
6.2.2RAID 1级128
6.2.3RAID 2级128
6.2.4RAID 3级128
6.2.5RAID 4级129
6.2.6RAID 5级130
6.2.7RAID 6级130
6.3光存储器131
6.3.1光盘131
6.3.2数字多功能光盘133
6.3.3高清晰光盘134
6.4磁带135
6.5推荐的读物和Web站点136
6.6关键词、思考题和习题137
第7章输入/输出140
7.1外部设备140
7.1.1键盘/监视器141
7.1.2磁盘驱动器142
7.2I/O模块142
7.2.1模块功能142
7.2.2I/O模块结构143
7.3编程式I/O143
7.3.1编程式I/O概述144
7.3.2I/O命令144
7.3.3I/O指令144
7.4中断驱动式I/O146
7.4.1中断处理146
7.4.2设计问题148
7.4.3Intel 82C59A中断控制器149
7.4.4Intel 82C55A可编程外部接口150
7.5直接存储器存取151
7.5.1编程式I/O和中断驱动式I/O的缺点151
7.5.2DMA功能151
7.5.3Intel 8237A DMA控制器153
7.6I/O通道和处理器155
7.6.1I/O功能的演变155
7.6.2I/O通道的特点155
7.7外部接口:FireWire和InfiniBand156
7.7.1接口类型156
7.7.2点对点和多点配置156
7.7.3FireWire串行总线157
7.7.4InfiniBand159
7.8推荐的读物和Web站点162
7.9关键词、思考题和习题162
第8章操作系统支持166
8.1操作系统概述166
8.1.1操作系统的目标与功能166
8.1.2操作系统的类型168
8.2调度173
8.2.1长期调度173
8.2.2中期调度173
8.2.3短期调度173
8.3存储器管理176
8.3.1交换177
8.3.2分区177
8.3.3分页179
8.3.4虚拟存储器180
8.3.5快表182
8.3.6分段183
8.4Pentium存储器管理184
8.4.1地址空间184
8.4.2分段184
8.4.3分页186
8.5ARM存储器管理187
8.5.1存储器系统组织187
8.5.2虚拟存储器地址转换187
8.5.3存储器管理格式189
8.5.4存取控制190
8.6推荐的读物和Web站点191
8.7关键词、思考题和习题191
第三部分中央处理器
第9章计算机算术196
9.1算术逻辑单元196
9.2整数表示196
9.2.1符号-幅值表示法197
9.2.22的补码表示法197
9.2.3不同位长间的转换199
9.2.4定点表示法200
9.3整数算术200
9.3.1取负200
9.3.2加法和减法201
9.3.3乘法203
9.3.4除法207
9.4浮点表示208
9.4.1原理208
9.4.2二进制浮点表示的IEEE标准211
9.5浮点算术212
9.5.1浮点加法和减法213
9.5.2浮点乘法和除法214
9.5.3精度考虑215
9.5.4二进制浮点算术的IEEE标准216
9.6推荐的读物和Web站点218
9.7关键词、思考题和习题219
第10章指令集:特征和功能222
10.1机器指令特征222
10.1.1机器指令要素222
10.1.2指令表示223
10.1.3指令类型224
10.1.4地址数目225
10.1.5指令集设计226
10.2操作数类型226
10.2.1数值227
10.2.2字符227
10.2.3逻辑数据228
10.3Intel x86和ARM数据类型228
10.3.1x86数据类型228
10.3.2ARM数据类型229
10.4操作类型230
10.4.1数据传送232
10.4.2算术运算233
10.4.3逻辑运算233
10.4.4转换234
10.4.5输入/输出235
10.4.6系统控制235
10.4.7控制转移235
10.5Intel x86和ARM操作类型238
10.5.1x86操作类型238
10.5.2ARM操作类型244
10.6推荐的读物246
10.7关键词、思考题和习题246
附录10A栈250
附录10B小端、大端和双端253
第11章指令集:寻址方式和指令格式256
11.1寻址方式256
11.1.1立即寻址257
11.1.2直接寻址257
11.1.3间接寻址257
11.1.4寄存器寻址258
11.1.5寄存器间接寻址258
11.1.6偏移寻址258
11.1.7栈寻址260
11.2x86和ARM寻址方式260
11.2.1x86寻址方式260
11.2.2ARM寻址方式262
11.3指令格式264
11.3.1指令长度264
11.3.2位的分配265
11.3.3变长指令267
11.4x86和ARM指令格式269
11.4.1x86指令格式269
11.4.2ARM指令格式271
11.5汇编语言272
11.6推荐的读物274
11.7关键词、思考题和习题274
第12章CPU结构和功能277
12.1CPU组成277
12.2寄存器组成278
12.2.1用户可见寄存器278
12.2.2控制和状态寄存器280
12.2.3微处理器寄存器组成的例子281
12.3指令周期282
12.3.1间接周期282
12.3.2数据流283
12.4指令流水线技术283
12.4.1流水线策略284
12.4.2流水线性能286
12.4.3流水线冒险288
12.4.4处理分支指令289
12.4.5Intel 80486的流水线292
12.5x86系列处理器293
12.5.1寄存器组成294
12.5.2中断处理298
12.6ARM处理器299
12.6.1处理器组成300
12.6.2处理器模式301
12.6.3寄存器组成301
12.6.4中断处理303
12.7推荐的读物304
12.8关键词、思考题和习题304
第13章精简指令集计算机308
13.1指令执行特征309
13.1.1操作309
13.1.2操作数310
13.1.3过程调用311
13.1.4推论311
13.2大寄存器组方案的使用311
13.2.1寄存器窗口312
13.2.2全局变量313
13.2.3大寄存器组与高速缓存的对比313
13.3基于编译器的寄存器优化314
13.4精简指令集体系结构315
13.4.1采用CISC的理由315
13.4.2精简指令集体系结构特征317
13.4.3CISC与RISC特征对比318
13.5RISC流水线技术319
13.5.1使用规整指令的流水线技术319
13.5.2流水线的优化320
13.6MIPS R4000322
13.6.1指令集322
13.6.2指令流水线324
13.7SPARC327
13.7.1SPARC寄存器组327
13.7.2指令集328
13.7.3指令格式329
13.8RISC与CISC的争论330
13.9推荐的读物331
13.10关键词、思考题和习题331
第14章指令级并行性和超标量处理器335
14.1概述335
14.1.1超标量与超级流水线的对比336
14.1.2限制337
14.2设计考虑338
14.2.1指令级并行性和机器并行性338
14.2.2指令发射策略339
14.2.3寄存器重命名341
14.2.4机器并行性342
14.2.5分支预测342
14.2.6超标量执行343
14.2.7超标量实现343
14.3Pentium 4343
14.3.1前端347
14.3.2乱序执行逻辑348
14.3.3整数和浮点执行单元349
14.4ARM CORTEXA8349
14.4.1指令取指单元349
14.4.2指令译码单元351
14.4.3整数执行单元353
14.4.4SIMD和浮点流水线354
14.5推荐的读物355
14.6关键词、思考题和习题356
第四部分控制器
第15章控制器操作362
15.1微操作362
15.1.1取指周期363
15.1.2间接周期364
15.1.3中断周期365
15.1.4执行周期365
15.1.5指令周期366
15.2处理器控制367
15.2.1功能需求367
15.2.2控制信号367
15.2.3控制信号举例368
15.2.4处理器内部的组织369
15.2.5Intel 8085370
15.3硬布线实现373
15.3.1控制器输入373
15.3.2控制器逻辑374
15.4推荐的读物374
15.5关键词、思考题和习题375
第16章微程序控制376
16.1基本概念376
16.1.1微指令376
16.1.2微程序控制器378
16.1.3Wilkes控制379
16.1.4优缺点382
16.2微指令定序382
16.2.1设计考虑382
16.2.2定序技术382
16.2.3地址生成384
16.2.4LSI11微指令定序384
16.3微指令执行385
16.3.1微指令的分类法385
16.3.2微指令编码387
16.3.3LSI11微指令执行388
16.3.4IBM 3033微指令执行390
16.4TI 8800391
16.4.1微指令格式391
16.4.2微定序器393
16.4.3寄存器式ALU395
16.5推荐的读物397
16.6关键词、思考题和习题397
第五部分并 行 组 织
第17章并行处理400
17.1多处理器组织401
17.1.1并行处理器系统的类型401
17.1.2并行组织402
17.2对称多处理器402
17.2.1组织403
17.2.2多处理器操作系统设计考虑405
17.2.3大型机SMP405
17.3cache一致性和MESI协议407
17.3.1软件解决方案408
17.3.2硬件解决方案408
17.3.3MESI协议409
17.4多线程和片上多处理器411
17.4.1隐式和显式多线程412
17.4.2显式多线程的方式413
17.4.3示例系统415
17.5集群416
17.5.1集群配置417
17.5.2操作系统设计问题418
17.5.3集群计算机体系结构419
17.5.4刀片服务器420
17.5.5集群与SMP的对比421
17.6非均匀存储器访问421
17.6.1动机421
17.6.2组织422
17.6.3NUMA的优缺点423
17.7向量计算424
17.7.1向量计算的方法424
17.7.2IBM 3090向量机制427
17.8推荐的读物和Web站点432
17.9关键词、思考题和习题433
第18章多核计算机437
18.1硬件性能问题437
18.1.1增加并行437
18.1.2功耗439
18.2软件性能问题440
18.2.1多核软件440
18.2.2应用实例:Valve游戏软件441
18.3多核组织结构442
18.4Intel x86多核结构443
18.4.1Intel Core Duo443
18.4.2Intel Core i7445
18.5ARM11 MPCore445
18.5.1中断处理446
18.5.2cache一致性448
18.6推荐的读物和Web站点448
18.7关键词、思考题和习题449
附录A计算机组成与体系结构的教学课题451
附录B汇编语言及相关主题455
术语表473
参考文献480

编辑推荐

《计算机组成与体系结构:性能设计(原书第8版)》是介绍当代计算机体系主流技术和最新技术的优秀教材,以Inltelx86和ARM两个处理器系列为例,深入讨论了计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题中。自第7版出版以来,计算机组成与体系结构领域又有了不少革新和进展。第8版坚持全面覆盖整个领域,并在此基础上尽量跟上新技术的步伐。新增内容交互式模拟工具:提供了20个基于Web的交互式模拟工具,为理解现代处理器的复杂机制提供了有力的支持嵌入式处理器:以ARM体系结构为例,介绍嵌入式处理器以及它们提供的独特的设计问题。多核处理器:阐述计算机体系结构最流行的新进展——单个芯片上多处理器的使用。高速缓存:对高速缓存内容进行了全面的修订、更新和扩充,涵盖了更宽泛的技术领域。性能评估:扩充了对性能评估的讨论,增加了对基准程序和阿姆达尔定律的分析。汇编语言:增加了一个关于汇编语言和汇编器的新附录。

作者简介

本书是介绍当代计算机体系主流技术和最新技术的优秀教材,以Intel x86和ARM两个处理器系列为例,深入讨论了计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题中。
自第7版出版以来,计算机组成与体系结构领域又有了不少革新和进展。第8版坚持全面覆盖整个领域,并在此基础上尽量跟上新技术的步伐。
新增内容

交互式模拟工具:提供了20个基于Web的交互式模拟工具,为理解现代处理器的复杂机制提供了有力的支持。

嵌入式处理器:以ARM体系结构为例,介绍嵌入式处理器以及它们提供的独特的设计问题。

多核处理器:阐述计算机体系结构最流行的新进展——单个芯片上多处理器的使用。

高速缓存:对高速缓存内容进行了全面的修订、更新和扩充,涵盖了更宽泛的技术领域。

性能评估:扩充了对性能评估的讨论,增加了对基准程序和阿姆达尔定律的分析。

汇编语言:增加了一个关于汇编语言和汇编器的新附录。

图书封面


 计算机组成与体系结构:性能设计(原书第8版)下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     评论标题写的好像这本书很差的样子,其实也不是。货比货得扔,是说斯老师这书要是和CSAPP或者“亨尼希/帕特森”一比就能看出差距来。有些需要讲得透而又透的基础知识,没有讲够。比如数的表示、流水线等等。原理结合实际的部分,比如x86和arm,也是浮光掠影,只能了解个粗略的大概。再有就是习题,我也不知道该说这书的习题好还是不好,反正有些别扭。不过总体来看这本书中规中矩,品质算中上。翻译得也不错。

精彩短评 (总计34条)

  •     有些书翻译成中文后比英文还难看懂,这本书还算可以
  •     感觉有点晦涩,读起来奇怪。只看了前12章。
  •     正版,价格挺公道的,比淘宝放心。
  •     相当不错,很喜欢。。。。。。。
  •     书很不错 讲的深入产出实例很多
  •     “我给大家介绍一下,这位是斯大林,斯老师,著名的计算机科学教授”
  •     经典著作,值得一看
  •     从顶到下,这本书可读性并不强,只能作为参考资料,学到查到
  •     不好意思啊,我买错书了,但是看了一下,这本书不错呢,对计算机体系结构的解释很好。
  •     学习计算机组成原理的超赞辅助材料,对学校订的课本是一个极好的补充。
  •     读书是为了装逼,我在深刻的执行这个理念。还行,泛读了一遍,有空对一些章节再精读。习题就免了....我不是码农.....
  •     好书,翻译不错,纸张一般,内容很多。要完全消化花点功夫。不过对于性能方面讲的不是特别多。难得的是讲了一部分cortex-A8和arm11MP部分。总之,值得入手,当作枕边书。
  •     比起唐朔飞的来,这本书就是圣经。
  •     补一下自己欠缺的地方
  •     已经第8版了,这里的英文原版还只有第一版,很不爽啊
  •     非常好的书。 首先,结构非常的清晰,自上而下的介绍了计算机的组成和体系结构,并从设计者的角度分析了,计算机架构设计的要点; 其次,以Intel X86架构和ARM嵌入式架构介绍了各知识点的具体应用,非常好; 总之,读这本书使我的思路非常清晰,结构性强。 非常推荐!
  •     很好的书 包装很好 书没有任何损坏~
  •     这本教材总体上很好,书的质量可以,配送速度也可以,只是其中缺了几页的内容,由于书太厚,我读到后面才发现缺页,所以,希望卓越能够在细节问题上有所提升!
  •     计算机组成与体系结构
  •     我只看了大部分
  •     主要是围绕性能设计进行介绍,细致介绍了总线,cache,指令等与性能相关的内容,访问内存性能相关问题的有力参考, 大师书籍,高深莫测。。。
  •     简单 入门不错
  •     书是正版,发货速度不错,赞
  •     非常力荐这本书。这本书以MIPS系统为基础,介绍了很多计算机是如何工作的,以MIPS编程和汇编,讲解计算机面临各种问题是如何解决的,流水线是怎么做到的,冒险是如何解决的,一步一步的加器件,讲的很详细,感觉作者真的很想把能让你知道的都让你知道,书写的也很容易懂。非常力荐!!
  •     看完感觉对整个计算机的构造有了一定的了解
  •     计算机组成教材建议看这本跟《硬件/软件借口》
  •     书是好书,看得不够细致
  •     个人感觉,非常不错的计算机组成方面的书籍
  •     书籍不错,经典书籍,现在还没看完。
  •     魔哥说它很差 我觉得还好 大概是我弱爆了= =
  •     这本书算是一个异类,因为是用自顶向下的方式写的,但是总体来说偏于硬件,有些比较难说明的机制也不是特别清晰,但是最后的术语表和参考文献倒是不错,另外是对 ARM 结构说得稍微多一些,我在考虑是否加入到新书中。
  •     好书,与其他讲解体系结构的书不同,作者字里行间解释了计算机中很多的设计的源头,是为了提高性能做出怎样的设计等。 对memory/power save有兴趣的同学可以阅读,好书!
  •     满意 学校换新教材 不适合自学
  •     不错,速度质量都很不错!!!
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024