計算機組成與設計[2010年機械工業出版社出版書籍]

計算機組成與設計[2010年機械工業出版社出版書籍]
計算機組成與設計[2010年機械工業出版社出版書籍]
更多義項 ▼ 收起列表 ▲

《計算機組成與設計》是帕特森(DavidA.Patterson)編著的一本圖書。該書講述的是採用了一個MIPS處理器來展示計算機硬體技術、流水線、存儲器的層次結構以及I/O等基本功能。此外,該書還包括一些關於x86架構的介紹。

內容簡介

這本最暢銷的計算機組成書籍經過全面更新,關注現今發生在計算機體系結構領域的革命性變革:從單處理器發展到多核微處理器。此外,出版這本書的ARM版是為了強調嵌入式系統對於全亞洲計算行業的重要性,並採用ARM處理器來討論實際計算機的指令集和算術運算。因為ARM是用於嵌入式設備的最流行的指令集架構,而全世界每年約銷售40億個嵌入式設備。

採用ARMv6(ARM 11系列)為主要架構來展示指令系統和計算機算術運算的基本功能。

覆蓋從串列計算到並行計算的革命性變革,新增了關於並行化的一章,並且每章中還有一些強調並行硬體和軟體主題的小節。

新增一個由NVIDIA的首席科學家和架構主管撰寫的附錄,介紹了現代GPU的出現和重要性,首次詳細描述了這個針對可視計算進行了最佳化的高度並行化、多執行緒、多核的處理器。

描述一種度量多核性能的獨特方法——“Roofline model”,自帶benchmark測試和分析AMD Opteron X4、Intel Xeo 5000、Sun Ultra SPARC T2和IBM Cell的性能。

涵蓋了一些關於快閃記憶體和虛擬機的新內容。提供了大量富有啟發性的練習題,內容達200多頁。

將AMD Opteron X4和Intel Nehalem作為貫穿《計算機組成與設計:硬體/軟體接口(英文版·第4版·ARM版)》的實例。

用SPEC CPU2006組件更新了所有處理器性能實例。

圖書導語

本版特別之處在於採用ARM取代了早先使用MIPS作為核心處理器來講述計算機設計的基本原則,為本書增加了另一個層面的內涵。ARM作為嵌入式領域的主流處理器,在嵌入式計算領域具有非常重要的意義。本書彌補了現有數學體系中的空白,即有針對性地向學習嵌入式系統的學生講授計算機組成的基本原理。同以往版本一樣,本書仍主要介紹計算機硬體/軟體接口,並巧妙地將其與嵌入式系統設計的基本知識相聯繫。

作者簡介

David A.Patterson,加州大學伯克利分校計算機科學系教授。美國國家工程研究院院士。IEEE和ACM會士。曾因成功的啟發式教育方法被IEEE授予James H.Mulligan,Jr教育獎章。他因為對RISC技術的貢獻而榮獲1 995年IEEE技術成就獎,而在RAID技術方面的成就為他贏得了1999年IEEE Reynold Johnson信息存儲獎。2000年他~13John L.Hennessy分享了John von Neumann獎。

John L.Hennessy,史丹福大學校長,IEEE和ACM會士。美國國家工程研究院院士及美國科學藝術研究院院士。Hennessy教授因為在RISC技術方面做出了突出貢獻而榮獲2001年的Eckert-Mauchly獎章.他也是2001年Seymour Cray計算機工程獎得主。並且和David A.Patterson分享了2000年John von Neumann獎。

圖書目錄

1 Computer Abstractions and Technology

1.1 Introduction

1.2 BelowYour Program

1.3 Under the Covers

1.4 Performance

1.5 The Power Wall

1.6 The Sea Change: The Switch from Uniprocessors to Multiprocessors

1.7 Real Stuff: Manufacturing and Benchmarking the AMD Opteron X4

1.8 Fallacies and Pitfalls

1.9 Concluding Remarks

1.10 Historical Perspective and Further Reading

1.11 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 ARM Addressing for 32-Bit Immediates and More Complex Addressing Modes

2.11 Parallelism and Instructions: Synchronization

2.12 Translating and Starting a Program

2.13 A C Sort Example to Put lt AU 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: x86 Instructions

2.18 Fallacies and Pitfalls

2.19 Conduding Remarks

