描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121324390丛书名: 国外计算机科学教材系列
编辑推荐
作者以Intel x86系列通用处理器和ARM系列嵌入式处理器作为主要考察实例贯穿全书,将当代计算机系统性能设计问题和计算机组织与结构的基本概念及原理紧密联系起来。通过介绍计算机的发展与演变引入性能评价和性能设计的概念,然后以自顶而下的方式逐层展开介绍计算机系统、存储器体系结构、I/O及互连、计算机算术、指令集体系结构的设计及其实现技术,*后还介绍了处理器的各种并行组织技术。全书力求追踪新技术步伐,添加了高速点到点互连技术、PCIe互连结构、固态驱动器与闪存、当今主机技术等新技术的讨论。
内容简介
作者以Intel x86系列通用处理器和ARM系列嵌入式处理器作为主要考察实例贯穿全书,将当代计算机系统性能设计问题和计算机组织与结构的基本概念及原理紧密联系起来。通过介绍计算机的发展与演变引入性能评价和性能设计的概念,然后以自顶而下的方式逐层展开介绍计算机系统、存储器体系结构、I/O及互连、计算机算术、指令集体系结构的设计及其实现技术,*后还介绍了处理器的各种并行组织技术。全书力求追踪新技术步伐,添加了高速点到点互连技术、PCIe互连结构、固态驱动器与闪存、当今主机技术等新技术的讨论。
目 录
Contents
Chapter 0 Reader’s and Instructor’s Guide
0.1 Outline of the Book
0.2 A Roadmap for Readers and Instructors
0.3 Why Study Computer Organization and Architecture?
0.4 Internet and Web Resources
Part One Overview
Chapter 1 Introduction
1.1 Organization and Architecture
1.2 Structure and Function
1.3 Key Terms and Review Questions
Chapter 2 Computer Evolution and Performance
2.1 A Brief History of Computers
2.2 Designing for Performance
2.3 Multicore, MICs, and GPGPUs
2.4 The Evolution of the Intel x86 Architecture
2.5 Embedded Systems and the Arm
2.6 Performance Assessment
2.7 Recommended Reading
2.8 Key Terms, Review Questions, and Problems
Part Two?The Computer System
Chapter 3 A Top-Level View of Computer Function and Interconnection
3.1 Computer Components
3.2 Computer Function
3.3 Interconnection Structures
3.4 Bus Interconnection
3.5 Point-to-Point Interconnect
3.6 PCI Express
3.7 Recommended Reading
3.8 Key Terms, Review Questions, and Problems
Chapter 4 Cache Memory
4.1 Computer Memory System Overview
4.2 Cache Memory Principles
4.3 Elements of Cache Design
4.4 Pentium 4 Cache Organization
4.5 Arm Cache Organization
4.6 Recommended Reading
4.7 Key Terms, Review Questions, and Problems
Appendix 4A Performance Characteristics of Two-Level Memories
Chapter 5 Internal Memory
5.1 Semiconductor Main Memory
5.2 Error Correction
5.3 Advanced Dram Organization
5.4 Recommended Reading
5.5 Key Terms, Review Questions, and Problems
Chapter 6 External Memory
6.1 Magnetic Disk
6.2 Raid
6.3 Solid State Drives
6.4 Optical Memory
6.5 Magnetic Tape
6.6 Recommended Reading
6.7 Key Terms, Review Questions, and Problems
Chapter 7 Input/Output
7.1 External Devices
7.2 I/O Modules
7.3 Programmed I/O
7.4 Interrupt-Driven I/O
7.5 Direct Memory Access
7.6 I/O Channels and Processors
7.7 The External Interface: Thunderbolt and Infiniband
7.8 IBM zEnterprise 196 I/O Structure
7.9 Recommended Reading
7.10 Key Terms, Review Questions, and Problems
Chapter 8 Operating System Support
8.1 Operating System Overview
8.2 Scheduling
8.3 Memory Management
8.4 Pentium Memory Management
8.5 ARM Memory Management
8.6 Recommended Reading
8.7 Key Terms, Review Questions, and Problems
Part three Arithmetic and Logic
Chapter 9 Number Systems
9.1 The Decimal System
9.2 Positional Number Systems
9.3 The Binary System
9.4 Converting Between Binary and Decimal
9.5 Hexadecimal Notation
9.6 Recommended Reading
9.7 Key Terms and Problems
Chapter 10 Computer Arithmetic
10.1 The Arithmetic and Logic Unit
10.2 Integer Representation
10.3 Integer Arithmetic
10.4 Floating-Point Representation
10.5 Floating-Point Arithmetic
10.6 Recommended Reading
10.7 Key Terms, Review Questions, and Problems
Chapter 11 Digital Logic
11.1 Boolean Algebra
11.2 Gates
11.3 Combinational Circuits
11.4 Sequential Circuits
11.5 Programmable Logic Devices
11.6 Recommended Reading
11.7 Key Terms and Problems
Part Four The Central Processing Unit
Chapter 12 Instruction Sets: Characteristics and Functions
12.1 Machine Instruction Characteristics
12.2 Types of Operands
12.3 Intel x86 and Arm Data Types
12.4 Types of Operations
12.5 Intel x86 and ARM Operation Types
12.6 Recommended Reading
12.7 Key Terms, Review Questions, and Problems
Appendix 12A Little-, Big-, and Bi-Endian
Chapter 13 Instruction Sets: Addressing Modes and Formats
13.1 Addressing Modes
13.2 x86 and ARM Addressing Modes
13.3 Instruction Formats
13.4 x86 and ARM Instruction Formats
13.5 Assembly Language
13.6 Recommended Reading
13.7 Key Terms, Review Questions, and Problems
Chapter 14 Processor Structure and Function
14.1 Processor Organization
14.2 Register Organization
14.3 Instruction Cycle
14.4 Instruction Pipelining
14.5 The x86 Processor Family
14.6 The Arm Processor
14.7 Recommended Reading
14.8 Key Terms, Review Questions, and Problems
Chapter 15 Reduced Instruction Set Computers
15.1 Instruction Execution Characteristics
15.2 The Use of a Large Register File
15.3 Compiler-Based Register Optimization
15.4 Reduced Instruction Set Architecture
15.5 RISC Pipelining
15.6 MIPS R4000
15.7 Sparc
15.8 RISC Versus CISC Controversy
15.9 Recommended Reading
15.10 Key Terms, Review Questions, and Problems
Chapter 16 Instruction-Level Parallelism and Superscalar Processors
16.1 Overview
16.2 Design Issues
16.3 Pentium 4
16.4 Arm Cortex-A8
16.5 Recommended Reading
16.6 Key Terms, Review Questions, and Problems
Part Five Parallel Organization
Chapter 17 Parallel Processing
17.1 Multiple Processor Organizations
17.2 Symmetric Multiprocessors
17.3 Cache Coherence and the MESI Protocol
17.4 Multithreading and Chip Multiprocessors
17.5 Clusters
17.6 Nonuniform Memory Access
17.7 Vector Computation
17.8 Recommended Reading
17.9 Key Terms, Review Questions, and Problems
Chapter 18 Multicore Computers
18.1 Hardware Performance Issues
18.2 Software Performance Issues
18.3 Multicore Organization
18.4 Intel x86 Multicore Organization
18.5 ARM11 MPCore
18.6 Ibm zEnterprise 196 Mainframe
18.7 Recommended Reading
18.8 Key Terms, Review Questions, and Problems
Appendix A Projects for Teaching Computer Organization and Architecture
Appendix B Assembly Language and Related Topics
Glossary
References
Index
Online Chapters1
Part Six The Control Unit 19-1
Chapter 19 Control Unit Operation 19-1
19.1 Micro-operations 19-3
19.2 Control of the Processor 19-13
19.3 Hardwired Implementation 19-30
19.4 Recommended Reading 19-35
19.5 Key Terms, Review Questions, and Problems 19-35
Chapter 20 Microprogrammed Control 20-1
20.1 Basic Concepts 20-3
20.2 Microinstruction Sequencing 20-16
20.3 Microinstruction Execution 20-26
20.4 TI 8800 20-45
20.5 Recommended Reading 20-59
20.6 Key Terms, Review Questions, and Problems 20-60
Chapter 0 Reader’s and Instructor’s Guide
0.1 Outline of the Book
0.2 A Roadmap for Readers and Instructors
0.3 Why Study Computer Organization and Architecture?
0.4 Internet and Web Resources
Part One Overview
Chapter 1 Introduction
1.1 Organization and Architecture
1.2 Structure and Function
1.3 Key Terms and Review Questions
Chapter 2 Computer Evolution and Performance
2.1 A Brief History of Computers
2.2 Designing for Performance
2.3 Multicore, MICs, and GPGPUs
2.4 The Evolution of the Intel x86 Architecture
2.5 Embedded Systems and the Arm
2.6 Performance Assessment
2.7 Recommended Reading
2.8 Key Terms, Review Questions, and Problems
Part Two?The Computer System
Chapter 3 A Top-Level View of Computer Function and Interconnection
3.1 Computer Components
3.2 Computer Function
3.3 Interconnection Structures
3.4 Bus Interconnection
3.5 Point-to-Point Interconnect
3.6 PCI Express
3.7 Recommended Reading
3.8 Key Terms, Review Questions, and Problems
Chapter 4 Cache Memory
4.1 Computer Memory System Overview
4.2 Cache Memory Principles
4.3 Elements of Cache Design
4.4 Pentium 4 Cache Organization
4.5 Arm Cache Organization
4.6 Recommended Reading
4.7 Key Terms, Review Questions, and Problems
Appendix 4A Performance Characteristics of Two-Level Memories
Chapter 5 Internal Memory
5.1 Semiconductor Main Memory
5.2 Error Correction
5.3 Advanced Dram Organization
5.4 Recommended Reading
5.5 Key Terms, Review Questions, and Problems
Chapter 6 External Memory
6.1 Magnetic Disk
6.2 Raid
6.3 Solid State Drives
6.4 Optical Memory
6.5 Magnetic Tape
6.6 Recommended Reading
6.7 Key Terms, Review Questions, and Problems
Chapter 7 Input/Output
7.1 External Devices
7.2 I/O Modules
7.3 Programmed I/O
7.4 Interrupt-Driven I/O
7.5 Direct Memory Access
7.6 I/O Channels and Processors
7.7 The External Interface: Thunderbolt and Infiniband
7.8 IBM zEnterprise 196 I/O Structure
7.9 Recommended Reading
7.10 Key Terms, Review Questions, and Problems
Chapter 8 Operating System Support
8.1 Operating System Overview
8.2 Scheduling
8.3 Memory Management
8.4 Pentium Memory Management
8.5 ARM Memory Management
8.6 Recommended Reading
8.7 Key Terms, Review Questions, and Problems
Part three Arithmetic and Logic
Chapter 9 Number Systems
9.1 The Decimal System
9.2 Positional Number Systems
9.3 The Binary System
9.4 Converting Between Binary and Decimal
9.5 Hexadecimal Notation
9.6 Recommended Reading
9.7 Key Terms and Problems
Chapter 10 Computer Arithmetic
10.1 The Arithmetic and Logic Unit
10.2 Integer Representation
10.3 Integer Arithmetic
10.4 Floating-Point Representation
10.5 Floating-Point Arithmetic
10.6 Recommended Reading
10.7 Key Terms, Review Questions, and Problems
Chapter 11 Digital Logic
11.1 Boolean Algebra
11.2 Gates
11.3 Combinational Circuits
11.4 Sequential Circuits
11.5 Programmable Logic Devices
11.6 Recommended Reading
11.7 Key Terms and Problems
Part Four The Central Processing Unit
Chapter 12 Instruction Sets: Characteristics and Functions
12.1 Machine Instruction Characteristics
12.2 Types of Operands
12.3 Intel x86 and Arm Data Types
12.4 Types of Operations
12.5 Intel x86 and ARM Operation Types
12.6 Recommended Reading
12.7 Key Terms, Review Questions, and Problems
Appendix 12A Little-, Big-, and Bi-Endian
Chapter 13 Instruction Sets: Addressing Modes and Formats
13.1 Addressing Modes
13.2 x86 and ARM Addressing Modes
13.3 Instruction Formats
13.4 x86 and ARM Instruction Formats
13.5 Assembly Language
13.6 Recommended Reading
13.7 Key Terms, Review Questions, and Problems
Chapter 14 Processor Structure and Function
14.1 Processor Organization
14.2 Register Organization
14.3 Instruction Cycle
14.4 Instruction Pipelining
14.5 The x86 Processor Family
14.6 The Arm Processor
14.7 Recommended Reading
14.8 Key Terms, Review Questions, and Problems
Chapter 15 Reduced Instruction Set Computers
15.1 Instruction Execution Characteristics
15.2 The Use of a Large Register File
15.3 Compiler-Based Register Optimization
15.4 Reduced Instruction Set Architecture
15.5 RISC Pipelining
15.6 MIPS R4000
15.7 Sparc
15.8 RISC Versus CISC Controversy
15.9 Recommended Reading
15.10 Key Terms, Review Questions, and Problems
Chapter 16 Instruction-Level Parallelism and Superscalar Processors
16.1 Overview
16.2 Design Issues
16.3 Pentium 4
16.4 Arm Cortex-A8
16.5 Recommended Reading
16.6 Key Terms, Review Questions, and Problems
Part Five Parallel Organization
Chapter 17 Parallel Processing
17.1 Multiple Processor Organizations
17.2 Symmetric Multiprocessors
17.3 Cache Coherence and the MESI Protocol
17.4 Multithreading and Chip Multiprocessors
17.5 Clusters
17.6 Nonuniform Memory Access
17.7 Vector Computation
17.8 Recommended Reading
17.9 Key Terms, Review Questions, and Problems
Chapter 18 Multicore Computers
18.1 Hardware Performance Issues
18.2 Software Performance Issues
18.3 Multicore Organization
18.4 Intel x86 Multicore Organization
18.5 ARM11 MPCore
18.6 Ibm zEnterprise 196 Mainframe
18.7 Recommended Reading
18.8 Key Terms, Review Questions, and Problems
Appendix A Projects for Teaching Computer Organization and Architecture
Appendix B Assembly Language and Related Topics
Glossary
References
Index
Online Chapters1
Part Six The Control Unit 19-1
Chapter 19 Control Unit Operation 19-1
19.1 Micro-operations 19-3
19.2 Control of the Processor 19-13
19.3 Hardwired Implementation 19-30
19.4 Recommended Reading 19-35
19.5 Key Terms, Review Questions, and Problems 19-35
Chapter 20 Microprogrammed Control 20-1
20.1 Basic Concepts 20-3
20.2 Microinstruction Sequencing 20-16
20.3 Microinstruction Execution 20-26
20.4 TI 8800 20-45
20.5 Recommended Reading 20-59
20.6 Key Terms, Review Questions, and Problems 20-60
前 言
作者简介
William Stallings博士著有17种著作,内容涉及计算机安全、计算机网络和计算机体系结构等。曾12次获得教材和学术作者协会颁发的年度最佳计算机科学教材奖。其著作在大量的出版物中被引用参考,包括Proceedings of the IEEE和ACM Computing Reviews及Cryptologia。
在他30余年的职业生涯中,曾担任过技术撰稿人,技术管理者及几个高科技公司的经理。曾在各种计算机平台和操作系统上设计并实现了基于TCP/IP的和基于OSI的协议族,这些计算机平台囊括了从微型计算机到大型计算机等各种类型。作为一名顾问,他曾为政府部门、计算机与软件经销商,以及设计、选择和使用组网软件与产品的大客户提供过指导。
前言
在第九版中有哪些新内容
本书第八版出版四年以来,这个领域在不断创新和进步。在新版中,我尽力补充本领域的新知识,同时继续保持本书内容能够全面覆盖这个领域的知识。为了做好这次修订工作,我们请了很多本学科的教授和本领域的专业人士对本书第八版进行了全面复查。复查结果收效明显,很多文字叙述更加清晰简洁,很多图表得到进一步改善。
除了在改进教学方法和提高用户友好性方面精益求精,全书已经有了实质性的变化。尽管新版大体上保持了同样的章节结构,但大部分内容都已经做过修订,并增加了很多新内容。最重要的变化包括如下几个方面。
点对点互连:传统的总线结构越来越多地被高速点对点互连模式替代。本书新增一节内容,以Intel公司的QuickPath Interconnect(QPI)技术为例来介绍这种技术。
PCI Express:PCI Express(PCIe)已经成为标准的外部设备互连体系结构,替换掉了PCI和其他基于总线的体系结构。本书新增一节内容介绍PCIe。
固态盘驱动器和闪存:在很大一部分计算机中,固态盘驱动器正越来越多地取代硬盘驱动器。因此新增一节内容介绍SSD(固态盘驱动器)及其底层的闪存技术。
IEEE 754 浮点标准:对有关IEEE 754的内容进行了修订,以反映2008新标准。
当代大型机组成:第7章和第18章中增加了介绍IBM大型机zEnterprise 196的内容。
I/O标准:本书进行了修订,以反映I/O标准的最新进展,包括Thunderbolt。
多核心架构:有关多核心架构的材料得到显著扩展。
辅助学习清单:每一章开头都给出了一个学习主题的清单。
示例大纲:书中包含了更多的材料,在一个学期内难以学完。因此,我们为老师提供了一些示例的要点说明,以有助于在有限的时间内(比如16周或12周)学完这些内容。这些示例来自使用本书第八版的教授们的实践经验。
试题库:每章都提供了一组复习题,题型包括判断题、多项选择题和填空题等。
对于每一个新版本来说,在增加新内容的同时保持合理的页数都是非常令人纠结的事。为实现这个目标,一方面,新版适当删减过时内容、压缩文字叙述;另一方面,新版把非必读章节和附录都制作成单独的PDF文件,作为在线内容放在网站上,从而使本书的厚度和价格不会随着内容的增加而增加。
本书目标
本书介绍计算机的结构和功能,其目标是尽可能清晰完整地描绘现代计算机系统的特性和特征。
这个任务之所以颇具挑战性,是由于以下几个原因。首先,有各种各样的产品都可以堂而皇之地冠以计算机的名称,其中包括从几美元的单片机到耗资几千万美元的超级计算机。其多样性不仅表现在成本上,也体现在大小、性能和应用上。其次,计算机技术快速发展变化的特点从来没有改变过。这些发展变化涵盖了计算机技术的各个方面,从底层用于构建计算机零部件的集成电路技术,到把这些零部件组合起来的应用日益广泛的并行结构的概念和技术。
虽然计算机领域产品种类繁多、技术变化快速,但其中有些基本概念却始终适用于整个领域。这些概念的应用取决于目前的技术发展水平和设计师想要的性价比。本书的目的是结合当前的设计问题,对计算机组成和体系结构的基本原理进行透彻的阐述。
书名的副标题暗示了本书的主题和方法。设计计算机系统以获得高性能向来是非常重要的要求,但这个要求从来没有像现在这样强烈和难以满足。计算机系统的所有基本性能特征,包括处理器速度、存储器速度、存储容量和互连数据速率都在迅速提高,并且在以不同的速度提高。我们总是想设计出均衡的系统,它可以充分发挥所有元素的最佳性能和全部价值,但各种技术不平衡的发展速度使我们的目标难以实现。因此,计算机设计越来越成为一个补偿游戏,在某个方面改变结构或功能,以补偿另一个方面的性能不足。在全书中,我们将在许多设计决策中看到这个让人筋疲力尽的游戏。
计算机系统由一组相互关联的部件构成,这和其他任何系统都一样。要说清楚一个系统的特点,最好的方法就是从结构和功能两方面进行说明,前者就是各部件之间的关联关系,后者则是每个单独部件的作用。此外,计算机的组成是分层结构的,每个部件都可以进一步分解成子部件,即每个部件都可以用它的结构和功能来说明。
为了叙述清楚,易于理解,本书按照计算机组成的分层结构自上向下逐层说明。
计算机系统:主要部件包括处理器、内存、I/O模块。
处理器:主要部件包括控制单元、寄存器、ALU及指令执行单元。
控制单元:为处理器所有组件的操作和协调提供控制信号。习惯上,控制单元使用微编程技术实现,它的主要部件包括控制存储器、微指令排序逻辑和寄存器。最近,微编程技术已经不再那么风光,不过仍然不失为一种重要的实现技术。
我们的目标是在书中补充新材料,并继续保持全书内容丰富、条理清晰,这样就能最大限度地减少让读者感到困惑的可能性,与自底向上方式相比,这也可以更有效地激发读者的阅读兴趣。
在整本书中,对系统的各个方面都是从体系结构(对机器语言程序员可见的系统属性)和组成(实现体系结构的各操作单元及其关联方式)两个角度来阐明。
示例系统
本书旨在让读者了解当代操作系统的设计原则和实现要点,所以仅从概念和理论上来说明是远远不够的。为了阐述清楚这些概念,我们用为实现系统必须做出的设计选项来配合说明,这里选择两种处理器系列作为可以运行的实例。
Intel x86架构:x86架构在非嵌入式计算机系统中的应用最为广泛。它本质上是带有一些RISC特征的复杂指令集计算机(CISC)。x86系列的最新成员使用了超标量和多核设计原则。x86架构的特征演变提供了一个研究计算机体系结构绝大多数设计原则的独一无二的案例。
ARM:ARM架构的处理器可以说是使用最广泛的嵌入式处理器,应用于手机、iPod、远程传感仪表及很多其他设备。ARM实际上是精简指令集计算机(RISC)。ARM系列的最新成员使用了超标量和多核设计原则。
当然了,虽然本书中很多例子都是基于这两种处理器系列的,但并非全部。很多例子是基于当代或历史上各种其他系统的,用以说明重要的计算机体系结构设计特征。
本书结构
本书分成六个部分(可参见第0章):
概述
计算机系统
算术和逻辑
中央处理器
并行结构(包括多核结构)
控制单元
本书包含了很多便于教学使用的特征,其中包括交互式仿真和大量图表,以清晰地阐述知识内容。每章有关键词列表、复习题和课后作业题,还有对进一步阅读的建议。本书还包括内容丰富的术语表、常用缩略语和参考文献。
目标读者
本书面向高校师生和专业技术人员。它可以作为计算机科学、计算机工程及电气工程专业本科生教材,安排在一个学期或两个学期讲授。根据IEEE/ACM计算机课程体系,本书覆盖了其中关于计算机分类、体系结构和组成的所有核心知识点。
本书适合自学,对本领域感兴趣的专业人士,可以将本书作为入门参考书。
教学辅助材料
本书的教学资料中心(IRC)为教师们提供了辅助材料,通过访问www.pearsoninternationaleditions.com/stallings可获取如下材料。
课题手册:给出了课题资料,包括文档和可移植软件,以及各种推荐课题。
答案手册:每章末尾习题的答案。
PPT:一组PPT,覆盖所有章节内容,可用于授课。
PDF文件:包含书中的所有插图和表格。
试题库:按章组织的试题。
教学大纲样例:本书包含的内容较多,在一个学期内难以轻松学完。鉴于此,本书为老师们提供了一些教学大纲的样例,这些样例基于教授们使用本书第一版从事一线教学的经验,可以指导老师们在有限的时间内完成教学。
配套网站WilliamStallings.com/ComputerOrganization(点击“Instructor Resources”链接),包括如下内容:
链接到使用本书教学的其他课程的网站。
Internet邮箱列表注册信息,帮助使用本书的老师之间以及老师和作者之间交流信息、建议和问题。
学生资源
在新版中,为学生提供了大量原创性的辅助材料,可以通过两个网站在线访问。配套网站WilliamStallings.com/ComputerOrganization(点击“Student Resource”链接)包含按章组织的相关链接清单和本书勘误表。
学生资源包括如下材料:
在线部分:为控制本书的页数和价格,有两章内容以PDF格式提供。这两章已在本书目录中列出。
在线附录:有很多有趣的话题是有助于阅读和理解本书内容的,但因篇幅所限无法印在书里,已整理为13个附录,供有兴趣的学生阅读。这些附录已在本书目录中列出。
课后题与解答:为帮助学生理解本书内容,单独提供了一套课后题与答案。学生可以先自己解答,然后与给出的答案对照,以此加深对知识内容的理解。
关键论文:从专业著作中收集了几十篇论文,其中很多论文都是费尽周折才找到的,供读者进一步学习阅读。
支持文献:本书还引用了其他多种有用的文献,这些文献也以在线方式提供给读者。
此外,作者维护着计算机科学学生资源网站(Computer Science Student Resource Site),网址是WilliamStallings.com/
William Stallings博士著有17种著作,内容涉及计算机安全、计算机网络和计算机体系结构等。曾12次获得教材和学术作者协会颁发的年度最佳计算机科学教材奖。其著作在大量的出版物中被引用参考,包括Proceedings of the IEEE和ACM Computing Reviews及Cryptologia。
在他30余年的职业生涯中,曾担任过技术撰稿人,技术管理者及几个高科技公司的经理。曾在各种计算机平台和操作系统上设计并实现了基于TCP/IP的和基于OSI的协议族,这些计算机平台囊括了从微型计算机到大型计算机等各种类型。作为一名顾问,他曾为政府部门、计算机与软件经销商,以及设计、选择和使用组网软件与产品的大客户提供过指导。
前言
在第九版中有哪些新内容
本书第八版出版四年以来,这个领域在不断创新和进步。在新版中,我尽力补充本领域的新知识,同时继续保持本书内容能够全面覆盖这个领域的知识。为了做好这次修订工作,我们请了很多本学科的教授和本领域的专业人士对本书第八版进行了全面复查。复查结果收效明显,很多文字叙述更加清晰简洁,很多图表得到进一步改善。
除了在改进教学方法和提高用户友好性方面精益求精,全书已经有了实质性的变化。尽管新版大体上保持了同样的章节结构,但大部分内容都已经做过修订,并增加了很多新内容。最重要的变化包括如下几个方面。
点对点互连:传统的总线结构越来越多地被高速点对点互连模式替代。本书新增一节内容,以Intel公司的QuickPath Interconnect(QPI)技术为例来介绍这种技术。
PCI Express:PCI Express(PCIe)已经成为标准的外部设备互连体系结构,替换掉了PCI和其他基于总线的体系结构。本书新增一节内容介绍PCIe。
固态盘驱动器和闪存:在很大一部分计算机中,固态盘驱动器正越来越多地取代硬盘驱动器。因此新增一节内容介绍SSD(固态盘驱动器)及其底层的闪存技术。
IEEE 754 浮点标准:对有关IEEE 754的内容进行了修订,以反映2008新标准。
当代大型机组成:第7章和第18章中增加了介绍IBM大型机zEnterprise 196的内容。
I/O标准:本书进行了修订,以反映I/O标准的最新进展,包括Thunderbolt。
多核心架构:有关多核心架构的材料得到显著扩展。
辅助学习清单:每一章开头都给出了一个学习主题的清单。
示例大纲:书中包含了更多的材料,在一个学期内难以学完。因此,我们为老师提供了一些示例的要点说明,以有助于在有限的时间内(比如16周或12周)学完这些内容。这些示例来自使用本书第八版的教授们的实践经验。
试题库:每章都提供了一组复习题,题型包括判断题、多项选择题和填空题等。
对于每一个新版本来说,在增加新内容的同时保持合理的页数都是非常令人纠结的事。为实现这个目标,一方面,新版适当删减过时内容、压缩文字叙述;另一方面,新版把非必读章节和附录都制作成单独的PDF文件,作为在线内容放在网站上,从而使本书的厚度和价格不会随着内容的增加而增加。
本书目标
本书介绍计算机的结构和功能,其目标是尽可能清晰完整地描绘现代计算机系统的特性和特征。
这个任务之所以颇具挑战性,是由于以下几个原因。首先,有各种各样的产品都可以堂而皇之地冠以计算机的名称,其中包括从几美元的单片机到耗资几千万美元的超级计算机。其多样性不仅表现在成本上,也体现在大小、性能和应用上。其次,计算机技术快速发展变化的特点从来没有改变过。这些发展变化涵盖了计算机技术的各个方面,从底层用于构建计算机零部件的集成电路技术,到把这些零部件组合起来的应用日益广泛的并行结构的概念和技术。
虽然计算机领域产品种类繁多、技术变化快速,但其中有些基本概念却始终适用于整个领域。这些概念的应用取决于目前的技术发展水平和设计师想要的性价比。本书的目的是结合当前的设计问题,对计算机组成和体系结构的基本原理进行透彻的阐述。
书名的副标题暗示了本书的主题和方法。设计计算机系统以获得高性能向来是非常重要的要求,但这个要求从来没有像现在这样强烈和难以满足。计算机系统的所有基本性能特征,包括处理器速度、存储器速度、存储容量和互连数据速率都在迅速提高,并且在以不同的速度提高。我们总是想设计出均衡的系统,它可以充分发挥所有元素的最佳性能和全部价值,但各种技术不平衡的发展速度使我们的目标难以实现。因此,计算机设计越来越成为一个补偿游戏,在某个方面改变结构或功能,以补偿另一个方面的性能不足。在全书中,我们将在许多设计决策中看到这个让人筋疲力尽的游戏。
计算机系统由一组相互关联的部件构成,这和其他任何系统都一样。要说清楚一个系统的特点,最好的方法就是从结构和功能两方面进行说明,前者就是各部件之间的关联关系,后者则是每个单独部件的作用。此外,计算机的组成是分层结构的,每个部件都可以进一步分解成子部件,即每个部件都可以用它的结构和功能来说明。
为了叙述清楚,易于理解,本书按照计算机组成的分层结构自上向下逐层说明。
计算机系统:主要部件包括处理器、内存、I/O模块。
处理器:主要部件包括控制单元、寄存器、ALU及指令执行单元。
控制单元:为处理器所有组件的操作和协调提供控制信号。习惯上,控制单元使用微编程技术实现,它的主要部件包括控制存储器、微指令排序逻辑和寄存器。最近,微编程技术已经不再那么风光,不过仍然不失为一种重要的实现技术。
我们的目标是在书中补充新材料,并继续保持全书内容丰富、条理清晰,这样就能最大限度地减少让读者感到困惑的可能性,与自底向上方式相比,这也可以更有效地激发读者的阅读兴趣。
在整本书中,对系统的各个方面都是从体系结构(对机器语言程序员可见的系统属性)和组成(实现体系结构的各操作单元及其关联方式)两个角度来阐明。
示例系统
本书旨在让读者了解当代操作系统的设计原则和实现要点,所以仅从概念和理论上来说明是远远不够的。为了阐述清楚这些概念,我们用为实现系统必须做出的设计选项来配合说明,这里选择两种处理器系列作为可以运行的实例。
Intel x86架构:x86架构在非嵌入式计算机系统中的应用最为广泛。它本质上是带有一些RISC特征的复杂指令集计算机(CISC)。x86系列的最新成员使用了超标量和多核设计原则。x86架构的特征演变提供了一个研究计算机体系结构绝大多数设计原则的独一无二的案例。
ARM:ARM架构的处理器可以说是使用最广泛的嵌入式处理器,应用于手机、iPod、远程传感仪表及很多其他设备。ARM实际上是精简指令集计算机(RISC)。ARM系列的最新成员使用了超标量和多核设计原则。
当然了,虽然本书中很多例子都是基于这两种处理器系列的,但并非全部。很多例子是基于当代或历史上各种其他系统的,用以说明重要的计算机体系结构设计特征。
本书结构
本书分成六个部分(可参见第0章):
概述
计算机系统
算术和逻辑
中央处理器
并行结构(包括多核结构)
控制单元
本书包含了很多便于教学使用的特征,其中包括交互式仿真和大量图表,以清晰地阐述知识内容。每章有关键词列表、复习题和课后作业题,还有对进一步阅读的建议。本书还包括内容丰富的术语表、常用缩略语和参考文献。
目标读者
本书面向高校师生和专业技术人员。它可以作为计算机科学、计算机工程及电气工程专业本科生教材,安排在一个学期或两个学期讲授。根据IEEE/ACM计算机课程体系,本书覆盖了其中关于计算机分类、体系结构和组成的所有核心知识点。
本书适合自学,对本领域感兴趣的专业人士,可以将本书作为入门参考书。
教学辅助材料
本书的教学资料中心(IRC)为教师们提供了辅助材料,通过访问www.pearsoninternationaleditions.com/stallings可获取如下材料。
课题手册:给出了课题资料,包括文档和可移植软件,以及各种推荐课题。
答案手册:每章末尾习题的答案。
PPT:一组PPT,覆盖所有章节内容,可用于授课。
PDF文件:包含书中的所有插图和表格。
试题库:按章组织的试题。
教学大纲样例:本书包含的内容较多,在一个学期内难以轻松学完。鉴于此,本书为老师们提供了一些教学大纲的样例,这些样例基于教授们使用本书第一版从事一线教学的经验,可以指导老师们在有限的时间内完成教学。
配套网站WilliamStallings.com/ComputerOrganization(点击“Instructor Resources”链接),包括如下内容:
链接到使用本书教学的其他课程的网站。
Internet邮箱列表注册信息,帮助使用本书的老师之间以及老师和作者之间交流信息、建议和问题。
学生资源
在新版中,为学生提供了大量原创性的辅助材料,可以通过两个网站在线访问。配套网站WilliamStallings.com/ComputerOrganization(点击“Student Resource”链接)包含按章组织的相关链接清单和本书勘误表。
学生资源包括如下材料:
在线部分:为控制本书的页数和价格,有两章内容以PDF格式提供。这两章已在本书目录中列出。
在线附录:有很多有趣的话题是有助于阅读和理解本书内容的,但因篇幅所限无法印在书里,已整理为13个附录,供有兴趣的学生阅读。这些附录已在本书目录中列出。
课后题与解答:为帮助学生理解本书内容,单独提供了一套课后题与答案。学生可以先自己解答,然后与给出的答案对照,以此加深对知识内容的理解。
关键论文:从专业著作中收集了几十篇论文,其中很多论文都是费尽周折才找到的,供读者进一步学习阅读。
支持文献:本书还引用了其他多种有用的文献,这些文献也以在线方式提供给读者。
此外,作者维护着计算机科学学生资源网站(Computer Science Student Resource Site),网址是WilliamStallings.com/
评论
还没有评论。