電腦組成與設計:硬件/軟件接口 (原文版) (Computer Organization and Design RISC-V Edition: The Hardware Software Interface)

[美] 戴維·A. 帕特森(David A. Patterson) 約翰·L. 亨尼斯(John L. Hennessy) 著

買這商品的人也買了...

商品描述

本書採用RISC-V體系結構,講解硬件技術,彙編語言,計算機算術運算,流水線,存儲器層次結構以及I / O的基本原理。新內容涵蓋平板電腦,雲基礎設施,ARM(移動計算設備)以及x86(雲計算)體系結構,新實例包括Intel Core i7 ,ARM Cortex-A53以及NVIDIA Fermi GPU。本書適合作為高等院校計算機專業的教材,也適合廣大專業技術人員參考。

商品描述(中文翻譯)

本書採用RISC-V體系結構,講解硬件技術,彙編語言,計算機算術運算,流水線,存儲器層次結構以及I / O的基本原理。新內容涵蓋平板電腦,雲基礎設施,ARM(移動計算設備)以及x86(雲計算)體系結構,新實例包括Intel Core i7 ,ARM Cortex-A53以及NVIDIA Fermi GPU。本書適合作為高等院校計算機專業的教材,也適合廣大專業技術人員參考。

作者簡介

戴維·A。帕特森(David A.Patterson),Patte rson與Hennessy共同榮獲了2017年度“圖靈獎”,以表彰他們在計算機體系結構領域的開創性貢獻.Patte rson現為Google傑出工程師,之前為加州大學伯克利分校教授。他曾任ACM主席一職。目前是ACM和IEEE會士,美國藝術與科學院和計算機歷史博物館院士,並入選了美國國家工程院,國家科學院和矽谷工程名人堂。他領導了RISCI的設計與實現工作,並且是RAID項目的領導者。

作者簡介(中文翻譯)

戴維·A。帕特森(David A. Patterson),與Hennessy共同榮獲了2017年度「圖靈獎」,以表彰他們在計算機體系結構領域的開創性貢獻。帕特森現為Google傑出工程師,之前是加州大學伯克利分校的教授。他曾擔任ACM主席一職。目前是ACM和IEEE會士,美國藝術與科學院和計算機歷史博物館院士,並入選了美國國家工程院、國家科學院和矽谷工程名人堂。他領導了RISCI的設計與實現工作,並且是RAID項目的領導者。

目錄大綱

CHAPTERS 
1 Computer Abstractions and Technology 
1.1 Introduction 
1.2 Eight 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 i7 
1.10 Fallacies and Pitfalls 
1.11 Concluding Remarks 
1.12 Historical Perspective and Further Reading 
1.13 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 lava 
2.16 Real Stuff: MIPS Instructions 
2.17 Real Stuff: x86 Instructions 
2.18 Real Stuff: The Rest of the RISC-V Instruction Set 
2.19 Fallacies and Pitfalls 
2.20 Concluding Remarks 
2.21 Historical Perspective and Further Reading 
2.22 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 x86 
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 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 via Instructions 
4.11 Real Stuff: The ARM Cortex-A53 and Intel Core i7 Pipelines 
4.12 Going Faster: Instruction-Level Parallelism and Matrix Multiply 
4.13 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations 
4.14 Fallacies and Pitfalls 
4.15 Concluding Remarks 
4.16 Historical Perspective and Further Reading 
4.17 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 ot 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 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

目錄大綱(中文翻譯)

第一章 
1. 電腦抽象和技術 
1.1 簡介 
1.2 電腦架構的八大重要概念 
1.3 程式下方 
1.4 覆蓋下方 
1.5 建構處理器和記憶體的技術 
1.6 效能 
1.7 電力壁 
1.8 海量變革:從單處理器到多處理器的轉變 
1.9 實際案例:基準測試 Intel Core i7 
1.10 謬誤和陷阱 
1.11 結論 
1.12 歷史觀點和進一步閱讀 
1.13 練習 

第二章 
2. 指令:電腦的語言 
2.1 簡介 
2.2 電腦硬體的操作 
2.3 電腦硬體的運算元 
2.4 有符號和無符號數字 
2.5 在電腦中表示指令 
2.6 邏輯運算 
2.7 做決策的指令 
2.8 電腦硬體中的程序支援 
2.9 與人溝通 
2.10 RISC-V 地址的廣泛立即數和地址 
2.11 並行性和指令:同步 
2.12 翻譯和啟動程式 
2.13 C 排序示例 
2.14 陣列與指標 
2.15 進階內容:編譯 C 和解釋 lava 
2.16 實際案例:MIPS 指令 
2.17 實際案例:x86 指令 
2.18 實際案例:RISC-V 指令集的其餘部分 
2.19 謬誤和陷阱 
2.20 結論 
2.21 歷史觀點和進一步閱讀 
2.22 練習 

第三章 
3. 電腦的算術 
3.1 簡介 
3.2 加法和減法 
3.3 乘法 
3.4 除法 
3.5 浮點數 
3.6 並行性和電腦算術:子字並行性 
3.7 實際案例:x86 中的流式 SIMD 擴展和高級向量擴展 
3.8 加速:子字並行性和矩陣乘法 
3.9 謬誤和陷阱 
3.10 結論 
3.11 歷史觀點和進一步閱讀 
3.12 練習 

第四章 
4. 處理器 
4.1 簡介 
4.2 邏輯設計慣例 
4.3 建構資料路徑 
4.4 簡單的實現方案 
4.5 流水線的概述 
4.6 流水線資料路徑和控制 
4.7 資料風險:前進與停滯 
4.8 控制風險 
4.9 例外 
4.10 透過指令的並行性 
4.11 實際案例:ARM Cortex-A53 和 Intel Core i7 的流水線 
4.12 加速:指令級並行性和矩陣乘法 
4.13 進階主題:使用硬體設計語言描述和建模流水線和更多流水線示例 
4.14 謬誤和陷阱 
4.15 結論 
4.16 歷史觀點和進一步閱讀 
4.17 練習 

第五章 
5. 大型且快速:利用記憶體階層 
5.1 簡介 
5.2 記憶體技術 
5.3 快取的基礎知識 
5.4 測量和改善快取效能 
5.5 可靠的記憶體階層 
5.6 虛擬機器 
5.7 虛擬記憶體 
5.8 記憶體階層的共同框架 
5.9 使用有限狀態機控制簡單快取 
5.10 並行性和記憶體階層:快取一致性 
5.11 並行性和記憶體階層:廉價磁碟陣列 
5.12 謬誤和陷阱 
5.13 結論 
5.14 歷史觀點和進一步閱讀 
5.15 練習