E-BOOK 计算机组成与设计:硬件/软件接口(英文版·原书第5版·ARM版) 戴维·A.,帕特森(David,A.,Patterson),[美]约翰·L.,亨 计算机组成与设计:硬件/软件接口(英文版·原书第5版·ARM版)

计算机组成与设计:硬件/软件接口(英文版·原书第5版·ARM版)

👤 戴维·A.,帕特森(David,A.,Patterson),[美]约翰·L.,亨 📖 机械工业出版社 📋 9787111668350 🌐 zh-CN
85
Downloads
4.8
Rating

📦 Download Book

  • 理解计算机底层原理:帮助读者深入理解计算机硬件与软件之间的交互机制,掌握从指令集到微架构的核心概念。
  • 掌握ARMv8架构:系统讲解ARMv8-A体系结构,使读者能够编写高效的汇编代码并理解现代移动设备的计算基础。
  • 提升性能分析能力:通过性能评估、流水线和内存层次结构的学习,读者能够识别系统瓶颈并优化程序性能。
  • 应对后PC时代挑战:针对移动计算和云计算的新趋势,提供相关硬件设计知识,帮助读者适应技术变革。
  • 弥合软硬件鸿沟:通过汇编语言、编译器和操作系统接口的讲解,让软件开发者更好地理解硬件限制,硬件工程师理解软件需求。
★★★
Intermediate
BeginnerElementaryIntermediateAdvancedExpert
  • 计算机专业学生:作为计算机组成原理课程的教材或参考书,帮助系统掌握硬件基础知识。
  • 软件开发者:通过理解底层硬件和指令集,提升代码优化能力和调试效率。
  • 嵌入式系统工程师:深入学习ARM架构,为移动设备和嵌入式系统开发打下坚实基础。
  • 硬件设计爱好者:对处理器设计和计算机体系结构感兴趣,希望深入了解现代硬件技术。
  • 云计算从业者:了解x86和ARM架构的差异,为云基础设施的选型和优化提供理论依据。
  1. 基础优先:建议先阅读第1章和第2章,理解计算机抽象和指令集的基本概念。
  2. 重点章节:第4章和第5章关于处理器和流水线是核心,需反复研读并配合练习。
  3. 动手实践:每个章节后的练习题务必完成,特别是汇编编程和性能分析题目。
  4. 联系实际:结合现代ARM设备(如手机、树莓派)观察所学概念,增强理解。
  5. 拓展阅读:每章末尾的“历史视角”和“进一步阅读”部分可拓宽知识面。
  • 扎实的硬件基础:掌握计算机组成原理的核心概念,为后续系统学习操作系统、编译原理等课程奠定基础。
  • ARM汇编能力:能够阅读和编写ARMv8汇编代码,理解指令编码和寻址方式。
  • 性能优化思维:学会从硬件角度分析程序性能,掌握流水线、缓存等优化手段。
  • 软硬件协同视角:具备同时从软件和硬件角度思考问题的能力,提升系统设计水平。
  • 前沿技术洞察:了解移动计算和云计算时代硬件设计的最新趋势和挑战。

📖 Book Introduction

