-
内容大纲
本书由2017年图灵奖得主Patterson和Hennessy共同撰写,是计算机体系结构领域的经典书籍,强调软硬件协同设计及其对性能的影响。本书采用开源的RISC-V指令系统体系结构,讲解硬件技术、指令、算术运算、流水线、存储层次、I/O以及并行处理器等。第2版将RV64切换为RV32以降低学习难度,新增关于领域定制体系结构(DSA)的讨论以反映新的技术趋势。此外,每一章都增加了“性能提升”和“自学”章节,并更新了大量练习题。本书适合计算机体系结构领域的专业技术人员参考,也适合高等院校计算机相关专业的学生阅读。 -
作者介绍
-
目录
1 Computer Abstractions and Technology
1.1 Introduction
1.2 Seven Great Ideas in Computer Architecture
1.3 Below Your Program
1.4 Under the Covers
1.5 Technologies for Building Processors and Memory
1.6 Performance
1.7 The Power Wall
1.8 The Sea Change: The Switch from Uniprocessors to Multiprocessors
1.9 Real Stuff: Benchmarking the Intel Core i
1.10 Going Faster: Matrix Multiply in Python
1.11 Fallacies and Pitfalls
1.12 Concluding Remarks
1.13 Historical Perspective and Further Reading
1.14 Self-Study
1.15 Exercises
2 Instructions: Language of the Computer
2.1 Introduction
2.2 Operations of the Computer Hardware
2.3 Operands of the Computer Hardware
2.4 Signed and Unsigned Numbers
2.5 Representing Instructions in the Computer
2.6 Logical Operations
2.7 Instructions for Making Decisions
2.8 Supporting Procedures in Computer Hardware
2.9 Communicating with People
2.10 RISC-V Addressing for Wide Immediates and Addresses
2.11 Parallelism and Instructions: Synchronization
2.12 Translating and Starting a Program
2.13 A C Sort Example to Put it All Together
2.14 Arrays versus Pointers
2.15 Advanced Material: Compiling C and Interpreting Java
2.16 Real Stuff: MIPS Instructions
2.17 Real Stuff: ARMv7 (32-bit) Instructions
2.18 Real Stuff: ARMv8 (64-bit) Instructions
2.19 Real Stuff: x86 Instructions
2.20 Real Stuff: The Rest of the RISC-V Instruction Set
2.21 Going Faster: Matrix Multiply in C
2.22 Fallacies and Pitfalls
2.23 Concluding Remarks
2.24 Historical Perspective and Further Reading
2.25 Self-Study
2.26 Exercises
3 Arithmetic for Computers
3.1 Introduction
3.2 Addition and Subtraction
3.3 Multiplication
3.4 Division
3.5 Floating Point
3.6 Parallelism and Computer Arithmetic: Subword Parallelism
3.7 Real Stuff: Streaming SIMD Extensions and Advanced Vector Extensions in x
3.8 Going Faster: Subword Parallelism and Matrix Multiply
3.9 Fallacies and Pitfalls
3.10 Concluding Remarks
3.11 Historical Perspective and Further Reading
3.12 Self-Study
3.13 Exercises
4 The Processor
4.1 Introduction
4.2 Logic Design Conventions
4.3 Building a Datapath
4.4 A Simple Implementation Scheme
4.5 Multicycle Implementation
4.6 An Overview of Pipelining
4.7 Pipelined Datapath and Control
4.8 Data Hazards: Forwarding versus Stalling
4.9 Control Hazards
4.10 Exceptions
4.11 Parallelism via Instructions
4.12 Putting It All Together: The Intel Core i7 6700 and ARM Cortex
4.13 Going Faster: Instruction-Level Parallelism and Matrix Multiply
4.14 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and
More Pipelining Illustrations
4.15 Fallacies and Pitfalls
4.16 Concluding Remarks
4.17 Historical Perspective and Further Reading
4.18 Self-Study
4.19 Exercises
5 Large and Fast: Exploiting Memory Hierarchy
5.1 Introduction
5.2 Memory Technologies
5.3 The Basics of Caches
5.4 Measuring and Improving Cache Performance
5.5 Dependable Memory Hierarchy
5.6 Virtual Machines
5.7 Virtual Memory
5.8 A Common Framework for Memory Hierarchy
5.9 Using a Finite-State Machine to Control a Simple Cache
5.10 Parallelism and Memory Hierarchy: Cache Coherence
5.11 Parallelism and Memory Hierarchy: Redundant Arrays of Inexpensive Disks
5.12 Advanced Material: Implementing Cache Controllers
5.13 Real Stuff: The ARM Cortex-A53 and Intel Core i7 Memory Hierarchies
5.14 Real Stuff: The Rest of the RISC-V System and Special Instructions
5.15 Going Faster: Cache Blocking and Matrix Multiply
5.16 Fallacies and Pitfalls
5.17 Concluding Remarks
5.18 Historical Perspective and Further Reading
5.19 Self-Study
5.20 Exercises
6 Parallel Processors from Client to Cloud
6.1 Introduction
6.2 The Difficulty of Creating Parallel Processing Programs
6.3 SISD, MIMD, SIMD, SPMD, and Vector
6.4 Hardware Multithreading
6.5 Multicore and Other Shared Memory Multiprocessors
6.6 Introduction to Graphics Processing Units
6.7 Domain-Specific Architectures
6.8 Clusters, Warehouse Scale Computers, and Other Message-Passing Multiprocessors
6.9 Introduction to Multiprocessor Network Topologies
6.10 Communicating to the Outside World: Cluster Networking
6.11 Multiprocessor Benchmarks and Performance Models
6.12 Real Stuff: Benchmarking the Google TPUv3 Supercomputer and an NVIDIA Volta GPU Cluster
6.13 Going Faster: Multiple Processors and Matrix Multiply
6.14 Fallacies and Pitfalls
6.15 Concluding Remarks
6.16 Historical Perspective and Further Reading
6.17 Self-Study
6.18 Exercises
APPENDIX
A The Basics of Logic Design
A.1 Introduction
A.2 Gates, Truth Tables, and Logic Equations
A.3 Combinational Logic
A.4 Using a Hardware Description Language
A.5 Constructing a Basic Arithmetic Logic Unit
A.6 Faster Addition: Carry Lookahead
A.7 Clocks
A.8 Memory Elements: Flip-Flops, Latches, and Registers
A.9 Memory Elements: SRAMs and DRAMs
A.10 Finite-State Machines
A.11 Timing Methodologies
A.12 Field Programmable Devices
A.13 Concluding Remarks
A.14 Exercises
Index
ONLINE CONTENT
Graphics and Computing GPUs
B.1 Introduction
B.2 GPU System Architectures
B.3 Programming GPUs
B.4 Multithreaded Multiprocessor Architecture
B.5 Parallel Memory System
B.6 Floating-point Arithmetic
B.7 Real Stuff: The NVIDIA GeForce 8800
B.8 Real Stuff: Mapping Applications to GPUs
B.9 Fallacies and Pitfalls
B.10 Concluding Remarks
B.11 Historical Perspective and Further Reading
Mapping Control to Hardware
C.1 Introduction
C.2 Implementing Combinational Control Units
C.3 Implementing Finite-State Machine Control
C.4 Implementing the Next-State Function with a Sequencer
C.5 Translating a Microprogram to Hardware
C.6 Concluding Remarks
C.7 Exercises
Survey of Instruction Set Architectures
D.1 Introduction
D.2 A Survey of RISC Architectures for Desktop, Server, and Embedded Computers
D.3 The Intel 80×86
D.4 The VAX Architecture
D.5 The IBM 360/370 Architecture for Mainframe Computers
D.6 Historical Perspective and References
Glossary
Further Reading
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...