计算机组成与体系结构:性能设计(原书第8版)
作者 : (美)William Stallings 著
译者 : 彭蔓蔓 吴强 任小西 等译
丛书名 : 计算机科学丛书
出版日期 : 2011-05-16
ISBN : 978-7-111-32878-0
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 505
开本 : 16
原书名 : Computer Organization and Architecture: Designing for Performance,Eighth Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书以Intel x86体系结构和ARM两个处理器系列为例,将当代计算机系统性能设计问题与计算机组成的基本概念和原理紧密联系起来,介绍了当代计算机体系结构的主流技术和最新技术。本书共18章,分5个部分,第一部分(第1~2章)概述计算机组成与体系结构,并讨论计算机的演变和性能;第二部分(第3~8章)讨论计算机的主要部件及其互连;第三部分(第9~14章)讨论处理器的内部结构和组织;第四部分(第15~16章)讨论处理器中控制器的内部结构和微程序设计的使用;第五部分(第17~18章)讨论并行组织,包括对称多处理器、集群系统和多核体系结构。

图书特色

计算机组成与体系结构
性能设计
(原书第8版)
Computer Organization and Architecture Designing for Performance Eighth Edition 
(美)William Stallings 著 彭蔓蔓 吴 强 任小西 等译
本书是介绍当代计算机体系主流技术和最新技术的优秀教材,以Intel x86和ARM两个处理器系列为例,深入讨论了计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题中。
自第7版出版以来,计算机组成与体系结构领域又有了不少革新和进展。第8版坚持全面覆盖整个领域,并在此基础上尽量跟上新技术的步伐。

新增内容
交互式模拟工具:提供了20个基于Web的交互式模拟工具,为理解现代处理器的复杂机制提供了有力的支持。
嵌入式处理器:以ARM体系结构为例,介绍嵌入式处理器以及它们提供的独特的设计问题。
多核处理器:阐述计算机体系结构最流行的新进展——单个芯片上多处理器的使用。
高速缓存:对高速缓存内容进行了全面的修订、更新和扩充,涵盖了更宽泛的技术领域。
性能评估:扩充了对性能评估的讨论,增加了对基准程序和阿姆达尔定律的分析。
汇编语言:增加了一个关于汇编语言和汇编器的新附录。

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

图书前言

目标
  这是一本关于计算机结构和功能方面的书,力求清晰完整地给出当今计算机系统的性质和特征。
  这项任务极具挑战性,主要有如下几个原因:首先,有非常多的产品类型都冠以“计算机”的名字,从只值几美元的单片机到价值几千万美元的超级计算机。这种多样性不仅体现在价格上,也体现在规模、性能和应用上。其次,计算机技术的快速变化步伐从未停止过,这一直以来就是它的特征。这些变化涉及计算机技术的所有方面,从用于构造计算机部件底层的集成电路技术,到组合这些部件的并行组织概念。
  尽管计算机领域存在着种类的多样性和变化的迅速性,但某些基本概念始终不变。当然,这些概念的应用取决于当前的技术状况和设计者的性能/价格目标。本书的目的在于深入讨论计算机组成与体系结构的基本原理和概念,并将它们运用到当代计算机系统设计的问题上。
  副标题(性能设计)指出了本书的主题和采用的方法。计算机系统的高性能设计历来都是最重要的,但这一要求从来没有像现在这样强烈和难以满足。计算机系统的所有基本性能特征,包括处理器速度、存储器速度、存储器容量和互连的数据速率,都在迅速提高,而且是以不同的速率在提高。这就使得设计一个实现性能最大化并考虑所有因素影响的平衡系统变得非常困难。于是,计算机设计越来越成为一种博弈,它要以改变一个领域的结构和功能来补偿另一领域的性能失配。我们将会看到,这种博弈贯穿本书的许多设计。
  像任何系统一样,计算机系统由一组相互关联的部件组成。通过结构(部件互连的方式)和功能(单个部件的操作)最能表征一个系统。而且,计算机的组织是层次化的,通过将每个主要部件分解成主要子部件,并描述各主要子部件的结构和功能,可以进一步描述各主要部件。为了清晰和易于理解,本书自顶向下地描述这种层次化组织。
 计算机系统:主要部件是处理器、存储器和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)。要获取这些资源,可以从教师资源中心http://www.pearsonhighered.com/stallings下载,或者登录华章网站(www.hzbook.com)下载。
