本书是介绍当代计算机体系结构主流技术和最新技术的优秀教材。作者以Intel Pentium 4和IBM/MotorolaPowerPC作为考察实例,将当代计算机系统性能设计问题和计算机组织与体系结构的基本概念及原理紧密联系起来。本书共18章,分成5个部分。主要内容有:CPU性能设计、指令流水线、整数和浮点算术、微程序设计的控制器,RISC处理器和超标量处理器;最新的IA,-64体系结构和Itanium处理器;PCI新型系统总线规范;cache存储器组织、cache一致性问题和MESI协议;包括SDRAM和RDRAM在内的高级DRAM体系结构;冗余磁盘阵列RAID技术和光存储器;FireWire串行总线和最近研发的InfiniBand;最后是多个处理器的并行组织,包括对称多处理机、机群系统、非均匀存储器存取(NUMA)系统。本书可作为计算机科学、计算机工程等专业的计算机体系结构课程的教材,对从事计算机研究与开发的技术人员来说,也具有指导意义。
第一部分概述
第1章导论
1.1计算机组织与体系结构
1.2结构和功能
1.2.1功能
1.2.2结构
1.3为何要学习计算机组织和体系结构
1.4本书概要
1.5因特网和Web资源
第2章计算机的演变和性能
2.1计算机简史
2.1.1第一代:真空管
2.1.2第二代:晶体管
2.1.3第三代:集成电路
2.1.4后续的几代
2.2性能设计
2.2.1微处理器的速度
2.2.2性能平衡
2.3Pentium和PowerPC的进展
2.3.1Pentium
2.3.2PowerPC
2.4推荐的参考文献和Web站点
2.5关键词、思考题和习题
第二部分计算机系统
第3章计算机功能和互连的顶层视图
3.1计算机的部件
3.2计算机功能
3.2.1取指周期和执行周期
3.2.2中断
3.2.3I/O功能
3.3互连结构
3.4总线互连
3.4.1总线结构
3.4.2多总线层次结构
3.4.3总线设计要素
3.5PCI
3.5.1总线结构
3.5.2PCI命令
3.5.3数据传送
3.5.4仲裁
3.6推荐的参考文献和Web站点
3.7关键词、思考题和习题
附录3A时序图
第4章CRChe
4.1计算机存储系统概述
4.1.1存储系统的特性
4.1.2存储器分层结构
4.2cache存储器原理
4.3cache的设计要素
4.3.1cache容量
4.3.2映射功能
4.3.3替换算法
4.3.4写策略
4.3.5行的大小
4.3.6cache数目
4.4Pentium4和PowerPC的cache组织
4.4.1Pentium4的cache组织
4.4.2PowerPC的cache组织
4.5推荐的参考文献
4.6关键词、思考题和习题
附录4A两级存储器的性能特点
4A.1局部性
4A.2两级存储器的操作
4A.3性能
第5章内部存储器
5.1半导体主存储器
5.1.1组织
5.1.2DRAM和SRAM
5.1.3ROM类型
5.1.4芯片逻辑
5.1.5芯片封装
5.1.6模块组织
5.2纠错
5.3高级DRAM组织
5.3.1同步DRAM
5.3.2rambusDRAM
5.3.3带cache的DRAM
5.4推荐的参考文献和Web站点
5.5关键词、思考题和习题
第6章外部存储器
6.1磁盘
6.1.1磁读写机制
6.1.2数据组织和格式化
6.1.3物理特性
6.1.4磁盘性能参数
6.2RAID(磁盘冗余阵列)
6.2.1RAID0级
6.2.2RAIDl级
6.2.3RAID2级
6.2.4RAID3级
6.2.5RAID4级
6.2.6RAID5级
6.2.?RAID6级
6.3光存储器
6.3.1光盘
6.3.2数字视盘
6.4磁带
6.5推荐的参考文献和Web站点
6.6关键词、思考题和习题
第7章输入输出
7.1外部设备
7.1.1键盘/监视器
7.I.2磁盘驱动器
7.2I/O模块
7.2.1模块功能
7.2.2I/O模块结构
7.3编程式I/O
7.3.1概述
7.3.2I/O命令
7.3.3I/O指令
7.4中断驱动式I/O.
7.4.1中断处理
7.4.2设计问题
7.4.3Intel82C59A中断控制器
7.4.4Intel82C55A可编程外部接口
7.5存储器直接存取(DMA)
7.5.1编程式I/()和中断驱动式I/O的不足
7.5.2DMA功能
7.6I/O通道和处理器
7.6.1I/O功能的演变
7.6.2I/O通道的特性
7.?外部接口:FireWire和InfiniBand
7.7.1接口的类型+
7.7.2点对点和多点配置
7.7.3FireWire串行总线
7.7.41nfiniBand
7.8推荐的参考文献和Web站点
7.9关键词、思考题和习题
第8章操作系统支持
8.1操作系统概述
8.1.I操作系统的目标和功能
8.1.2操作系统的类型
8.2调度
8.2.1长调度
8.2.2中调度
8.2.3短调度
8.3存储管理
8.3.1交换
8.3.2分区
8.3.3分页
8.3.4虚拟存储器
8.3.5转换后援缓冲器
8.3.6分段
8.4PentiumⅡ与PowerPC存储管理
8.4.1PentiumⅡ的存储管理硬件
8.4.2PowerPC存储管理硬件
8.5推荐的参考文献和Web站点
8.6关键词、思考题和习题
第三部分中央处理器
第9章计算机算术
9.1算术逻辑单元
9.2整数表示
9.2.l符号—幅值表示法
9.2.22的补码表示法
9.2.3不同位长间的转换
9.2.4定点表示法
9.3整数算术
9.3.1取负
9.3.2加法和减法
9.3.3乘法
9.3.4除法
9.4浮点表示
9.4.1原理
9.4.2二进制浮点表示的IEEE标准
9.5浮点算术
9.5.1浮点加法和减法
9.5.2浮点乘法和除法
9.5.3浮点运算的精度问题
9.5.4二进制浮点算术的IEEE标准
9.6推荐的参考文献和Web站点
9.7关键词、思考题和习题
第10章指令集:特征和功能
10.1机器指令特征
10.1.1机器指令要素
10.1.2指令表示
10.1.3指令类型
10.1.4地址数目
10.1.5指令集设计
10.2操作数类型
10.2.1数值
10.2.2字符
10.2.3逻辑数据
10.3Pentium和PowerPC数据类型
10.3.1Pentium数据类型
10.3.2PowerPC数据类型
10.4操作类型
10.4.1数据传送类
10.4.2算术运算类
10:4.3逻辑运算类
10.4.4转换类
10.4.5输入输出类
10.4.6系统控制类
10.4.?控制传递类
10.5Pentium和PowerPC操作类型
10.5.1Pentium操作类型
10.5.2PowerPC操作类型
10.6汇编语言
10.7推荐的参考文献
10.8关键词、思考题和习题
附录IOA堆栈
IOA:1堆栈实现
iOA.2表示式求值
附录lOB小数在先和大数在先以及位序
10B.1字节排序
10B.2位排序
第11章指令集:寻址方式和指令格式
11.1寻址方式
11.1.1立即寻址
11.1.2直接寻址
11.1.3间接寻址
11.1.4寄存器寻址
11:1.5寄存器间接寻址
11.1.6偏移寻址
111.?堆栈寻址
11.2Pentium和PowerPC寻址方式
11.2.1Pentium寻址方式
11.2.2PowerPC寻址方式
11.3指令格式
11.3.1指令长度
11.3.2位的分配
11.3.3变长指令
11.4Pentium和PowerPC指令格式
11.4.1Pentium指令格式
11.4.2PowerPC指令格式
11.5推荐的参考文献
11.6关键词、思考题和习题
第12章CPU结构和功能
12.1处理器组织
12.2寄存器组织
12.2.1用户可见寄存器
12.2.2控制和状态寄存器
12.2.3微处理器寄存器组织的例子
12.3指令周期
12.3.1间址周期
12.3.2数据流
12.4指令流水
12.4.1流水线策略
12.4.2流水线的性能
12.4.3转移处理
12.4.4Intel80486的流水线
12.5Pentium处理器
12.5.1寄存器组织
12.5.2MMX寄存器
12.5.3中断处理
12.6PowerPC处理器
12.6.1寄存器组织
12.6.2中断处理
12.7推荐的参考文献
12.8关键词、思考题和习题
第13章精简指令集计算机
13.1指令执行特征
13.1.1操作
13.1.2操作数
13.1.3过程调用
13.1.4结论
13.2大寄存器组方案的使用
13.2.1寄存器窗口
13.2.2全局变量
13.2.3大寄存器组与cache的对比
13.3基于编译器的寄存器优化
13.4精简指令集体系结构
13.4.1CISC的理由
13.4.2精简指令集体系结构特征
13.4.3CISC与RISC特征对比
13.5RISC流水线技术
13.5.1规整指令的流水线技术
13.5.2流水线的优化
13.6MIPSR4000
13.6.1指令集
13.6.2指令流水线
13.7SPARC
13.7.1SPARC寄存器组
13.7.2指令集
13.7.3指令格式
13.8RISC与CISC的争论
13.9推荐的参考文献
13.10关键词、思考题和习题
第14章指令级并行性和超标量处理器
14.1概述
14.1.1超标量与超级流水线
14.1.2限制
14.2设计考虑
14.2.1指令级并行性和机器并行性
14.2.2指令发射策略
14.2.3寄存器重命名
14.2.4机器并行性
14.2.5转移预测
14.2.6超标量执行
14.2.7超标量实现
14.3Pentium4
14.3.1由前端到跟踪cache
14.3.2无序执行逻辑
14.3.3整数和浮点执行单元
14.4PowerPC
14.4.1PowerPC601
14.4.2转移处理
14.4.3PowerPC620
14.5推荐的参考文献
14.6关键词、思考题和习题
第15章IA—64体系结构
15.1推动因素
15.2通常组织
15.3判定、推测和软件流水
15.3.1指令格式
15.3.2汇编语言格式
15.3.3判定执行
15.3.4控制推测
15.3.5数据推测
15.3.6软件流水
15.41A-64指令级体系结构
1S.4.1寄存器堆栈
15.4.2当前栈帧标示器和先前功能状态寄存器
15.51tanium处理器组织
15.6推荐的参考文献和Web站点
15.7关键词、思考题和习题
第四部分控制器
第16章控制器操作
16.1微操作
16.1.1指令周期的子周期
16.1.2指令周期
16.2CPU控制
16.2.1功能需求
16.2.2控制信号
16.2.3控制信号举例
16.2.4CPU内部组织
16.2.5Intel8085
16.3硬连线实现
16.3.1控制器输入
16.3.2控制器逻辑
16.4推荐的参考文献
16.5关键词、思考题和习题
第17章微程序式控制
17.1基本概念
17.1.1微指令
17.1.2微程序式控制器
17.1.3Wilkes控制
17.1.4优缺点
17.2微指令排序
17.2.1设计考虑
17.2.2排序技术
17.2.3地址生成
17.2.4LSI-11微指令排序
17.3微指令执行
17.3.1微指令分类法
17.3.2微指令编码
17.3.3LSI—ll微指令执行
17.3.41BM3033微指令执行
17.4T18800
17.4.1微指令格式
17.4.2微顺序器
17.4.3带寄存器的ALU
17.S微程序应用
17.6推荐的参考文献
17.7关键词、思考题和习题
第五部分并行处理的组织
第18章并行处理
18.1多处理机组织
18.1.1并行处理机系统类型
18.1.2并行组织
18.2对称多处理机
18.2.1组织
18.2.2多处理机操作系统设汁考虑
18.2.3大型机SMP
18.3cache一致性和MESI协议.
18.3.1软件解决方案
18.3.2硬件解决方案
18.3.3MESI协议
18.4机群系统
18.4.1机群系统配置
18.4.2操作系统设计问题
18.4.3机群计算机体系结构
18.4.4机群系统与SMP的对比
18.5非均匀存储器存取
18.5.1推动因素
18.5.2组织
18.5.3NUMA的赞成票和反对票
18.6向量计算
18.6.1向量计算方法
18.6.21BM3090向量设备
18.7推荐的参考文献
18.8关键词、思考题和习题
附录A计算机组织与体系结构课题
A.1研究性课题
A.2仿真性课题
A.2.1SimpleScalar
A.2.2SMPCache
A.3阅读/报告类题目
参考文献
Stallings,W.是一位非常著名的计算机科学教授和教材作家,主要研究领域是计算机体系结构和操作系统。他所著的《计算机组织与体系结构:性能设计》一书畅销欧美,经久不衰。在美国,该书是深受欢迎的大学教材,其第4版曾获“全美优秀计算机图书”1996年度奖。
清华大学出版社于1997年发行了此书第4版的影印本,于1999年出版了第4版的中文译本。当时参加翻译工作的有三位同志:上海交通大学经致远博士负责序言和第l章至第3章;上海工程技术大学施一萍副教授负责第4章至第?章和附录;青岛大学信息工程学院张昆藏教授负责第8章至第16章和全书的统稿。
Sta[1ings,W。在征求多名此领域专家、教授对第4版审阅意见的基础上,于2000年推出此书的第5版。第5版内容更加精练,尤其包括了IA-64新体系结构和SMP、机群系统、NUMA系统这些最新技术。
Stallings,W.于2003年又推出此书的第6版。新版本做了许多重大修订,使之更加符合IEEE/ACMComputerCurricula 2001这个新世纪第一个计算机课程教学大纲对计算机体系结构课程的教学要求。例如,删掉了前两版叙述相当完整的SCSI并行接口标准,增添了最新研发的接口标准In{iniBand。尤其是,第6版以一章的篇幅详细介绍了新型的IA-64体系结构和Itanium处理器。此外,新版本更加重视cache存储器对计算机系统性能的影响,将它从内部存储器一章分离出来独立构成一章,叙述更加完整和详尽。修订工作还包括,扩充并修改了光存储器和高级DRAM体系结构。
本书第6版仍由张昆藏教授主持翻译,张公敬老师与杨厚俊老师也参加了翻译工作。在历经半年的翻译过程中,除翻译新增内容之外,还在第5版译本的基础上对全书进行了仔细的修改、校订,不再存在过去由多人翻译造成的术语用词不尽一致的问题,力求以流畅的中文准确地表达原著的内容和风格。
本书的主译者曾用此书(第4版)原著影印本作为教材来讲授计算机系统结构课程。本书的组织结构合理,从最简单的基本概念开始,很快进入到对此领域最新技术的介绍。本书有如下三个特点:一是结构清晰,逐步深入,系统性强;二是始终追踪最新技术进展,内容新颖,学术水平高;三是全书主要以Pentium 4作为CISC处理器典型产品实例,以PowerPC作为RISC处理器典型产品实例来进行讲述。
总之,该书确实是一本反映了当代计算机系统结构主流技术和最新成就的优秀教材和专业参考书。此外,本书各章都附有推荐的参考文献、关键词、思考题和习题,作者还为此书建立了Web站点,教师手册推荐了课程课题,并免费提供了SimpleScalar和SMPCache软件包。这一切,无疑是对教学工作的有力支持。作者建议,此书作为教材可在一或两个学期(半学年)讲授完毕,教师可根据专业教学大纲的要求自行确定。译者建议,对于我国高校的计算机科学与技术专业,此书的第1章至第13章可作为计算机组成原理课程的教材,第14章至第18章可作为计算机系统结构课程的教材。译者认为,第18章并行处理的组织内容略显单薄,相信作者会在以后的新版本中予以增强。目前,计算机系统结构课程的任课教师可补充一些材料使之更为充实。
本书将计算机组织和计算机体系结构紧密关联,深入讨论它们的基本原理,并将它们应用到当代计算机系统性能设计中。对于以工作站或PC为工作环境的广大用户来说,阅读此书能收到立竿见影的效果;对于从事计算机研究与开发的技术人员来说,此书是一本具有指导意义的参考读物。