内容简介
本书采用ARMv8-A体系结构, 介绍当前硬件技术的基本原理、汇编语言、计算机算术、流水线、内存层次结构和I/O。本书更加关注后PC时代发生的变革,通过实例、练习等详细介绍*新涌现的移动计算和云计算,更新的内容还包括平板电脑、云基础设施以及ARM(移动计算设备)和x86 (云计算)体系结构。
目录
Preface xv
CHAPTERS
1 Computer Abstractions and Technology 2
11 Introduction 3
12 Eight Great Ideas in Computer Architecture 11
13 Below Your Program 13
14 Under the Covers 16
15 Technologies for Building Processors and Memory 24
16 Performance 28
17 The Power Wall 40
18 The Sea Change: The Switch from Uniprocessors to Multiprocessors 43
19 Real Stuff: Benchmarking the Intel Core i7 46
110 Fallacies and Pitfalls 49
111 Concluding Remarks 52
112 Historical Perspective and Further Reading 54
113 Exercises 54
2 Instructions: Language of the Computer 60
21 Introduction 62
22 Operations of the Computer Hardware 63
23 Operands of the Computer Hardware 67
24 Signed and Unsigned Numbers 75
25 Representing Instructions in the Computer 82
26 Logical Operations 90
27 Instructions for Making Decisions 93
28 Supporting Procedures in Computer Hardware 100
29 Communicating with People 110
210 LEGv8 Addressing for Wide Immediates and Addresses 115
211 Parallelism and Instructions: Synchronization 125
212 Translating and Starting a Program 128
213 A C Sort Example to Put it All Together 137
214 Arrays versus Pointers 146
215 Advanced Material: Compiling C and Interpreting Java 150
216 Real Stuff: MIPS Instructions 150
217 Real Stuff: ARMv7 (32-bit) Instructions 152
218 Real Stuff: x86 Instructions 154
219 Real Stuff: The Rest of the ARMv8 Instruction Set 163
220 Fallacies and Pitfalls 169
221 Concluding Remarks 171
222 Historical Perspective and Further Reading 173
223 Exercises 174
3 Arithmetic for Computers 186
31 Introduction 188
32 Addition and Subtraction 188
33 Multiplication 191
34 Division 197
35 Floating Point 205
36 Parallelism and Computer Arithmetic: Subword Parallelism 230
37 Real Stuff: Streaming SIMD Extensions and Advanced Vector Extensions in x86 232
38 Real Stuff: The Rest of the ARMv8 Arithmetic Instructions 234
39 Going Faster: Subword Parallelism and Matrix Multiply 238
310 Fallacies and Pitfalls 242
311 Concluding Remarks 245
312 Historical Perspective and Further Reading 248
313 Exercises 249
4 The Processor 254
41 Introduction 256
42 Logic Design Conventions 260
43 Building a Datapath 263
44 A Simple Implementation Scheme 271
45 An Overview of Pipelining 283
46 Pipelined Datapath and Control 297
47 Data Hazards: Forwarding versus Stalling 316
48 Control Hazards 328
49 Exceptions 336
410 Parallelism via Instructions 342
411 Real Stuff: The ARM Cortex-A53 and Intel Core i7 Pipelines 355
412 Going Faster: Instruction-Level Parallelism and Matrix Multiply 363
413 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations 366
414 Fallacies and Pitfalls 366
415 Concluding Remarks 367
416 Historical Perspective and Further Reading 368
417 Exercises 368
5 Large and Fast: Exploiting Memory Hierarchy 386
51 Introduction 388
52 Memory Technologies 392
53 The Basics of Caches 397
54 Measuring and Improving Cache Performance 412
55 Dependable Memory Hierarchy 432
56 Virtual Machines 438
57 Virtual Memory 441
58 A Common Framework for Memory Hierarchy 465
59 Using a Finite-State Machine to Control a Simple Cache 472
510 Parallelism and Memory Hierarchy: Cache Coherence 477
511 Parallelism and Memory Hierarchy: Redundant Arrays of Inexpensive Disks 481
512 Advanced Material: Implementing Cache Controllers 482
513 Real Stuff: The ARM Cortex-A53 and Intel Core i7 Memory Hierarchies 482
514 Real Stuff: The Rest of the ARMv8 System and Special Instructions 487
515 Going Faster: Cache Blocking and Matrix Multiply 488
516 Fallacies and Pitfalls 491
517 Concluding Remarks 496
518 Historical Perspective and Further Reading 497
519 Exercises 497
6 Parallel Processors from Client to Cloud 514
61 Introduction 516
62 The Difficulty of Creating Parallel Processing Programs 51

📑 Table of Contents

  1. 计算机抽象与技术
  2. 指令:计算机的语言
  3. 计算机算术
  4. 处理器:数据通路与控制
  5. 利用流水线提升性能
  6. 存储器层次结构
  7. 并行处理器:从客户端到云
  8. I/O与存储系统
  9. 嵌入式系统与ARM处理器
  10. 性能评估与基准测试
  11. 多核与多处理器系统
  12. 硬件/软件接口高级主题