2.20 Historical Perspective and Further Reading

2.21 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: Associativity

3.7 Real Stuff: Floating Point in the x86

3.8 Fallacies and Pitfalls

3.9 Concluding Remarks

3.10 Historical Perspective and Further Reading

3.11 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 An Overview of Pipelining

4.6 Pipelined Datapath and Control

4.7 Data Hazards: Forwarding versus Stalling

4.8 Control Hazards

4.9 Exceptions

4.10 Parallelism and Advanced Instruction-Level Parallelism

4.11 Real Stuff: theAMD OpteronX4 (Barcelona) Pipeline

4.12 Advanced Topic: an Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipelineand More Pipelining Illustrations

4.13 Fallacies and Pitfalls

4.14 Concluding Remarks

4.15 Historical Perspective and Further Reading

4.16 Exercises

5 Large and Fast: Exploiting Memory Hierarchy

5.1 Introduction

5.2 The Basics of Caches

5.3 Measuring and Improving Cache Performance

5.4 Virtual Memory

5.5 A Common Framework for Memory Hierarchies

5.6 Virtual Machines

5.7 Using a Finite-State Machine to Control a Simple Cache

5.8 Parallelism and Memory Hierarchies: Cache Coherence

5.9 Advanced Material: Implementing Cache Controllers

5.10 Real Stuff: the AMD Opteron X4 (Barcelona) and Intel NehalemMemory Hierarchies

5.11 Fallacies and Pitfalls

5.12 Concluding Remarks

5.13 Historical Perspective and Further Reading

5.14 Exercises

6 Storage and Other I/0 Topics

6.1 Introduction

6.2 Dependability, Reliability, and Availability

6.3 Disk Storage

6.4 Flash Storage

6.5 Connecting Processors, Memory, and I/O Devices

6.6 Interfacing I/O Devices to the Processor, Memory, andOperating System

6.7 I/O Performance Measures: Examples from Disk and File Systems

6.8 Designing an I/O System

6.9 Parallelism and I/O: Redundant Arrays of Inexpensive Disks

6.10 Real Stuff: Sun Fire x4150 Server

6.11 Advanced Topics: Networks

6.12 Fallacies and Pitfalls

6.13 Concluding Remarks

6.14 Historical Perspective and Further Reading

6.15 Exercises

7 Multicores, Multiprocessors, and Clusters

7.1 Introduction

7.2 The Difficulty of Creating Parallel Processing Programs

7.3 Shared Memory Multiprocessors

7.4 Clusters and Other Message-Passing Multiprocessors

7.5 Hardware Multithreading 63

7.6 SISD,MIMD,SIMD,SPMD,and Vector

7.7 Introduction to Graphics Processing Units

7.8 Introduction to Multiprocessor Network Topologies

7.9 Multiprocessor Benchmarks

7.10 Roofline:A Simple Performance Model

7.11 Real Stuff:Benchmarking Four Multicores Using theRooflineMudd

7.12 Fallacies and Pitfalls

7.13 Concluding Remarks

7.14 Historical Perspective and Further Reading

7.15 Exercises

Inuex

C D-ROM CONTENT

A Graphics and Computing GPUS

A.1 Introduction

A.2 GPU System Architectures

A.3 Scalable Parallelism-Programming GPUS

A.4 Multithreaded Multiprocessor Architecture

A.5 Paralld Memory System G.6 Floating Point

A.6 Floating Point Arithmetic

A.7 Real Stuff:The NVIDIA GeForce 8800

A.8 Real Stuff:MappingApplications to GPUs

A.9 Fallacies and PitflaUs

A.10 Conduding Remarks

A.1l HistoricalPerspectiveandFurtherReading

B1 ARM and Thumb Assembler Instructions

B1.1 Using This Appendix

B1.2 Syntax

B1.3 Alphabetical List ofARM and Thumb Instructions

B1.4 ARM Asembler Quick Reference

B1.5 GNU Assembler Quick Reference

B2 ARM and Thumb Instruction Encodings

B3 Intruction Cycle Timings

C The Basics of Logic Design

D Mapping Control to Hardware

ADVANCED CONTENT

HISTORICAL PERSPECTIVES & FURTHER READING

TUTORIALS

SOFTWARE

相關詞條

熱門詞條

聯絡我們