-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

支撐處理器的技術——永無止境地追求速度的世界

( 簡體 字)
作者:李劍類別:1. -> 電子工程 -> 電子電氣
   2. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社支撐處理器的技術——永無止境地追求速度的世界 3dWoo書號: 33965
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:10/1/2012
頁數:356
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121180927
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

關于本書


2010年,全世界每天都會售出100萬臺個人計算機,這些計算機的核心就是處理器。其實不僅是個人計算機,汽車、家電,特別是手機中也有處理器的身影。幾乎所有的手機中嵌入的ARM處理器都是由英國的ARM公司開發的,而據ARM公司2010年的報告,當年ARM處理器的累計銷售總量超過了200億個。僅ARM一家公司,每年就會生產40億個ARM處理器,這個數值超過全世界人口的一半。所以,我們生活的世界,是由地球總人口好幾倍多的處理器支撐著的。此外,Google這類搜索引擎、銀行ATM、鐵路運管系統等社會基礎設施也離不開處理器,我們無法想象沒有這些系統的生活。
回顧歷史,人們從古代就為了實現簡單、高速的計算而花費了很大精力。從算盤等計算輔助工具,到使用齒輪制作機械式加法器和乘法器,后來又采用電子線路代替齒輪以實現更快的速度。第一臺計算機ENIAC于1946年完成并投入使用,它是個像房子那么大的龐然大物,每秒能進行5000次計算,耗電量約為150kW。與之相比,現代微處理器的性能為每秒100多億次以上計算,個人計算機的整體最大耗電量約為300W。這就是說,計算性能提升了200萬倍,耗電量下降到了1/500。
其實,從最初的電子計算機到現在僅用了60年時間。細數飛躍進步的原因,功勞最大的當然要數從真空管到晶體管再到LSI(Large Scale Integration,大規模集成電路)的電路技術的進步。而另一方面,追求高速運行的計算機體系結構的進步也為之做出了巨大貢獻。
盡管處理器性能一直在飛速發展,但最近由于耗電量的限制,單核心的性能提高速度變慢了。人們開始從多線程、多核心化方面提升性能,并通過虛擬機、安全等技術努力提高可用性。另外,不僅是傳統的計算機,智能手機、上網本等移動設備也使用了強大的處理器,由于電池續航能力的要求,處理器還在朝著節能方向發展。
如上所述,處理器在持續發展以適應時代與需求的變化。個人計算機被貼上了“Intel Inside”的標志,就連對硬件技術毫無興趣的人也知道微處理器,至少知道處理器這個名字。另一方面,隨著科技的發展,處理器也變得極端復雜,其構造與使用技巧很難得到廣泛的認知。
但是,是理解處理器的構造和運行原理,還是把它當做黑盒使用而不知其所以然,兩者的使用效果難道沒有差別嗎?就像開車,要是只想把車開走,當然不必了解汽車的結構及結構帶來的性質差異;但要是能夠理解這些,不就能開得比較“拉風”,或比較省油了?
本書主要以希望提高計算機系統運行效率的程序員為對象,講解處理器中使用的高性能化技術與構造,并介紹怎樣寫程序才能讓處理器高效運行。提到處理器的設計,有些人可能會聯想到與門、或門等邏輯電路之類的硬件設計,但本書內容處于邏輯電路的上層,主要以“微體系架構”和“指令架構”這些程序員使用的接口為中心,介紹處理器的結構與運行原理。
處理器處于各種計算機的核心位置,如今在移動設備乃至社會基礎設施中都扮演著舉足輕重的角色。希望本書能在理解處理器的發展、熟練掌握處理器方面助你一臂之力。

2010年11月
Hisa Ando




本書的結構


本書以程序員為主要對象,以通俗易懂的方式說明處理器的結構和使用技巧。以下是各章內容。
第1章 處理器與計算機系統的基礎
第1章作為緒論,通俗易懂地介紹了處理器、使用處理器的計算機的概要及術語,以便初次接觸處理器、計算機硬件的讀者也能夠理解第2章以后的內容。
第2章 處理器發展史
第2章說明計算機器的發展史,以及那些提高處理器性能、簡化使用方法的技術。本章的目標是讓讀者理解處理器的發展歷程和采用技術的概要。
第3章 〔詳解〕面向程序員的處理器架構
第4章 虛擬化支持
第5章 多處理器的出現和普及
第3章到第5章是本書的中心。第3章具體介紹流水線處理、緩存、亂序執行等提高處理器速度的技術,以及內存管理、虛擬化、多媒體處理等擴大處理器使用范圍的技術。我們將給出程序例子,通俗易懂地介紹程序員應當如何高效地使用處理器。另外,第3章還介紹了個人計算機和服務器中廣泛使用的Intel處理器的構造。
第4章說明最近的云計算系統等必不可少的虛擬化,以及虛擬化的實現機制,與提高虛擬機系統效率的注意事項。
第5章就最近流行的多線程、多核心處理器,介紹其出現的背景和使用的技術,介紹高效利用多核心處理器時的要點。
第6章 處理器周邊技術
第6章介紹處理器周邊技術,它與處理器同樣是計算機系統的重要構成因素,包括負責存儲的內存和處理器相連的輸入/輸出設備接口的結構與運作方式。
第7章 GPGPU與超并行處理
第7章著眼于最近以其高計算處理能力而備受關注的GPU(Graphics Processing Unit)、GPGPU(General Purpose GPU),本章介紹其結構,以及將它作為計算引擎時的注意事項。
第8章 處理器的發展趨勢
最后在第8章中以今后處理器的發展為焦點,探討技術的發展方向和各種用途的處理器的發展方向。


