基本信息
作 者:Hisa Ando 著 李劍 譯
出 版 社:電子工業出版社
出版時間:2012-10-01
版 次:1
頁 數:356
裝 幀:平裝
開 本:16開
內容簡介
《支撐處理器的技術:永無止境地追求速度的世界》用通俗易懂的語言和大量的插圖,介紹了處理器的歷史、基本結構、實現原理等,還對時下流行的虛擬化技術、多任務、多核心、GPGPU等進行了全面的講解,並介紹了有效利用處理器的各種功能來提高應用程式性能的方法。《支撐處理器的技術:永無止境地追求速度的世界》最後還介紹了處理器在移動設備、汽車、家電等方面的套用,並展望處理器的未來發展趨勢,希望能對相關軟硬體的開發者有所幫助。
作者簡介
Hisa Ando
擁有40年尖端處理器的開發經驗。曾作為SPARC架構委員會委員參與了SPARC V9架構的開發,後作為HAL公司副總裁兼處理器開發部總經理參與了SPARC64的開發。後來又擔任過富士通株式會社計算機事業本部的技師長等職務。現在作為技術作家,主要從事處理器、超級計算機相關的報導和介紹等。此外,還擔任了幾所大學的客座講師,負責計算機架構的課程。擁有工學博士學位。
目錄
第1章 處理器與計算機系統的基礎
1.1 計算機的結構
計算機組成部分――處理器、記憶體、輸入/輸出設備
專欄處理器封裝的物理結構
計算機使用二進制進行計算
專欄2值和多值非二進制不可嗎?不一定!
處理器――計算機的大腦,負責解釋程式
專欄處理器、微處理器的定義計算機最重要的組件
――處理器
專欄流水線級
專欄表示數量級的前綴
記憶體――存儲計算機的指令和數據
輸入/輸出設備――計算機的眼睛、耳朵和嘴巴
北橋和南橋――逐漸淡化的稱呼
1.2 支撐計算機高速化的半導體技術
摩爾(Moore)定律――更多的電晶體,更高的並行度
縮放定律――電晶體的性能提升
源源不斷的開發投資帶來的半導體微型化――微型化的步伐
還將長期維持
提升性能的三大支柱――提高頻率、並行處理和功能擴展
1.3 計算機和數據表示方法
位元組、半字、字――比特組及用途
文字編碼
專欄日語與文字編碼
無符號整數與有符號整數、反碼與補碼錶示法
浮點小數――IEEE754標準
BigEndian與LittleEndian
1.4 處理器和指令
指令架構入門
機器指令――處理器的指令
地址空間
專欄AMD和Intel的64位擴展架構
1.5 機器指令程式編寫方法
用彙編語言編程
利用編譯器進行高級語言編程
解釋語言編程
1.6 小結
專欄半導體的微型化
第2章 處理器發展史
2.1 計算機之前的計算設備
算盤――最早的計算工具
納皮爾算籌(Napier'sbones)――乘法輔助工具
機械式計算機――Schikard計算機、Pascaline
巴貝奇的差分機――使用齒輪的超級計算機
2.2 最早的電子計算機
最早的電子計算機――ABC和ENIAC
FUJIC――日本最早的電子計算機
2.3 處理器組成元件的變遷
根據主要部件劃分計算機的時代
第1代:真空管
第2代:電晶體
第3代:積體電路
第4代:大規模積體電路(VLSI)
VLSI處理器的元件數目和時鐘頻率的發展趨勢
2.4 指令架構的變遷
指令架構的發展之路
存儲程式的計算機――程式也從記憶體中讀入
虛擬記憶體――更加豐富、取之不盡的記憶體
多任務――需要改變程式的部署
分時系統與記憶體管理設施的出現
專欄MULTICS之後的事
記憶體管理機構、特權態――多用戶需要解決安全問題
指令架構擴展――指令架構的確立與指令兼容性的實現
2.5 微架構的發展
微架構的發展之道
流水線處理――通過流水線暫存器有效利用硬體
運算器的高速化――整數運算器、浮點數運算器
高速快取――解決內存訪問問題的錦囊
RISC的出現――RISC與CISC
超標量執行――一個周期內執行多條指令
亂序執行――改變指令順序以提高性能
專欄亂序執行(OutofOrder):請注意!?
分支預測與預測執行――“條件分支指令”對策
多核心――耗電量的限制推動了多核心的發展
2.6 處理器的用途越來越廣泛
活躍在各種舞台的處理器
節能、高可靠技術、實時性――各種各樣的需求
2.7 小結
第3章 [詳解]面向程式設計師的處理器架構
3.1 支撐微架構的技術
流水線執行的原理――並行處理指令
高速快取的構造――提高記憶體訪問速度
RISC與CISC――定長指令與變長指令
提高運算器的速度――處理器中因處理複雜而處理時間長
的組件之一
超標量執行的原理――一個周期內並行執行多條指令
亂序執行的原理――減輕數據冒險的影響
分支預測的原理――降低控制冒險造成的損失
現代處理器會消除或減輕各種冒險以提高性能
記憶體、I/O與輸入/輸出接口
性能計數器――性能分析器和處理器內部執行狀況的信息
3.2 架構擴展擴大了處理器的使用範圍
多任務和記憶體管理機構
中斷處理機構
專欄異常、中斷、陷阱――術語整理
虛擬化支持――記憶體訪問和記憶體管理機構
多媒體、加密等支持――需要大量數據的計算
3.3 x86Nehalem架構處理器
x86的指令體系和Intel64架構
Corei7處理器的結構
記憶體管理採用4級頁表
新的處理器接口QPI
3.4 小結
第4章 虛擬化支持
4.1 虛擬化的目的和優缺點
虛擬化的基礎知識(複習)
虛擬化的目的
實現用戶間強隔離――虛擬化的優點
集合多台伺服器,提高利用率――虛擬化的優點
VMM運行時的額外開銷――虛擬化的缺點、注意點
4.2 實現虛擬化的條件
為作業系統提供獨立的(虛擬)硬體的VMM
4.3 支撐虛擬化的硬體設施
檢測硬體操作命令
硬體狀態的保存和還原――切換虛擬機
雙重地址轉換、TLB
I/O的虛擬化
實時遷移(LiveMigration)
4.4 小結
專欄虛擬化的前世今生
第5章 多處理器的出現和普及
5.1 多執行緒處理器
執行緒、多執行緒的紛繁蕪雜(!?)――首先總結一下術語
多執行緒的兩種方式
VMT的原理――短時間內切換執行緒
SMT的原理――混雜執行多個執行緒的指令
專欄歷史悠久的SMT
SMT必需的機制
多執行緒的效果如何――通過Windows任務管理器查看效果
5.2 多處理器系統
多處理器、多核心是什麼意思
多核心處理器的結構
專欄眾核處理器(Many-coreprocessor)的結構
快取一致性控制――多處理器之間快取的一致性
多插槽系統
專欄插槽還是晶片
專欄多核心時代的處理器、CPU的含義
提高多處理器系統的性能――問題和解決方案
共享記憶體系統和分散式記憶體系統
5.3 小結
第6章 處理器周邊技術
6.1 記憶體技術
記憶體歷史概覽
DRAM記憶體的工作原理――利用電荷存儲信息
DRAM晶片和記憶體DIMM
DRAM晶片的內部結構――記憶體單元陣列、行/列解碼器、
檢測放大器、Bank
處理器和DIMM的連線
記憶體系統的錯誤處理
6.2 輸入/輸出設備的連線
處理器的I/O連線
PCI匯流排
專欄通向PCI匯流排之路
IntelCorei系列處理器的I/O結構
IntelPCH的I/O控制結構
6.3 小結
專欄DRAM的刷新
第7章 GPGPU和超並行處理
7.1 GPGPU的原理
3D圖形和GPU――需要大量計算
GPU系統
從GPU到GPGPU
作為“超並行SIMD處理器”的GPGPU
作為“超多執行緒處理器”的GPGPU
專欄Warp!
GPGPU的記憶體層次結構
GPGPU中的多執行緒需要分割使用通用暫存器
CPU和GPGPU的巨大區別
7.2 GPGPU編程
現代GPGPU編程
CUDA的運行模型――執行緒塊、格線
CUDA中的函式聲明和變數聲明
OpenCL編程
如何發揮GPGPU的性能
7.3 小結
專欄Top500和GPU計算
第8章 處理器的發展趨勢
8.1 耗電量是決定因素
為何處理器要消耗電力
節能技術的發展
8.2 更高、更快、更強
半導體細微化技術
如何有效利用增加的電晶體
利用部分電晶體降低生產成本
有效利用部分塊不合格的晶片
8.3 更可靠、更安全的處理器設計
為何處理器會有錯誤行為――故障、噪聲
防止錯誤行為,確保全全運轉
8.4 未來處理器的發展方向
無處不在的處理器
家電用處理器
汽車用處理器
個人計算機用處理器
智慧型手機用處理器
伺服器用處理器
8.5 小結