网上资源
  本书网站williamstallings.com/COA/COA8e.html提供了与其他相关站点的链接、一组有用的文档和勘误等。
  本版在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文件,这既满足了新内容的扩充,又不增加本书的厚度。
致谢
第8版得到许多人的帮助,他们慷慨地为本书贡献了自己宝贵的时间和知识。下列学者审阅了全部或大部分书稿,并提出许多建设性意见:内布拉斯加大学奥马哈分校的Azad Azadmanesh、夏威夷大学的Henry Casanova、格林奈尔学院的Marge Coahran、新墨西哥大学的Andree Jacobsen、加利福尼亚大学戴维斯分校的Kurtis Kredo、奥斯汀皮耶州立大学的Jiang Li、纽约州立大学奥斯威戈分校的Rachid Manseur、乔治·梅森大学的John Masiyowski、温斯顿-萨勒姆州立大学的Fuad Muztaba、东密歇根大学的Bill Sverdlik和科罗拉多大学温泉校区的Xiaobo Zhou。
  同时向以下学者致谢,他们各自审阅了一章内容,并提出了详细的技术意见:Tim Mensch、Balbir Singh、Michael Spratte(惠普公司)、FrancoisXavier Peretmere、John Levine、Jeff Kenton、Glen Herrmannsfeldt、Robert Thorpe、Grzegorz Mazur(波兰华沙工业大学计算机科学学院)、Ian Ameline、Terje Mathisen、Edward Brekelbaum(Varilog研究公司)、Paul DeMone和Mikael Tillenius。还要感谢ARM公司的Jon Marsh审阅了关于ARM的材料。
  阿帕拉契州立大学的Cindy Norris教授、新布朗斯维克大学的Bin Mu教授和阿拉斯加大学的Kenrick Mock教授提供了一些习题。
   马萨诸塞大学的Aswin Sreedhar开发了交互式模拟作业和试题库。
   西班牙埃斯特雷玛杜拉大学的Miguel Angel Vega Rodriguez教授、Juan Manuel Sanchez Perez教授(博士)和Juan Autonio Gomez Puludo教授(博士)为教师手册准备了SMPCache问题并提供了SMPCache用户指南。
   威斯康星大学的Todd Bezenek和里海大学的James Stine为教师手册准备了SimpleScalar问题,Todd还提供了SimpleScalar用户指南。
  还要感谢为本书制作幻灯片的利物浦希望大学的Adiram Pullin。
  最后,感谢为本书出版付出努力的人们,他们都做了优秀的工作,包括编辑Tracy Dunkelberger和她的助手Melinda Haggerty以及产品经理Rose Kernan。另外,Warde出版公司的Jake Warde负责本书的审核工作,Patricia M. Daly负责本书的文字加工。

上架指导

计算机\计算机组成

封底文字

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

作者简介

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

译者简介

彭蔓蔓 吴强 任小西 等译:暂无简介

译者序

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月于长沙

图书目录

出版者的话
译者序
前言
第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

教学资源推荐
作者: [美]克利福德·斯坦(Clifford Stein)[美]罗伯特·L.戴斯得尔(Robert L. Drysdale)[美]肯尼斯·博加特(Kenneth Bogart)著
作者: (美)Stephane Mallat 等著 巴黎综合理工大学
作者: 赖晓晨 江贺 韩瑜 编著
参考读物推荐
作者: 李恩涛,雷明灿,黄晟昊,任向晖 著
作者: 中国人民大学 刘启升
作者: (美)Joseph J.Bambara Paul R.Allen等
作者: (加)Scott W. Ambler; (美)Pramodkumar J. Sadalage 著