中文版書中切口處的“  ”表示原書頁碼,便于讀者與原日文版圖書對照閱讀,本書索引所列頁碼為原日文版頁碼。
內容簡介:

本書用通俗易懂的語言和大量的插圖,介紹了處理器的歷史、基本結構、實現原理等,還對時下流行的虛擬化技術、多任務、多核心、GPGPU等進行了全面的講解,并介紹了有效利用處理器的各種功能來提高應用程序性能的方法。
本書最后還介紹了處理器在移動設備、汽車、家電等方面的應用,并展望處理器的未來發展趨勢,希望能對相關軟硬件的開發者有所幫助。

目錄:

第1章 處理器與計算機系統的基礎 1
1.1 計算機的結構 2
計算機組成部分——處理器、內存、輸入/輸出設備 2
專欄 處理器封裝的物理結構 4
計算機使用二進制進行計算 4
專欄 2值和多值 非二進制不可嗎?不一定! 5
處理器——計算機的大腦,負責解釋程序 6
專欄 處理器、微處理器的定義 計算機最重要的組件
——處理器 7
專欄 流水線級 8
專欄 表示數量級的前綴 10
內存——存儲計算機的指令和數據 13
輸入/輸出設備——計算機的眼睛、耳朵和嘴巴 18
北橋和南橋——逐漸淡化的稱呼 21
1.2 支撐計算機高速化的半導體技術 22
摩爾(Moore)定律——更多的晶體管,更高的并行度 22
縮放定律——晶體管的性能提升 24
源源不斷的開發投資帶來的半導體微型化——微型化的步伐
還將長期維持 24
提升性能的三大支柱——提高頻率、并行處理和功能擴展 25
1.3 計算機和數據表示方法 26
字節、半字、字……——比特組及用途 26
文字編碼 27
專欄 日語與文字編碼 28
無符號整數與有符號整數、反碼與補碼表示法 29
浮點小數——IEEE 754標準 30
Big Endian與Little Endian 32
1.4 處理器和指令 34
指令架構入門 34
機器指令——處理器的指令 36
地址空間 36
專欄 AMD和Intel的64位擴展架構 38
1.5 機器指令程序編寫方法 39
用匯編語言編程 39
利用編譯器進行高級語言編程 40
解釋語言編程 41
1.6 小結 43
專欄 半導體的微型化 44
第2章 處理器發展史 46
2.1 計算機之前的計算設備 47
算盤——最早的計算工具 48
納皮爾算籌(Napier’s bones)——乘法輔助工具 49
機械式計算機——Schikard計算機、Pascaline 50
巴貝奇的差分機——使用齒輪的超級計算機 52
2.2 最早的電子計算機 53
最早的電子計算機——ABC和ENIAC 53
FUJIC——日本最早的電子計算機 54
2.3 處理器組成元件的變遷 55
根據主要部件劃分計算機的時代 55
第1代:真空管 55
第2代:晶體管 56
第3代:集成電路 57
第4代:大規模集成電路(VLSI) 58
VLSI處理器的元件數目和時鐘頻率的發展趨勢 61
2.4 指令架構的變遷 62
指令架構的發展之路 62
存儲程序的計算機——程序也從內存中讀入 63
虛擬內存——更加豐富、取之不盡的內存 64
多任務——需要改變程序的部署 66
分時系統與內存管理設施的出現 67
專欄 MULTICS之后的事 68
內存管理機構、特權態——多用戶需要解決安全問題 68
指令架構擴展——指令架構的確立與指令兼容性的實現 69
2.5 微架構的發展 70
微架構的發展之道 70
流水線處理——通過流水線寄存器有效利用硬件 72
運算器的高速化——整數運算器、浮點數運算器 73
高速緩存——解決內存訪問問題的錦囊 74
RISC的出現——RISC與CISC 76
超標量執行——一個周期內執行多條指令 77
亂序執行——改變指令順序以提高性能 78
專欄 亂序執行(Out of Order):請注意!? 80
分支預測與預測執行——“條件分支指令”對策 80
多核心——耗電量的限制推動了多核心的發展 81
2.6 處理器的用途越來越廣泛 82
活躍在各種舞臺的處理器 82
節能、高可靠技術、實時性——各種各樣的需求 83
2.7 小結 83
第3章 〔詳解〕面向程序員的處理器架構 86
3.1 支撐微架構的技術 87
流水線執行的原理——并行處理指令 87
高速緩存的構造——提高內存訪問速度 99
RISC與CISC——定長指令與變長指令 112
提高運算器的速度——處理器中因處理復雜而處理時間長
的組件之一 116
超標量執行的原理——一個周期內并行執行多條指令 126
亂序執行的原理——減輕數據冒險的影響 128
分支預測的原理——降低控制冒險造成的損失 134
現代處理器會消除或減輕各種冒險以提高性能 140
內存、I/O與輸入/輸出接口 141
性能計數器——性能分析器和處理器內部執行狀況的信息 147
3.2 架構擴展擴大了處理器的使用范圍 149
多任務和內存管理機構 149
中斷處理機構 155
專欄 異常、中斷、陷阱——術語整理 156
虛擬化支持——內存訪問和內存管理機構 160
多媒體、加密等支持——需要大量數據的計算 162
3.3 x86 Nehalem架構處理器 167
x86的指令體系和Intel 64架構 167
Core i7處理器的結構 175
內存管理采用4級頁表 180
新的處理器接口QPI 184
3.4 小結 185
第4章 虛擬化支持 188
4.1 虛擬化的目的和優缺點 189
虛擬化的基礎知識(復習) 189
虛擬化的目的 190
實現用戶間強隔離——虛擬化的優點 190
集合多臺服務器,提高利用率——虛擬化的優點 191
VMM運行時的額外開銷——虛擬化的缺點、注意點 193
4.2 實現虛擬化的條件 194
為操作系統提供獨立的(虛擬)硬件的VMM 195
4.3 支撐虛擬化的硬件設施 196
檢測硬件操作命令 196
硬件狀態的保存和還原——切換虛擬機 198
雙重地址轉換、TLB 199
I/O的虛擬化 203
實時遷移(Live Migration) 207
4.4 小結 208
專欄 虛擬化的前世今生 209
第5章 多處理器的出現和普及 211
5.1 多線程處理器 212
線程、多線程的紛繁蕪雜(!?)——首先總結一下術語 212
多線程的兩種方式 213
VMT的原理——短時間內切換線程 214
SMT的原理——混雜執行多個線程的指令 216
專欄 歷史悠久的SMT 216
SMT必需的機制 217
多線程的效果如何——通過Windows任務管理器查看效果 219
5.2 多處理器系統 222
多處理器、多核心是什么意思 222
多核心處理器的結構 223
專欄 眾核處理器(Many-core processor)的結構 224
緩存一致性控制——多處理器之間緩存的一致性 225
多插槽系統 231
專欄 插槽還是芯片 234
專欄 多核心時代的處理器、CPU的含義 236
提高多處理器系統的性能——問題和解決方案 238
共享內存系統和分布式內存系統 244
5.3 小結 246
第6章 處理器周邊技術 249
6.1 內存技術 250
內存歷史概覽 250
DRAM內存的工作原理——利用電荷存儲信息 251
DRAM芯片和內存DIMM 254
DRAM芯片的內部結構——內存單元陣列、行/列解碼器、
檢測放大器、Bank 256
處理器和DIMM的連接 258
內存系統的錯誤處理 259
6.2 輸入/輸出設備的連接 265
處理器的I/O連接 265
PCI總線 266
專欄 通向PCI總線之路 267
Intel Core i系列處理器的I/O結構 272
Intel PCH的I/O控制結構 273
6.3 小結 273
專欄 DRAM的刷新 274

第7章 GPGPU和超并行處理 276
7.1 GPGPU的原理 277
3D圖形和GPU——需要大量計算 277
GPU系統 279
從GPU到GPGPU 280
作為“超并行SIMD處理器”的GPGPU 281
作為“超多線程處理器”的GPGPU 283
專欄 Warp! 284
GPGPU的內存層次結構 285
GPGPU中的多線程需要分割使用通用寄存器 287
CPU和GPGPU的巨大區別 288
7.2 GPGPU編程 289
現代GPGPU編程 290
CUDA的運行模型——線程塊、網格 290
CUDA中的函數聲明和變量聲明 292
OpenCL編程 293
如何發揮GPGPU的性能 295
7.3 小結 303
專欄 Top500和GPU計算 304
第8章 處理器的發展趨勢 306
8.1 耗電量是決定因素 307
為何處理器要消耗電力 307
節能技術的發展 310
8.2 更高、更快、更強 313
半導體細微化技術 314
如何有效利用增加的晶體管 315
利用部分晶體管降低生產成本 316
有效利用部分塊不合格的芯片 318
8.3 更可靠、更安全的處理器設計 320
為何處理器會有錯誤行為——故障、噪聲 320
防止錯誤行為,確保安全運轉 322
8.4 未來處理器的發展方向 323
無處不在的處理器 324
家電用處理器 324
汽車用處理器 324
個人計算機用處理器 325
智能手機用處理器 325
服務器用處理器 327
8.5 小結 329
索引 331
序: